From 7cd888cd0afab25d97923405725765a1a51d6d6f Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sun, 21 Aug 2022 15:21:26 +0200 Subject: [PATCH] Update documentation of ThermalStop() --- Firmware/Marlin_main.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c133b678..936628f7 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9960,17 +9960,12 @@ void UnconditionalStop() } // Emergency stop used by overtemp functions which allows recovery +// WARNING: This function is called *continuously* during a thermal failure. // -// This function is called *continuously* during a thermal failure. -// -// In addition to stopping the print, this prevents subsequent G[0-3] commands to be -// processed via USB (using "Stopped") until the print is resumed via M999 or -// manually started from scratch with the LCD. -// -// Note that the current instruction is completely discarded, so resuming from Stop() -// will introduce either over/under extrusion on the current segment, and will not -// survive a power panic. Switching Stop() to use the pause machinery instead (with -// the addition of disabling the headers) could allow true recovery in the future. +// This either pauses (for thermal model errors) or stops *without recovery* depending on +// "allow_pause". If pause is allowed, this forces a printer-initiated instantanenous pause (just +// like an LCD pause) that bypasses the host pausing functionality. In this state the printer is +// kept in busy state and *must* be recovered from the LCD. void ThermalStop(bool allow_pause) { if(Stopped == false) {