From b0f02b8f9ed553160561ae9b277080e410b96905 Mon Sep 17 00:00:00 2001 From: EvilGremlin <22657714+EvilGremlin@users.noreply.github.com> Date: Sat, 1 Oct 2022 23:04:50 +0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20Fix=20Color=20UI=20touchscreen?= =?UTF-8?q?=20sleep=20(#24826)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/lcd/marlinui.cpp | 17 +++++++++-------- Marlin/src/lcd/menu/menu_configuration.cpp | 2 +- Marlin/src/module/settings.cpp | 4 ++-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Marlin/src/lcd/marlinui.cpp b/Marlin/src/lcd/marlinui.cpp index 8b9c0e048e..2f30da001f 100644 --- a/Marlin/src/lcd/marlinui.cpp +++ b/Marlin/src/lcd/marlinui.cpp @@ -191,11 +191,12 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; uint8_t MarlinUI::sleep_timeout_minutes; // Initialized by settings.load() millis_t MarlinUI::screen_timeout_millis = 0; - void MarlinUI::refresh_screen_timeout() { - screen_timeout_millis = sleep_timeout_minutes ? millis() + sleep_timeout_minutes * 60UL * 1000UL : 0; - sleep_display(false); - } - + #if DISABLED(TFT_COLOR_UI) + void MarlinUI::refresh_screen_timeout() { + screen_timeout_millis = sleep_timeout_minutes ? millis() + sleep_timeout_minutes * 60UL * 1000UL : 0; + sleep_display(false); + } + #endif #endif void MarlinUI::init() { @@ -1065,7 +1066,7 @@ void MarlinUI::init() { #if LCD_BACKLIGHT_TIMEOUT_MINS refresh_backlight_timeout(); - #elif HAS_DISPLAY_SLEEP + #elif HAS_DISPLAY_SLEEP && DISABLED(TFT_COLOR_UI) refresh_screen_timeout(); #endif @@ -1178,9 +1179,9 @@ void MarlinUI::init() { WRITE(LCD_BACKLIGHT_PIN, LOW); // Backlight off backlight_off_ms = 0; } - #elif HAS_DISPLAY_SLEEP + #elif HAS_DISPLAY_SLEEP && DISABLED(TFT_COLOR_UI) if (screen_timeout_millis && ELAPSED(ms, screen_timeout_millis)) - sleep_display(); + sleep_display(true); #endif // Change state of drawing flag between screen updates diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp index 7ae199dfd6..1ac12656dd 100644 --- a/Marlin/src/lcd/menu/menu_configuration.cpp +++ b/Marlin/src/lcd/menu/menu_configuration.cpp @@ -550,7 +550,7 @@ void menu_configuration() { // #if LCD_BACKLIGHT_TIMEOUT_MINS EDIT_ITEM(uint8, MSG_SCREEN_TIMEOUT, &ui.backlight_timeout_minutes, ui.backlight_timeout_min, ui.backlight_timeout_max, ui.refresh_backlight_timeout); - #elif HAS_DISPLAY_SLEEP + #elif HAS_DISPLAY_SLEEP && DISABLED(TFT_COLOR_UI) EDIT_ITEM(uint8, MSG_SCREEN_TIMEOUT, &ui.sleep_timeout_minutes, ui.sleep_timeout_min, ui.sleep_timeout_max, ui.refresh_screen_timeout); #endif diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index 2b6a98b045..4ccaa805c5 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -642,7 +642,7 @@ void MarlinSettings::postprocess() { #if LCD_BACKLIGHT_TIMEOUT_MINS ui.refresh_backlight_timeout(); - #elif HAS_DISPLAY_SLEEP + #elif HAS_DISPLAY_SLEEP && DISABLED(TFT_COLOR_UI) ui.refresh_screen_timeout(); #endif } @@ -3167,7 +3167,7 @@ void MarlinSettings::reset() { #if LCD_BACKLIGHT_TIMEOUT_MINS ui.backlight_timeout_minutes = LCD_BACKLIGHT_TIMEOUT_MINS; #elif HAS_DISPLAY_SLEEP - ui.sleep_timeout_minutes = DISPLAY_SLEEP_MINUTES; + ui.sleep_timeout_minutes = TERN(TOUCH_SCREEN, TOUCH_IDLE_SLEEP_MINS, DISPLAY_SLEEP_MINUTES); #endif //