maybe the changes I did in a bigger refactoring of my LCD-lib would be of interest for you. Especially the zero-cost abstraction of CGRAM and DDRAM, which guaranties exclusive access at compile time. I also added correct handling of some rare edge cases like address overflowing.
Unfortunately, I haven't had enough time to add support for the embedded-hal traits, yet. So maybe some of my implementations will be an inspiration for you to improve your API, fell free to reuse any of them.
Hi,
maybe the changes I did in a bigger refactoring of my LCD-lib would be of interest for you. Especially the zero-cost abstraction of CGRAM and DDRAM, which guaranties exclusive access at compile time. I also added correct handling of some rare edge cases like address overflowing.
https://github.com/kunerd/clerk/pull/35
Unfortunately, I haven't had enough time to add support for the embedded-hal traits, yet. So maybe some of my implementations will be an inspiration for you to improve your API, fell free to reuse any of them.
Cheers, Hendrik