diff --git a/Grbl_Esp32/src/Spindles/VFDSpindle.cpp b/Grbl_Esp32/src/Spindles/VFDSpindle.cpp index 5ac0f630..512e243a 100644 --- a/Grbl_Esp32/src/Spindles/VFDSpindle.cpp +++ b/Grbl_Esp32/src/Spindles/VFDSpindle.cpp @@ -194,12 +194,13 @@ namespace Spindles { if (retry_count == MAX_RETRIES) { if (!unresponsive) { grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Spindle RS485 Unresponsive %d", next_cmd.rx_length); - if (next_cmd.critical) { - grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Critical Spindle RS485 Unresponsive"); - sys_rt_exec_alarm = ExecAlarm::SpindleControl; - } unresponsive = true; } + if (next_cmd.critical) { + grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Critical Spindle RS485 Unresponsive"); + mc_reset(); + sys_rt_exec_alarm = ExecAlarm::SpindleControl; + } } vTaskDelay(VFD_RS485_POLL_RATE); // TODO: What is the best value here?