diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index a034f94e..275326ab 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9492,10 +9492,9 @@ void long_pause() //long pause print current_position[Y_AXIS] = Y_PAUSE_POS; plan_buffer_line_curposXYZE(50, active_extruder); - // Turn off the print fan + // Turn off the hotends and print fan + setAllTargetHotends(0); fanSpeed = 0; - - st_synchronize(); } void serialecho_temperatures() { diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 2efc1e09..0f4af7ce 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1059,12 +1059,8 @@ void lcd_commands() if (!blocks_queued() && !homing_flag) { lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20 r=1 - long_pause(); - if (lcd_commands_type == LcdCommands::LongPause) // !!! because "lcd_commands_type" can be changed during/inside "long_pause()" - { - lcd_commands_type = LcdCommands::Idle; - lcd_commands_step = 0; - } + lcd_commands_type = LcdCommands::Idle; + lcd_commands_step = 0; } } @@ -1644,7 +1640,7 @@ void lcd_pause_print() { lcd_return_to_status(); stop_and_save_print_to_ram(0.0,0.0); - setAllTargetHotends(0); + long_pause(); isPrintPaused = true; if (LcdCommands::Idle == lcd_commands_type) {