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>
This commit is contained in:
Kevin O'Connor 2024-05-19 13:15:30 -04:00
parent 4709f1fad5
commit 37482178b5
4 changed files with 24 additions and 14 deletions

View file

@ -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