From 8014e1cc9d50f06862bc0dfb669a128a9d3f5b60 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 4 Nov 2018 18:06:00 -0600 Subject: [PATCH] Allow disable of LCD_TIMEOUT_TO_STATUS (when 0) --- Marlin/src/lcd/ultralcd.cpp | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 2006ab37c9..01b25d8ceb 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -600,7 +600,10 @@ void lcd_update() { static millis_t next_lcd_update_ms; #if HAS_LCD_MENU - static millis_t return_to_status_ms = 0; + + #if LCD_TIMEOUT_TO_STATUS + static millis_t return_to_status_ms = 0; + #endif // Handle any queued Move Axis motion manage_manual_move(); @@ -692,8 +695,11 @@ void lcd_update() { #if ENABLED(ADC_KEYPAD) - if (handle_adc_keypad()) - return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; + if (handle_adc_keypad()) { + #if LCD_TIMEOUT_TO_STATUS + return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; + #endif + } #elif ENABLED(REPRAPWORLD_KEYPAD) @@ -736,7 +742,9 @@ void lcd_update() { encoderPosition += (encoderDiff * encoderMultiplier) / ENCODER_PULSES_PER_STEP; encoderDiff = 0; } - return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; + #if LCD_TIMEOUT_TO_STATUS + return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; + #endif lcdDrawUpdate = LCDVIEW_REDRAW_NOW; } @@ -766,7 +774,9 @@ void lcd_update() { lcd_status_update_delay = 6; lcdDrawUpdate = LCDVIEW_REDRAW_NOW; filename_scroll_pos++; - return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; + #if LCD_TIMEOUT_TO_STATUS + return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; + #endif } #endif @@ -848,15 +858,13 @@ void lcd_update() { NOLESS(max_display_update_time, millis() - ms); } - #if HAS_LCD_MENU - + #if HAS_LCD_MENU && LCD_TIMEOUT_TO_STATUS // Return to Status Screen after a timeout if (currentScreen == lcd_status_screen || defer_return_to_status) return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; else if (ELAPSED(ms, return_to_status_ms)) lcd_return_to_status(); - - #endif // HAS_LCD_MENU + #endif // Change state of drawing flag between screen updates if (!is_drawing) switch (lcdDrawUpdate) {