Fix: M112 calling kill from interrupt (#9923)

Fix #9906
This commit is contained in:
Scott Lahteine 2018-03-03 23:14:01 -06:00 committed by GitHub
parent c37b3f995a
commit 649f375494
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 18 additions and 2 deletions

View file

@ -81,6 +81,8 @@
#if ENABLED(EMERGENCY_PARSER)
bool killed_by_M112; // = false
#include "../../module/stepper.h"
// Currently looking for: M108, M112, M410
@ -155,7 +157,7 @@
wait_for_user = wait_for_heatup = false;
break;
case state_M112:
kill(PSTR(MSG_KILLED));
killed_by_M112 = true;
break;
case state_M410:
quickstop_stepper();

View file

@ -94,6 +94,10 @@
extern ring_buffer_pos_t rx_max_enqueued;
#endif
#if ENABLED(EMERGENCY_PARSER)
extern bool killed_by_M112;
#endif
class MarlinSerial { //: public Stream
public:

View file

@ -108,6 +108,8 @@
#if ENABLED(EMERGENCY_PARSER)
bool killed_by_M112; // = false
// Currently looking for: M108, M112, M410
// If you alter the parser please don't forget to update the capabilities in Conditionals_post.h
@ -180,7 +182,7 @@
wait_for_user = wait_for_heatup = false;
break;
case state_M112:
kill(PSTR(MSG_KILLED));
killed_by_M112 = true;
break;
case state_M410:
quickstop_stepper();

View file

@ -74,6 +74,10 @@
extern ring_buffer_pos_t rx_max_enqueued;
#endif
#if ENABLED(EMERGENCY_PARSER)
extern bool killed_by_M112;
#endif
class MarlinSerial {
public:

View file

@ -750,6 +750,10 @@ void Temperature::manage_heater() {
static bool last_pause_state;
#endif
#if ENABLED(EMERGENCY_PARSER)
if (killed_by_M112) kill(PSTR(MSG_KILLED));
#endif
if (!temp_meas_ready) return;
updateTemperaturesFromRawValues(); // also resets the watchdog