From 3475bd2f051aa1166a8c184aeae0fa7219ba4f4d Mon Sep 17 00:00:00 2001 From: jpirnay Date: Sat, 16 May 2026 22:35:52 +0200 Subject: [PATCH] revert(x3): remove white pre-flash and CDI border attempt Reverts bc62d882 and 509adada. The pre-flash added an extra full-sync pass that made the black border artifact visibly larger. The CDI 0xA9 change had no effect on the border. Both are reverted while the true cause of the x3 border is investigated. Co-Authored-By: Claude Sonnet 4.6 --- open-x4-sdk | 2 +- src/activities/boot_sleep/SleepActivity.cpp | 14 -------------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/open-x4-sdk b/open-x4-sdk index d8ccbacb..54ad0863 160000 --- a/open-x4-sdk +++ b/open-x4-sdk @@ -1 +1 @@ -Subproject commit d8ccbacb1e7f58f016e359943f65577336c4ce40 +Subproject commit 54ad086352f219d24d80f5f6792471ff8b42221f diff --git a/src/activities/boot_sleep/SleepActivity.cpp b/src/activities/boot_sleep/SleepActivity.cpp index 21fbc073..d22fbddc 100644 --- a/src/activities/boot_sleep/SleepActivity.cpp +++ b/src/activities/boot_sleep/SleepActivity.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include #include @@ -358,19 +357,6 @@ void SleepActivity::onEnter() { if (SETTINGS.sleepScreen != CrossPointSettings::SLEEP_SCREEN_MODE::OVERLAY) { GUI.drawPopup(renderer, tr(STR_ENTERING_SLEEP)); } - // X3 panels: flash white before rendering the sleep image so any ghosting from the reader - // page is fully cleared. The full sync triggered by requestResync drives the panel to a - // clean white state; the sleep screen is then drawn on top without residual ghost content. - // Skipped for OVERLAY (frame buffer must stay intact) and BLANK (already renders white). - const bool needsX3PreFlash = gpio.deviceIsX3() && - SETTINGS.sleepScreen != CrossPointSettings::SLEEP_SCREEN_MODE::OVERLAY && - SETTINGS.sleepScreen != CrossPointSettings::SLEEP_SCREEN_MODE::BLANK; - if (needsX3PreFlash) { - renderer.clearScreen(); - display.requestResync(1); - renderer.displayBuffer(HalDisplay::HALF_REFRESH); - } - switch (SETTINGS.sleepScreen) { case (CrossPointSettings::SLEEP_SCREEN_MODE::BLANK): return renderBlankSleepScreen();