I've started since 2 weeks to make plans and start a C++ component with the idea to make a multi-epaper component (Like GxEPD for Arduino) but for ESP-IDF. And I would like to know if there is anyone interested in:
- Collaborating
- Give C++ advice in case some my OOP is not right (I've only 1 yr and half experience so I need some more to get it right)
- Testing Epapers that you may have already at home
If it sparks any interest I started a WiKi here on the same repository where I'm testing this:
https://github.com/martinberlin/cale-idf/wiki
And I will be adding technical documentation of each Epaper, IC driver, etc. Along with information of how to implement the component and use it.
The mission is to make it:
- Extendable
Maintenable
Easy to add a new eink driver
Easy to implement and send stuff to your Eink
ESP-IDF only (No Arduino classes)
Human-understandable
Well documented
MODELX class
^ implements:
Main Epd Abstract class -> Get's IO injected(SPI) <- inherits Adafruit GFX (So we have geometric functions + fonts)
The ideal model is not yet there, since I would like to add a "Bridge class" between Epd and Adafruit GFX so you can just use another library for graphics if you want.
But apart of that I'm open also to any kind of critic and opinions. It's a complicated task since every epaper has a different EC driver inside and every of them requires different SPI commands and a LUT initialization table to wake up with the right settings.
One command wrongly sent and displays nothing at all or makes nice TV noise
For now this is implementing now only SPI displays but I will love to extend IO to also accept parallel Epapers that seem to work much faster.
So far one 2.13" model is showing my pixels but I'm working hard every weekend in adding more.