agrajag dev log 3

Refactor, refactor, refactor.

I'm now calling the book format edf: the embedded document format. I pulled the code I'd written out of the agrajag sandbox and cleaned it up. It's now shareable between std and no_std environments so that it can power a CLI tool for converting documents from Markdown to edf as well as do onboard parsing for agrajag. Still no formal tests, but have at it:

https://github.com/pgavlin/edf

I did end up writing a touchscreen driver, but I haven't yet used it. Mainly because interrupts are hard and nobody likes busy waiting. Instead, I spent my time on loading fonts + documents from the Inkplate's SD card rather than baking everything into ROM. This was also motivated by the increasingly long flashing times as more and more data was bundled into the firmware image itself. It's still not exactly a fast process at ~25 seconds, but it's a hell of a lot faster than where it was.

I'll probably faff around a bit more in order to get heading styles working in the Markdown-to-edf converter before I spend more time on touchscreen input.

I also have all of the bits I need to start playing around with the future hardware platform. That should be a good test of how nicely the stack I've built things on generalizes, as the future hardware will run on an STM32H7 instead of an ESP32.