homing: Don't raise a TimeoutError from home_wait()
Change home_wait() to return if the homing operation completed succesfully or not. This simplifies the callers. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
fbbbbc85cf
commit
804f95ebe4
|
@ -57,7 +57,6 @@ class BLTouchEndstopWrapper:
|
|||
self.get_steppers = self.mcu_endstop.get_steppers
|
||||
self.home_wait = self.mcu_endstop.home_wait
|
||||
self.query_endstop = self.mcu_endstop.query_endstop
|
||||
self.TimeoutError = self.mcu_endstop.TimeoutError
|
||||
# Register BLTOUCH_DEBUG command
|
||||
self.gcode = self.printer.lookup_object('gcode')
|
||||
self.gcode.register_command("BLTOUCH_DEBUG", self.cmd_BLTOUCH_DEBUG,
|
||||
|
@ -98,9 +97,8 @@ class BLTouchEndstopWrapper:
|
|||
self.mcu_endstop.home_start(check_start_time, ENDSTOP_SAMPLE_TIME,
|
||||
ENDSTOP_SAMPLE_COUNT, ENDSTOP_REST_TIME,
|
||||
triggered=triggered)
|
||||
try:
|
||||
self.mcu_endstop.home_wait(check_end_time)
|
||||
except self.mcu_endstop.TimeoutError as e:
|
||||
did_trigger = self.mcu_endstop.home_wait(check_end_time)
|
||||
if not did_trigger:
|
||||
raise homing.EndstopError("BLTouch failed to %s" % (msg,))
|
||||
def raise_probe(self):
|
||||
for retry in range(3):
|
||||
|
|
|
@ -91,11 +91,9 @@ class ManualStepper:
|
|||
# Wait for endstops to trigger
|
||||
error = None
|
||||
for mcu_endstop, name in endstops:
|
||||
try:
|
||||
mcu_endstop.home_wait(self.next_cmd_time)
|
||||
except mcu_endstop.TimeoutError as e:
|
||||
if error is None:
|
||||
error = "Failed to home %s: %s" % (name, str(e))
|
||||
did_trigger = mcu_endstop.home_wait(self.next_cmd_time)
|
||||
if not did_trigger and error is None:
|
||||
error = "Failed to home %s: Timeout during homing" % (name,)
|
||||
self.sync_print_time()
|
||||
if error is not None:
|
||||
raise homing.CommandError(error)
|
||||
|
|
|
@ -295,7 +295,6 @@ class ProbeEndstopWrapper:
|
|||
self.home_start = self.mcu_endstop.home_start
|
||||
self.home_wait = self.mcu_endstop.home_wait
|
||||
self.query_endstop = self.mcu_endstop.query_endstop
|
||||
self.TimeoutError = self.mcu_endstop.TimeoutError
|
||||
def _build_config(self):
|
||||
kin = self.printer.lookup_object('toolhead').get_kinematics()
|
||||
for stepper in kin.get_steppers():
|
||||
|
|
|
@ -71,11 +71,9 @@ class Homing:
|
|||
# Wait for endstops to trigger
|
||||
move_end_print_time = self.toolhead.get_last_move_time()
|
||||
for mcu_endstop, name in endstops:
|
||||
try:
|
||||
mcu_endstop.home_wait(move_end_print_time)
|
||||
except mcu_endstop.TimeoutError as e:
|
||||
if error is None:
|
||||
error = "Failed to home %s: %s" % (name, str(e))
|
||||
did_trigger = mcu_endstop.home_wait(move_end_print_time)
|
||||
if not did_trigger and error is None:
|
||||
error = "Failed to home %s: Timeout during homing" % (name,)
|
||||
# Determine stepper halt positions
|
||||
self.toolhead.flush_step_generation()
|
||||
end_mcu_pos = [(s, name, spos, s.get_mcu_position())
|
||||
|
|
|
@ -10,8 +10,6 @@ class error(Exception):
|
|||
pass
|
||||
|
||||
class MCU_endstop:
|
||||
class TimeoutError(Exception):
|
||||
pass
|
||||
RETRY_QUERY = 1.000
|
||||
def __init__(self, mcu, pin_params):
|
||||
self._mcu = mcu
|
||||
|
@ -106,8 +104,7 @@ class MCU_endstop:
|
|||
s.note_homing_end(did_trigger=did_trigger)
|
||||
if not self._trigger_completion.test():
|
||||
self._trigger_completion.complete(False)
|
||||
if not did_trigger:
|
||||
raise self.TimeoutError("Timeout during endstop homing")
|
||||
return did_trigger
|
||||
def query_endstop(self, print_time):
|
||||
clock = self._mcu.print_time_to_clock(print_time)
|
||||
if self._mcu.is_fileoutput():
|
||||
|
|
Loading…
Reference in New Issue