Soft Reset via Serial or post-kill button click (#21652)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
@ -41,6 +41,8 @@ extern bool wait_for_user, wait_for_heatup;
|
||||
void quickresume_stepper();
|
||||
#endif
|
||||
|
||||
void HAL_reboot();
|
||||
|
||||
class EmergencyParser {
|
||||
|
||||
public:
|
||||
@ -62,6 +64,10 @@ public:
|
||||
EP_R, EP_R0, EP_R00, EP_GRBL_RESUME,
|
||||
EP_P, EP_P0, EP_P00, EP_GRBL_PAUSE,
|
||||
#endif
|
||||
#if ENABLED(SOFT_RESET_VIA_SERIAL)
|
||||
EP_ctrl,
|
||||
EP_K, EP_KI, EP_KIL, EP_KILL,
|
||||
#endif
|
||||
EP_IGNORE // to '\n'
|
||||
};
|
||||
|
||||
@ -89,6 +95,10 @@ public:
|
||||
case 'P': state = EP_P; break;
|
||||
case 'R': state = EP_R; break;
|
||||
#endif
|
||||
#if ENABLED(SOFT_RESET_VIA_SERIAL)
|
||||
case '^': state = EP_ctrl; break;
|
||||
case 'K': state = EP_K; break;
|
||||
#endif
|
||||
default: state = EP_IGNORE;
|
||||
}
|
||||
break;
|
||||
@ -121,6 +131,13 @@ public:
|
||||
case EP_P00: state = (c == '0') ? EP_GRBL_PAUSE : EP_IGNORE; break;
|
||||
#endif
|
||||
|
||||
#if ENABLED(SOFT_RESET_VIA_SERIAL)
|
||||
case EP_ctrl: state = (c == 'X') ? EP_KILL : EP_IGNORE; break;
|
||||
case EP_K: state = (c == 'I') ? EP_KI : EP_IGNORE; break;
|
||||
case EP_KI: state = (c == 'L') ? EP_KIL : EP_IGNORE; break;
|
||||
case EP_KIL: state = (c == 'L') ? EP_KILL : EP_IGNORE; break;
|
||||
#endif
|
||||
|
||||
case EP_M:
|
||||
switch (c) {
|
||||
case ' ': break;
|
||||
@ -189,6 +206,9 @@ public:
|
||||
case EP_GRBL_PAUSE: quickpause_stepper(); break;
|
||||
case EP_GRBL_RESUME: quickresume_stepper(); break;
|
||||
#endif
|
||||
#if ENABLED(SOFT_RESET_VIA_SERIAL)
|
||||
case EP_KILL: HAL_reboot(); break;
|
||||
#endif
|
||||
default: break;
|
||||
}
|
||||
state = EP_RESET;
|
||||
|
Reference in New Issue
Block a user