I am using a 2.9 inch epaper display from Waveshare, with GxEPD library, working very well with the old display.
With the new display, Rev 2.1, and GxGDEM029T94.h, I found a very strange behaviour of the display. The backgroung image is shown for few seconds after the start and then, the image dimms in 2 or 3 sec and nothing is shown again forever. It is, for shure, my fault because the display work well with the example of the library. My question is: Where I was wrong? Any suggestion is wellcome. Thanks in advance,
Angelo
Waveshare uses a new version of the the panel. Their actual board is marked V2.
Version 1.3.6
- added support for Waveshare 2.9" b/w V2, driver class GxEPD2_290_T94_V2
- Waveshare 2.9" b/w V2 uses a GDEM029T94 variant without partial update wft in OTP
- driver class GxEPD2_290_T94_V2 uses partial update wft written to registers
- added NOTE for RST pull-up on ESP8266 with "clever" reset circuit, or alternate pin
There will be an update to GxEPD, but not in the near future.
Thank you Jean-Mark for your fast answer.
I followed his suggestion.
Actually the test included in the GxEPD2 library works but there are a couple of problems:
- my soft is old but functional and uses the library GxEPD;
- I use the partial update of the display which, if I understand correctly, is not supported by GxEPD2.
You probably remember I had the same problem in May and you were kind enough to bring the libraries for the 2.9 display in T94 in GxEPD.
Can the same thing be done for the T94_V2?
Alternatively, I can rewrite all the soft with the GXEPD2 libraries but it takes a lot of time and, above all, I should understand how to implement the partial display update or display.updateWindow in GxEPD2
Thanks again for your answer,
Angelo
Yes, it should be quite easy. But I am in the midst of an update to an other library.
Tell me if you have patience to wait for about 2 weeks.
Partial update is supported by GxEPD2.
Jean-Marc
Thank you again,
yes, I can wait a couple of week.
In mean time, I can try to upgrade to GxEPD2 library.
If successful, I will avoid to ask to your help any time!
Angelo
Dear Jean-Mark I have a small question concerving the porting of my soft from GxEPD to GxEPD2.
I use a 2.9" epaper with ESP32 and, as I said before, the V2 does not work with my soft.
In my soft I used the well know tecnique to have a background image and several parttial field. I update all the partial field each by each and a unique general update at the end of the routine using
display.updateWindow( 0 , 0 , 295 , 127 , true);
Now I did not find this command in GxEPD2 library but the example suggest to update each single field using:
display.setPartialWindow(5, 70, 100, 10);
display.firstPage();
do {
display.fillRect(5, 70, 100, 10, GxEPD_WHITE);
display.setCursor(5, (70+10-2));
display.print("Prova testo");
}
while (display.nextPage());
It work but it is rater slow.
Does something like display.updateWindow exist in GxEPD2?
Thanks a lot,
Angelo
Yes. Your question implies you use full buffered graphics, which is possible on ESP32 for your display.
GxEPD2 also has support for use of full buffered graphics. See e.g. GxEPD2_NotPagedExample.ino.
The methods to use are named differently, e.g. display.display(), See in GxEPD2_BW.h:
// display buffer content to screen, useful for full screen buffer
void display(bool partial_update_mode = false)
// display part of buffer content to screen, useful for full screen buffer
// displayWindow, use parameters according to actual rotation.
// x and w should be multiple of 8, for rotation 0 or 2,
// y and h should be multiple of 8, for rotation 1 or 3,
// else window is increased as needed,
// this is an addressing limitation of the e-paper controllers
void displayWindow(uint16_t x, uint16_t y, uint16_t w, uint16_t h)
Jean-Marc
Dear Jean-Mark,
thank you for your fast end exaustive suggestions.
the example GxEPD2_NotPagedExample.ino work fine. It require just to add the selection GxEPD2_BW<GxEPD2_290_T94_V2, ....
The porting of my soft from GxEPD to GxEPD2 was successful and I do not need the upgrading of GxEPD to T94-V2.
Thank you very much for your availability and you help.
Best regards, Angelo