diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2024-05-19 13:15:30 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2024-05-21 20:16:31 -0400 |
commit | 37482178b5482a013a4a5a62789705ccaf1e03c6 (patch) | |
tree | 34d936d7d76183bd429fd4dfa399f39fe7ed8dee /klippy/extras | |
parent | 4709f1fad50b642f744a8804608d55855d7d7b42 (diff) | |
download | kutter-37482178b5482a013a4a5a62789705ccaf1e03c6.tar.gz kutter-37482178b5482a013a4a5a62789705ccaf1e03c6.tar.xz kutter-37482178b5482a013a4a5a62789705ccaf1e03c6.zip |
mcu: Raise an error on a failed home_wait() call
Raise a printer.command_error exception if a home_wait() call fails.
This makes it easier to support future types of homing errors.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras')
-rw-r--r-- | klippy/extras/bltouch.py | 6 | ||||
-rw-r--r-- | klippy/extras/homing.py | 9 | ||||
-rw-r--r-- | klippy/extras/probe_eddy_current.py | 5 |
3 files changed, 14 insertions, 6 deletions
diff --git a/klippy/extras/bltouch.py b/klippy/extras/bltouch.py index 49385428..b01cdb9e 100644 --- a/klippy/extras/bltouch.py +++ b/klippy/extras/bltouch.py @@ -116,7 +116,11 @@ class BLTouchEndstopWrapper: self.mcu_endstop.home_start(self.action_end_time, ENDSTOP_SAMPLE_TIME, ENDSTOP_SAMPLE_COUNT, ENDSTOP_REST_TIME, triggered=triggered) - trigger_time = self.mcu_endstop.home_wait(self.action_end_time + 0.100) + try: + trigger_time = self.mcu_endstop.home_wait( + self.action_end_time + 0.100) + except self.printer.command_error as e: + return False return trigger_time > 0. def raise_probe(self): self.sync_mcu_print_time() diff --git a/klippy/extras/homing.py b/klippy/extras/homing.py index 634ad81b..06b52f1e 100644 --- a/klippy/extras/homing.py +++ b/klippy/extras/homing.py @@ -98,11 +98,14 @@ class HomingMove: trigger_times = {} move_end_print_time = self.toolhead.get_last_move_time() for mcu_endstop, name in self.endstops: - trigger_time = mcu_endstop.home_wait(move_end_print_time) + try: + trigger_time = mcu_endstop.home_wait(move_end_print_time) + except self.printer.command_error as e: + if error is None: + error = "Error during homing %s: %s" % (name, str(e)) + continue if trigger_time > 0.: trigger_times[name] = trigger_time - elif trigger_time < 0. and error is None: - error = "Communication timeout during homing %s" % (name,) elif check_triggered and error is None: error = "No trigger on %s after full movement" % (name,) # Determine stepper halt positions diff --git a/klippy/extras/probe_eddy_current.py b/klippy/extras/probe_eddy_current.py index 8b9d705b..636c800d 100644 --- a/klippy/extras/probe_eddy_current.py +++ b/klippy/extras/probe_eddy_current.py @@ -243,8 +243,9 @@ class EddyEndstopWrapper: trigger_time = self._sensor_helper.clear_home() self._stop_measurements(is_home=True) res = self._dispatch.stop() - if res == mcu.MCU_trsync.REASON_COMMS_TIMEOUT: - return -1. + if res >= mcu.MCU_trsync.REASON_COMMS_TIMEOUT: + raise self._printer.command_error( + "Communication timeout during homing") if res != mcu.MCU_trsync.REASON_ENDSTOP_HIT: return 0. if self._mcu.is_fileoutput(): |