I am looking to try and accelerate development - with this model GDEW0213Z16. This is tri-colour. Thanks
@armor, I just made a mesh weather project with the Waveshare 2.9b and have a 2.9 two-colour display on order. What exactly are you looking for?
I just received 4 Good Display brand 2.13" e-ink screens (212 x 104 pixels) tri-colour with a SPI interface board. I would like to use a proven library (with Adafruit GFX support?). Thanks
@armor, you might want to check out this library. I’ll be testing it on my Waveshare display in the next few days.
@peekay123 Thanks - I didn’t look further than Arduino in the Github it has support for all the Good Display e-paper displays.
Fair warning! The tri-color eInk displays are extremely slow to update, particularly the second color. This had a low user-acceptance factor for me.
The monochrome Waveshare 2.9b has a good update speed and supports partial refresh, which I haven’t tested yet. I have a three-colour unit on order so I can’t speak to its update speed.
@peekay123 I had a look at ZinggJM’s GxEPD on Github. Actually GxEPD2 appears to be more suitable. I have never seen anything as complicated with support for +10 displays and numerous boards/processors. I would appreciate some guidance with getting this translated from Arduino into the Particle world.
@armor that is a u8glib-esque library with a varied folder structure. I will need to test compiling it with Workbench to see how much porting is needed.
@peekay123 I thought u8glib was for OLED displays? There are definitely references to Adafruit_GFX in this and it proposes to support Arduino devices? The build errors I am getting show that there are no functions to support setCursor(), drawChar(), println() and others but not all GFX primitives. That is why I am a bit confused. The library you first mentioned appeared to be even less portable.
@armor, I called it u8glib-“esque” as it reminds me of the same configuration methods. To be honest, I don’t worry about Arduino portability but if that’s important to you then there may be lots of work to do to make it work with Particle devices. I am testing it with Workbench to gauge how much work.
Happy to share where I have got to - maybe you can see through what I am missing?
Looking for help/advice about how to get this to compile - gxepd2.ino to be able to test a GoodDisplay 2.13" b/w/r e-paper display.
I am now getting 3 errors
Error 1 - not sure how I can get into this community library and why does it have a fault - wrong version?
Error 2 - this is the code snippet
Error 3 - I understand that
display.setFont(&FreeMonoBold9pt7b);
is called and that setFont is not defined in the header file, the creation of the class is the bit I am confused about.
I think to remember seeing similar issues with other libraries that declare their own version of swap()
.
Try #undef swap
before defining your own.
I’d usually write lines 351 & 352 this way
template <typename T>
static inline void swap(T & a, T & b)
Maybe this clears up some of the confusion, and only leaves the template
line for discussion.
I’m not sure how adept you are with C++, but that is a feature to allow writing one implementation of a function that can deal with multiple different datatypes instead of writing multiple ones for each thinkable datatype.
http://www.cplusplus.com/doc/oldtutorial/templates/
@ScruffR Thanks Adafruit_GFX.h
contains this #define swap(a, b) { int16_t t = a; a = b; b = t; }
so the change you suggested has cleared 2 errors. I am not that adept with C++ vs. C - thanks for the explanation which is clear.
I am just left now with a mystery about why the Adafruit_GFX library does not contain a method setFont - I bet that is in Adafruit_mfGFX! Or rather why Adafruit_GFX is included rather than Adafruit_mfGFX.
@armor, I would suggest you use the Adafruit_GFX_RK library which is the newer Adafruit_GFX library adapted by @rickkas7. It has both the setFont() function and the FreeMonoBold9pt7b font as well.
@armor, can you share your adapted library? It would save me a lot of time
Sure - I have hacked the libraries for a 2.13" colour display so you would need to replace for you display. There is still a lot of unused code .h and .cpp files - I will try and tidy it up.
I need to understand how these work - the black text takes a couple of flashes to settle and red takes longer - something to do with writing pages to the screen.
Do you have any free samples for the community to try out and share on here with others?