Got a working solution for detecting failed probes

This commit is contained in:
David Carley
2021-10-11 00:28:22 -07:00
parent 0983a7f3e2
commit c9efccec15
6 changed files with 55 additions and 13 deletions

View File

@@ -132,6 +132,12 @@ class Mach(Comm):
# if current == 'idle' or (cycle == 'jogging' and self._is_paused()):
self._set_cycle(cycle)
def process_log(self, log):
# Detect when a probe has failed, and reset the planner
if log['msg'] == 'Switch not found':
self.planner.reset(False)
def _update(self, update):
# Detect motor faults
@@ -145,7 +151,8 @@ class Mach(Comm):
state = self._get_state()
# Handle EStop
if state_changed and state == 'ESTOPPED': self.planner.reset(False)
if state_changed and state == 'ESTOPPED':
self.planner.reset(False)
# Exit cycle if state changed to READY
if (state_changed and self._get_cycle() != 'idle' and
@@ -161,7 +168,8 @@ class Mach(Comm):
self.stopping = False
# Unpause sync
if state_changed and state != 'HOLDING': self.unpausing = False
if state_changed and state != 'HOLDING':
self.unpausing = False
# Entering HOLDING state
if state_changed and state == 'HOLDING':