All,
I have added this OLED to libDaisy. The way the library was structured this was very easy. Kudos to Electrosmith for such a nice architecture. I have forked libDaisy and am prepared to make a pull-request.
I am currently adding this OLED.
To make a gray scale / color OLED work in the current architecture, I fix gray scale (or color). To add color will require a new template(?). My thinking is to add color as a function (e.g., SetColorFG() / SetColorBG()). This could work for both color and gray scale devices. Also, there should be a function for loading an image onto the OLED (color or b/w).
Aside: The one thing about the template architecture: it’s difficult to debug. I’m a little old-school: I use Segger Ozone for debug / test. It’s not much to look at but works great with Segger J-Link. It doesn’t look like much, but it’s the business. It’s really fast and relatively intuitive. However, it doesn’t grok templates. It doesn’t allow breakpoints in template-based expansion. This isn’t really a deal-breaker, but it is inconvenient.
I think there should be a new file in hid/display/oled_display_color.h that adds color capabilities to libDaisy and the specific drivers for these OLEDs in the dev directory. Thoughts?
To me, these changes seem obvious, and I was surprised there weren’t all kinds of OLEDs in the dev directory (color & b/w). Is there a need for this, or did I miss something?
ACV