Today in #DevOpsClock:
Implemented timezone data lookup, so now you configure the device with the timezone name instead of the UTC offset. Also implemented caching data in non-volatile memory, so startup is faster.
Next up is actually implementing SSE (Event Source) and getting back to the actual point of this whole project.
Previously on #DevOpsClock , I got started setting up docserv as a Django+channels project, and dug into serving timezone data so clocks can automatically adjust for DST and such without having to deal with embedded tzdata or whatever.
I also discovered that nobody answers the question "when is the next DST change". Not libraries, not APIs. No one. So I guess I gotta dig into the internals of one of these and calculate it for myself.
Be proud of me.
Speaking of, the wonderful @agmlego helped me with a #DevOpsClock physical build this weekend. (This is why you get a girlfriend, to help you build clocks.)
These are the Mk0 and Mk1 builds!
The Mk0 is just an adafruit magtag in a 3D printed case. I used it to play with NTP and MQTT and stuff, primarily because it was handy on my desk.
The Mk1 is a harvested clock face in a 3D printed case, using an ESP32 WROOM micro. (Right now it's running a test pattern I used to test the face.)
Ok, gonna wrap up work on #DevOpsClock / #CircPy tonight
I got basic file pull working! So now I can pull files off my ESP32.
https://github.com/AstraLuma/circpy
Next up is going to be pushing files, and then I can actually make my new clock a clock.
Today in #DevOpsClock:
CircuitPython or MicroPython?
Current status on #DevOpsClock:
The TM1640 is _almost_ (but not quite) SPI.
It took us four hours to figure this out.