Handle M410 in the main task (#19752)
This commit is contained in:
parent
9b9cd698a5
commit
e370834c35
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
// Static data members
|
// Static data members
|
||||||
bool EmergencyParser::killed_by_M112, // = false
|
bool EmergencyParser::killed_by_M112, // = false
|
||||||
|
EmergencyParser::quickstop_by_M410,
|
||||||
EmergencyParser::enabled;
|
EmergencyParser::enabled;
|
||||||
|
|
||||||
#if ENABLED(HOST_PROMPT_SUPPORT)
|
#if ENABLED(HOST_PROMPT_SUPPORT)
|
||||||
|
|
|
@ -63,6 +63,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool killed_by_M112;
|
static bool killed_by_M112;
|
||||||
|
static bool quickstop_by_M410;
|
||||||
|
|
||||||
#if ENABLED(HOST_PROMPT_SUPPORT)
|
#if ENABLED(HOST_PROMPT_SUPPORT)
|
||||||
static uint8_t M876_reason;
|
static uint8_t M876_reason;
|
||||||
|
@ -168,7 +169,7 @@ public:
|
||||||
if (enabled) switch (state) {
|
if (enabled) switch (state) {
|
||||||
case EP_M108: wait_for_user = wait_for_heatup = false; break;
|
case EP_M108: wait_for_user = wait_for_heatup = false; break;
|
||||||
case EP_M112: killed_by_M112 = true; break;
|
case EP_M112: killed_by_M112 = true; break;
|
||||||
case EP_M410: quickstop_stepper(); break;
|
case EP_M410: quickstop_by_M410 = true; break;
|
||||||
#if ENABLED(HOST_PROMPT_SUPPORT)
|
#if ENABLED(HOST_PROMPT_SUPPORT)
|
||||||
case EP_M876SN: host_response_handler(M876_reason); break;
|
case EP_M876SN: host_response_handler(M876_reason); break;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1032,8 +1032,14 @@ void Temperature::manage_heater() {
|
||||||
if (!inited) return watchdog_refresh();
|
if (!inited) return watchdog_refresh();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (TERN0(EMERGENCY_PARSER, emergency_parser.killed_by_M112))
|
#if ENABLED(EMERGENCY_PARSER)
|
||||||
kill(M112_KILL_STR, nullptr, true);
|
if (emergency_parser.killed_by_M112) kill(M112_KILL_STR, nullptr, true);
|
||||||
|
|
||||||
|
if (emergency_parser.quickstop_by_M410) {
|
||||||
|
emergency_parser.quickstop_by_M410 = false; // quickstop_stepper may call idle so clear this now!
|
||||||
|
quickstop_stepper();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!raw_temps_ready) return;
|
if (!raw_temps_ready) return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue