Skip to content

Commit 0358852

Browse files
fix: screen not updaing while dim
1 parent 075061c commit 0358852

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/displayapp/DisplayApp.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,11 @@ void DisplayApp::Refresh() {
186186
TickType_t queueTimeout;
187187
switch (state) {
188188
case States::Idle:
189-
queueTimeout = portMAX_DELAY;
189+
if (settingsController.GetAlwaysOnDisplay()) {
190+
queueTimeout = lv_task_handler();
191+
} else {
192+
queueTimeout = portMAX_DELAY;
193+
}
190194
break;
191195
case States::Running:
192196
if (!currentScreen->IsRunning()) {

src/systemtask/SystemTask.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,12 @@ void SystemTask::Work() {
320320
// if it's in sleep mode. Avoid bricked device by disabling sleep mode on these versions.
321321
spiNorFlash.Sleep();
322322
}
323-
spi.Sleep();
323+
324+
// If the spi goes to sleep, AlwaysOn will not update the screen while dim, and the screen colors invert
325+
// upon wakeup
326+
if (!settingsController.GetAlwaysOnDisplay()) {
327+
spi.Sleep();
328+
}
324329

325330
// Double Tap needs the touch screen to be in normal mode
326331
if (!settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::DoubleTap)) {

0 commit comments

Comments
 (0)