diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index f6de4fdd21..9996db0b4e 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6037,6 +6037,12 @@ SERIAL_PROTOCOLPGM("\n\n"); while ( (!cancel_heatup) && (target_direction ? (isHeatingBed()) : (isCoolingBed()&&(CooldownNoWait==false))) ) { + if (lcd_commands_type == LcdCommands::LongPause) { + // Print was suddenly paused, break out of the loop + // This can happen when the firmware report a fan error + break; + } + if(( _millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while heating up. { if (!farm_mode) { @@ -9675,6 +9681,11 @@ static void wait_for_heater(long codenum, uint8_t extruder) { #else while (target_direction ? (isHeatingHotend(tmp_extruder)) : (isCoolingHotend(tmp_extruder) && (CooldownNoWait == false))) { #endif //TEMP_RESIDENCY_TIME + if (lcd_commands_type == LcdCommands::LongPause) { + // Print was suddenly paused, break out of the loop + // This can happen when the firmware report a fan error + break; + } if ((_millis() - codenum) > 1000UL) { //Print Temp Reading and remaining time every 1 second while heating up/cooling down if (!farm_mode) {