diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 58233e339..5bb6f2c44 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9540,10 +9540,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 978a7f1db..b365ee135 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1072,12 +1072,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; } } @@ -1636,7 +1632,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) {