From e6ebd30f60d96de4cf3a8b18cef0a4004f936186 Mon Sep 17 00:00:00 2001 From: Marcio Teixeira Date: Wed, 10 Apr 2019 14:51:48 -0600 Subject: [PATCH] Fix LCD issue on stepper timeout (#13630) - Remove a re-paint of the status screen on stepper timeout, which would cause a garbled LCD with `LIGHTWEIGHT_UI` and could interrupt whatever else the user might be doing in a submenu (such as playing games!) - Use the helper function to reset stepper timeout. --- Marlin/src/Marlin.cpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index e04db30eff..c6e25b5a5a 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -457,7 +457,7 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) { if (stepper_inactive_time) { static bool already_shutdown_steppers; // = false if (planner.has_blocks_queued()) - gcode.previous_move_ms = ms; // reset_stepper_timeout to keep steppers powered + gcode.reset_stepper_timeout(); else if (MOVE_AWAY_TEST && !ignore_stepper_queue && ELAPSED(ms, gcode.previous_move_ms + stepper_inactive_time)) { if (!already_shutdown_steppers) { already_shutdown_steppers = true; // L6470 SPI will consume 99% of free time without this @@ -473,14 +473,11 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) { #if ENABLED(DISABLE_INACTIVE_E) disable_e_steppers(); #endif - #if HAS_LCD_MENU - ui.status_screen(); - #if ENABLED(AUTO_BED_LEVELING_UBL) - if (ubl.lcd_map_control) { - ubl.lcd_map_control = false; - ui.defer_status_screen(false); - } - #endif + #if HAS_LCD_MENU && ENABLED(AUTO_BED_LEVELING_UBL) + if (ubl.lcd_map_control) { + ubl.lcd_map_control = false; + ui.defer_status_screen(false); + } #endif } } @@ -617,7 +614,7 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) { } #endif // !SWITCHING_EXTRUDER - gcode.previous_move_ms = ms; // reset_stepper_timeout to keep steppers powered + gcode.reset_stepper_timeout(); } #endif // EXTRUDER_RUNOUT_PREVENT