diff --git a/src/panels/waveshare13e6/v1/epd_driver.cpp b/src/panels/waveshare13e6/v1/epd_driver.cpp index 0f2ef91..7493c00 100644 --- a/src/panels/waveshare13e6/v1/epd_driver.cpp +++ b/src/panels/waveshare13e6/v1/epd_driver.cpp @@ -450,14 +450,23 @@ static void draw_from_lfs(const char* path, uint8_t fallback_color, // QR placeholders move to (W - old_x - QR_PX, H - old_y - QR_PX). // AP (518 px QR): pre-rot 642,590 → post-rot 40,492 // Setup (574 px QR): pre-rot 313,750 → post-rot 313,276 (X centred) +// Setup screens (yellow AP / red retry / green setup) are mostly two-tone +// against a small palette. Transitioning from a full-color photo to one of +// these in a single DRF cycle leaves visible ghost of the previous image — +// Spectra-6's color particles need more discharge time than one refresh +// provides. Pre-clear to white first so the panel is fully reset, then draw +// the actual screen. Doubles the refresh time on setup events only. void epd_draw_ap_screen(QRCode* qr) { + epd_fill(COLOR_WHITE); draw_from_lfs("/ap_bg.bin", COLOR_YELLOW, qr, 40, 492, 14); } void epd_draw_ap_screen_retry(QRCode* qr) { + epd_fill(COLOR_WHITE); draw_from_lfs("/ap_bg_retry.bin", COLOR_RED, qr, 40, 492, 14); } void epd_draw_setup_screen(QRCode* qr) { + epd_fill(COLOR_WHITE); draw_from_lfs("/setup_bg.bin", COLOR_GREEN, qr, 313, 276, 14); } diff --git a/src/panels/waveshare13e6/v1/version.h b/src/panels/waveshare13e6/v1/version.h index 30507e8..56f7233 100644 --- a/src/panels/waveshare13e6/v1/version.h +++ b/src/panels/waveshare13e6/v1/version.h @@ -3,4 +3,4 @@ // Panel-specific firmware version for the Waveshare 13.3" Spectra-6 driver. // Bump on each driver change worth correlating with server-side reports. // Independent of the shared firmware version (HTTP / NVS / sleep / etc.). -#define PANEL_FW_VERSION "v1.0.2" +#define PANEL_FW_VERSION "v1.0.0"