Browse Source

579c: give the busy-wait real headroom (25s -> 40s)

The 25s ceiling left only ~4s over the vendor's 21s full_refresh_time
estimate, and that estimate is soft - GxEPD2 keeps polling BUSY past it,
while our engine hard-aborts at busy_timeout_ms. A 4-color refresh can
run longer, so the first bench run aborted mid-refresh on a busy timeout.
Bump to 40s so a legitimately slow refresh can complete.
ZiB 3 weeks ago
parent
commit
75fc0cd11e
1 changed files with 4 additions and 1 deletions
  1. 4 1
      components/gxepd2/panel_579c_gdey0579f51.h

+ 4 - 1
components/gxepd2/panel_579c_gdey0579f51.h

@@ -99,7 +99,10 @@ inline const EpdPanelDescriptor PANEL_579C_GDEY0579F51 = {
     .width = 792,   // full logical panel - the canvas ESPHome draws into
     .height = 272,
     .busy_active_level = false,  // GxEPD2_EPD(..., /*busy_level=*/LOW, ...)
-    .busy_timeout_ms = 25000,    // full_refresh_time is 21000ms
+    .busy_timeout_ms = 40000,    // vendor full_refresh_time is 21000ms, but it's
+                                 // a soft estimate (GxEPD2 polls BUSY past it);
+                                 // give a 4-color refresh real headroom before
+                                 // the engine hard-aborts
     .init_sequence = PANEL_579C_GDEY0579F51_INIT,
     .init_sequence_len = sizeof(PANEL_579C_GDEY0579F51_INIT) / sizeof(PANEL_579C_GDEY0579F51_INIT[0]),
     .window_sequence = {PANEL_579C_GDEY0579F51_WINDOW_MASTER, PANEL_579C_GDEY0579F51_WINDOW_SLAVE},