diff --git a/freeink-sdk b/freeink-sdk index 9d92cb19..f611d71d 160000 --- a/freeink-sdk +++ b/freeink-sdk @@ -1 +1 @@ -Subproject commit 9d92cb19a8e5f1f0da8160404cc5d5f77bb9e833 +Subproject commit f611d71d8e860bb4ae50246e2e18b7985e1719ea diff --git a/src/activities/boot_sleep/SleepActivity.cpp b/src/activities/boot_sleep/SleepActivity.cpp index fb6c188b..e7ff4317 100644 --- a/src/activities/boot_sleep/SleepActivity.cpp +++ b/src/activities/boot_sleep/SleepActivity.cpp @@ -163,7 +163,7 @@ void SleepActivity::renderDefaultSleepScreen() const { renderer.invertScreen(); } - renderer.displayBuffer(HalDisplay::HALF_REFRESH); + renderer.displayBuffer(HalDisplay::FULL_REFRESH); } void SleepActivity::renderBitmapSleepScreen(const Bitmap& bitmap) const { @@ -219,13 +219,11 @@ void SleepActivity::renderBitmapSleepScreen(const Bitmap& bitmap) const { } if (hasGreyscale) { - // OEM grayscale pipeline base: on X3 this displays the frame with the - // dedicated "AA-pre-BW(mid)" differential waveform, leaving every pixel - // in the calibrated state the gray nudge refresh expects; on X4 it is a - // plain HALF refresh (previous behavior). - renderer.displayGrayscaleBase(HalDisplay::HALF_REFRESH); + // OEM grayscale pipeline base: use a full sleep-screen paint so the panel + // enters deep sleep from a clean B/W baseline before the gray nudge refresh. + renderer.displayGrayscaleBase(HalDisplay::FULL_REFRESH); } else { - renderer.displayBuffer(HalDisplay::HALF_REFRESH); + renderer.displayBuffer(HalDisplay::FULL_REFRESH); } if (hasGreyscale) { @@ -333,5 +331,5 @@ void SleepActivity::renderLastScreenSleepScreen() const { void SleepActivity::renderBlankSleepScreen() const { renderer.clearScreen(); - renderer.displayBuffer(HalDisplay::HALF_REFRESH); + renderer.displayBuffer(HalDisplay::FULL_REFRESH); }