From c359d118583f0b473a7ec77e673974ad3b032c51 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Fri, 4 May 2018 15:21:22 +0200 Subject: [PATCH] Do not disable bed heating, when the print is paused. Also remove duplicate handleSafetyTimer() call. --- Firmware/Marlin_main.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c081088ea..da4bfba12 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -7132,6 +7132,8 @@ void handle_status_leds(void) { * @brief Turn off heating after 30 minutes of inactivity * * Full screen blocking notification message is shown after heater turning off. + * Paused print is not considered inactivity, as nozzle is cooled anyway and bed cooling would + * damage print. */ static void handleSafetyTimer() { @@ -7139,8 +7141,8 @@ static void handleSafetyTimer() #error Implemented only for one extruder. #endif //(EXTRUDERS > 1) static Timer safetyTimer; - if (IS_SD_PRINTING || is_usb_printing || (custom_message_type == 4) || (lcd_commands_type == LCD_COMMAND_V2_CAL) || - (!degTargetBed() && !degTargetHotend(0))) + if (IS_SD_PRINTING || is_usb_printing || isPrintPaused || (custom_message_type == 4) + || (lcd_commands_type == LCD_COMMAND_V2_CAL) || (!degTargetBed() && !degTargetHotend(0))) { safetyTimer.stop(); } @@ -7199,11 +7201,6 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s fsensor_autoload_check_stop(); #endif //PAT9125 -#ifdef SAFETYTIMER - handleSafetyTimer(); -#endif //SAFETYTIMER - - #ifdef SAFETYTIMER handleSafetyTimer(); #endif //SAFETYTIMER