Software

Getting there

A Teaser of What to expect from our upcoming WiFi connected 2 channel relay board. Web UI of the relay board Main control screen and part of the configuration Main control screen Part of the configuration Schedule editor Upgrade screen We will need beta testers if you are interested, please, drop us a line.

ESP8266 tcn75a driver

Hi, A simple i2c driver for the Microchip’s TCN75A thermometer – supports up to 8 thermometers. Driver works in one shot mode which is suitable for battery powered operations. The chip is with quite good specs for its price. Code at github esp_i2c_tcn75a . Usage: checkout user/user_main.c for example usage. Enjoy! 73  

esp8266 UDP debugging

After a lots of lots of wasted hours debugging an I2C driver it came out that the noise from the connected cheep USB2TTL converter is way too much. Would have lost months without the help of the new DS1054z scope i’ve got. So i came up with this – a simple UDP debugging. Simple socket to send udp messages. dbg Call dbg_udp_start(0) and you are ready to go. If you prefer not to flood your LAN with debug messages broadcasts then instead of 0 provide your workstation IP address.

ESP8266 – easy interrupts

While working on a current project i’ve faced an issue with code reuse. Espressif sdk allows only one interrupt handler for all GPIOs. That’s fine for monolithic code but since we like modular code a dispatcher comes handy. The little inconvenience i’ve had was like this. I wanted to use the drivers/key.c code but it does use the data argument , so i’ve had to modify it to use a global variable.

KiCad change fields visibility utility

$ open devlog I’ve back imported footprints for a .cmp file and I’ve misunderstood kicad’s question about the imported footprints visibility, so all went visible. And surprise, you can not edit visibility for all fields at once. So little utility was born – fixvis. Usage is pretty simple: ./fixvis file.sch fieldid newval where fieldid is: 0 - Reference 1 - Value 2 - Footprint 3 - Datasheet 4+ - custom newval: 0000 = visible, 0001 = hidden

Apache websockets with proxy_wstunnel and mosquitto

Spend last weekend trying to make apache with proxy_wstunnel to work. The solution recommended is to add this in the apache config: ProxyRequests off ProxyPass /mqtt ws://127.0.0.1:8082 ProxyPassReverse /mqtt ws://127.0.0.1:8082 But no matter what it is a no go. So, where is the problem? It’s the libwebsockets it doesn’t understand custom http headers X-… but apache adds some. To add support for them in the file lextable-strings.h append before the blank string :