Hi, I am new to ESP32 (or any micro controllers) and epaper displays, but I have BSC in electronics from 2005 and work as a frontend developer, so I do have some HW and SW engeneering knowlage.
I spent several weeks now learning and trying those with some success. However, no matter what I do, I can not make GxEDP2 library partial update work (even with the provided examples). I did have some success with the original Waveshare example (It did not work properly, but I can confirm that epaper display was indeed partially updating).
I am duing my Arduino in PlatformIO, but I don't think that has anything to do with my issue.
I probably am missing something or there has been some hardware update with 1.54 displays that the library is not taking into account yet.
I am using this constructor:
GxEPD2_BW<GxEPD2_154_D67, GxEPD2_154_D67::HEIGHT> display(GxEPD2_154_D67(/*CS=5*/ 9, /*DC=*/10, /*RST=*/11, /*BUSY=*/6)); // GDEH0154D67
The inking of the display: FPC-8101 REV.B
Waveshare 1.54inch e-Paper Module Rev2.1
As per the library instructions it says to use the special init() for "clever" reset. I could not find how to tell whether my display has this feature or not so I tried both init()'s with the same results.
That is what I am using:
display.init(9600, true, 2, false);
My board is ESP32-S3 Feather Adafruit
Here is a video of my display next to a console log with the No Paged Example example from the GxEPD2 library:
PS. I've started from using the GxEPD library first, and on _shutdown sequence the display lost about 50% of contrast. I could fix it in the library, by changing some data values, but the partial update did not work there as well so I opted for the GxEPD2.
That would be great if anyone could direct me on how I could approach debugging and fixing this issue.
Thanks a lot!
Vitally