diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index ef56ae8287..5a329e0400 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2030,14 +2030,26 @@ static void clean_up_after_endstop_or_probe_move() { set_bltouch_deployed(true); // Also needs to deploy and stow to set_bltouch_deployed(false); // clear the triggered condition. if (TEST_BLTOUCH()) { // If it still claims to be triggered... + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_STOP_BLTOUCH); stop(); // punt! return true; } } #elif ENABLED(Z_PROBE_SLED) - if (axis_unhomed_error(true, false, false)) { stop(); return true; } + if (axis_unhomed_error(true, false, false)) { + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_STOP_UNHOMED); + stop(); + return true; + } #elif ENABLED(Z_PROBE_ALLEN_KEY) - if (axis_unhomed_error(true, true, true )) { stop(); return true; } + if (axis_unhomed_error(true, true, true )) { + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_STOP_UNHOMED); + stop(); + return true; + } #endif const float oldXpos = current_position[X_AXIS], @@ -10153,7 +10165,11 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) { millis_t ms = millis(); - if (max_inactive_time && ELAPSED(ms, previous_cmd_ms + max_inactive_time)) kill(PSTR(MSG_KILLED)); + if (max_inactive_time && ELAPSED(ms, previous_cmd_ms + max_inactive_time)) { + SERIAL_ERROR_START; + SERIAL_ECHOLNPAIR(MSG_KILL_INACTIVE_TIME, current_command); + kill(PSTR(MSG_KILLED)); + } // Prevent steppers timing-out in the middle of M600 #if ENABLED(FILAMENT_CHANGE_FEATURE) && ENABLED(FILAMENT_CHANGE_NO_STEPPER_TIMEOUT) @@ -10203,7 +10219,11 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) { // Exceeded threshold and we can confirm that it was not accidental // KILL the machine // ---------------------------------------------------------------- - if (killCount >= KILL_DELAY) kill(PSTR(MSG_KILLED)); + if (killCount >= KILL_DELAY) { + SERIAL_ERROR_START; + SERIAL_ERRORLNPGM(MSG_KILL_BUTTON); + kill(PSTR(MSG_KILLED)); + } #endif #if HAS_HOME diff --git a/Marlin/language.h b/Marlin/language.h index da2be2587f..86d59315f6 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -200,6 +200,11 @@ #define MSG_ERR_EEPROM_WRITE "Error writing to EEPROM!" +#define MSG_STOP_BLTOUCH "STOP called because of BLTouch error - restart with M999" +#define MSG_STOP_UNHOMED "STOP called because of unhomed error - restart with M999" +#define MSG_KILL_INACTIVE_TIME "KILL caused by too much inactive time - current command: " +#define MSG_KILL_BUTTON "KILL caused by KILL button/pin" + // temperature.cpp strings #define MSG_PID_AUTOTUNE "PID Autotune" #define MSG_PID_AUTOTUNE_START MSG_PID_AUTOTUNE " start"