While writing a chapter on packet data transfer over the USARTs I realized that I could easily aim it more toward a future chapter on MODBUS with a little rewrite, so I did so. It now has timeouts and still works using callback functions, if desired. It makes for really slick demonstration programs!
And while working on this I realized that that the preceding section demonstrating different program organization methods was missing one using callback functions. Since callback functions are an integral part of all the chapters that follow, I just had to add another programming method (using callback functions), and then I added two demonstration programs for that.
Coming up will be an interrupt driven driver for common, inexpensive DHT11 temperature and humidity module. I’m taking a completely different design approach that the others out there (which seem to be based on a Adafruit design) that takes up much less code and data memory space. I’ll report back if it doesn’t work, and say here what I did if it does.
On the Meta front, I’ve spent a bit of time and money improving my home networking setup. Having first “cut the cord” for TV service and then dropping YouTubeTV after it went from $40 up to $60/month, I bought an antenna, an HDHomeRun, and hooked it up through my existing Plex server to get local channels with DVR. It took two months to pay for it in savings. I also replaced my Ziply Fiber supplied Actiontec router with a UniFi Security Gateway which took over the DHCP, DNS, DDNS, and VPN services I was doing with my home Mac mini server. That did suck up a good deal of time. Note that the VPN is as a server, not as a client. This allows me to access my home network securely when I’m not at home as well as pass all traffic through home so nobody in a public place can snoop. https://almy.us/server.html