I have an ESP32, connected to a Waveshare 5.65" 7-color Eink-display.
My problem is that the screen is not always displaying the image/text as intended. If you look at the image below, you can see that it has a very distinct red-like tint and the black appears a tad faded. This issue appears around every 3-4 times, I reboot - and sometimes even more often.
I have previously used a 2.9" b/w and it had no such quirk.
Here is the code, that displays the text:
Code: Select all
void Eink::showErrorOnScreen(String text) {
display.init();
display.setTextColor(GxEPD_BLACK);
display.setRotation(2);
display.setFont(&FreeSansBold18pt7b);
int16_t tbx, tby; uint16_t tbw, tbh;
display.getTextBounds(text, 0, 0, &tbx, &tby, &tbw, &tbh);
// center bounding box by transposition of origin:
uint16_t x = ((display.width() - tbw) / 2) - tbx;
uint16_t y = ((display.height() - tbh) / 2) - tby;
display.setFullWindow();
//display.setFullWindow();
display.firstPage();
do {
display.fillScreen(GxEPD_WHITE);
display.setCursor(x, y);
display.print(text);
} while (display.nextPage());
}
Since the display takes a long time to update, could it be related to the issue? Since it's a 7-color, it takes about twice that long to update fully.Busy Timeout!
However, shouldn't the displaycontroller have received all relevant information, so that it continues to update the e-ink, no matter what?
Any ideas, what causes this?