From b23476aaf30189239b28ae9821134837f1e7d1c0 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 28 Jan 2023 14:41:32 +0100 Subject: [PATCH] TM: Do not emit an "error:" on the serial for recoverable errors Use "echo:" for thermal model error reporting to avoid octoprint automatically sending a M112 kill. Keep using "error:" instead for other thermal errors (MAXTEMP/etc). This should allow resuming a thermal mode pause with the default octoprint settings. --- Firmware/Marlin_main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d6c6dda2..a4634e10 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9767,6 +9767,8 @@ void ThermalStop(bool allow_recovery) { if(Stopped == false) { Stopped = true; + + // Either pause or stop the print if(allow_recovery && (IS_SD_PRINTING || usb_timer.running())) { if (!isPrintPaused) { lcd_setalertstatuspgm(_T(MSG_PAUSED_THERMAL_ERROR), LCD_STATUS_CRITICAL); @@ -9789,8 +9791,8 @@ void ThermalStop(bool allow_recovery) print_stop(); } - // Report the status on the serial, switch to a busy state - SERIAL_ERROR_START; + // Report the error on the serial + serialprintPGM(allow_recovery ? echomagic : errormagic); SERIAL_ERRORLNRPGM(MSG_ERR_STOPPED); // Eventually report the stopped status on the lcd (though this is usually overridden by a