Software
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.
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.
Kicad – Differential pair routing and trace length matching
In case you’ve missed it! Kicad is going to get some really nice features!
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. So i can call it from my own interrupt handler. And that is ugly.
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 :
“x-forwarded-server”,
“x-forwarded-for”,
“x-forwarded-host”,