diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 4dccdf64..c55a3d5a 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9703,6 +9703,8 @@ void ThermalStop(bool allow_pause) Stopped = true; if(allow_pause && (IS_SD_PRINTING || usb_timer.running())) { if (!isPrintPaused) { + lcd_setalertstatuspgm(_T(MSG_PAUSED_THERMAL_ERROR), LCD_STATUS_CRITICAL); + // we cannot make a distinction for the host here, the pause must be instantaneous // so we call the lcd_pause_print to save the print state internally. Thermal errors // disable heaters and save the original temperatures to saved_*, which will get diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 005dbfbd..1b441b03 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -1759,7 +1759,6 @@ void handle_temp_error() case TempErrorType::model: if(temp_error_state.assert) { if(IsStopped() == false) { - lcd_setalertstatuspgm(MSG_PAUSED_THERMAL_ERROR, LCD_STATUS_CRITICAL); SERIAL_ECHOLNPGM("TM: error triggered!"); } ThermalStop(true); @@ -2435,7 +2434,7 @@ void handle_warning() if(warning_state.assert) { if (first) { if(warn_beep) { - lcd_setalertstatuspgm(MSG_THERMAL_ANOMALY, LCD_STATUS_INFO); + lcd_setalertstatuspgm(_T(MSG_THERMAL_ANOMALY), LCD_STATUS_INFO); WRITE(BEEPER, HIGH); } } else {