Handle M410 in the main task (#19752)

This commit is contained in:
Victor Oliveira 2020-10-16 18:11:00 -03:00 committed by Scott Lahteine
parent d5340675ae
commit 2ecc3bb560
3 changed files with 11 additions and 3 deletions

View file

@ -32,6 +32,7 @@
// Static data members
bool EmergencyParser::killed_by_M112, // = false
EmergencyParser::quickstop_by_M410,
EmergencyParser::enabled;
#if ENABLED(HOST_PROMPT_SUPPORT)

View file

@ -63,6 +63,7 @@ public:
};
static bool killed_by_M112;
static bool quickstop_by_M410;
#if ENABLED(HOST_PROMPT_SUPPORT)
static uint8_t M876_reason;
@ -168,7 +169,7 @@ public:
if (enabled) switch (state) {
case EP_M108: wait_for_user = wait_for_heatup = false; 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)
case EP_M876SN: host_response_handler(M876_reason); break;
#endif

View file

@ -1032,8 +1032,14 @@ void Temperature::manage_heater() {
if (!inited) return watchdog_refresh();
#endif
if (TERN0(EMERGENCY_PARSER, emergency_parser.killed_by_M112))
kill(M112_KILL_STR, nullptr, true);
#if ENABLED(EMERGENCY_PARSER)
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;