aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2020-03-29 17:50:28 -0400
committerKevin O'Connor <kevin@koconnor.net>2020-04-02 08:25:22 -0400
commit87bfa06b9e6755ff1c2538bc41eb44e22c493bf5 (patch)
tree03164750fd52712f4e8285d8a363b092bfab19ad
parentd6034013e7f1dbe8676460656c0a2b7978e9618c (diff)
downloadkutter-87bfa06b9e6755ff1c2538bc41eb44e22c493bf5.tar.gz
kutter-87bfa06b9e6755ff1c2538bc41eb44e22c493bf5.tar.xz
kutter-87bfa06b9e6755ff1c2538bc41eb44e22c493bf5.zip
bltouch: Don't raise an error in verify_state()
Return the triggered state from verify_state() and update the callers to raise the error (if needed). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--klippy/extras/bltouch.py35
1 files changed, 17 insertions, 18 deletions
diff --git a/klippy/extras/bltouch.py b/klippy/extras/bltouch.py
index 8f8dabaa..056c4f41 100644
--- a/klippy/extras/bltouch.py
+++ b/klippy/extras/bltouch.py
@@ -101,14 +101,12 @@ class BLTouchEndstopWrapper:
cmd_clock += mcu.seconds_to_clock(max(duration, MIN_CMD_TIME))
self.next_cmd_time = mcu.clock_to_print_time(cmd_clock)
return self.next_cmd_time
- def verify_state(self, check_start_time, check_end_time, triggered, msg):
+ def verify_state(self, check_start_time, check_end_time, triggered):
# Perform endstop check to verify bltouch reports desired state
self.mcu_endstop.home_start(check_start_time, ENDSTOP_SAMPLE_TIME,
ENDSTOP_SAMPLE_COUNT, ENDSTOP_REST_TIME,
triggered=triggered)
- did_trigger = self.mcu_endstop.home_wait(check_end_time)
- if not did_trigger:
- raise homing.EndstopError("BLTouch failed to %s" % (msg,))
+ return self.mcu_endstop.home_wait(check_end_time)
def raise_probe(self):
for retry in range(3):
self.sync_mcu_print_time()
@@ -117,18 +115,18 @@ class BLTouchEndstopWrapper:
check_start_time = self.send_cmd('pin_up',
duration=self.pin_move_time)
check_end_time = self.send_cmd(None)
- if self.pin_up_not_triggered:
- try:
- self.verify_state(check_start_time, check_end_time,
- False, "raise probe")
- except homing.CommandError as e:
- if retry >= 2:
- raise
- msg = "Failed to verify BLTouch probe is raised; retrying."
- self.gcode.respond_info(msg)
- self.next_cmd_time += RETRY_RESET_TIME
- continue
- break
+ if not self.pin_up_not_triggered:
+ # No way to verify - return successfully
+ break
+ success = self.verify_state(check_start_time, check_end_time, False)
+ if success:
+ # The "probe raised" test completed successfully
+ break
+ if retry >= 2:
+ raise homing.EndstopError("BLTouch failed to raise probe")
+ msg = "Failed to verify BLTouch probe is raised; retrying."
+ self.gcode.respond_info(msg)
+ self.next_cmd_time += RETRY_RESET_TIME
def lower_probe(self):
self.test_sensor()
self.sync_print_time()
@@ -149,8 +147,9 @@ class BLTouchEndstopWrapper:
check_start_time = self.send_cmd('reset', duration=self.pin_move_time)
check_end_time = self.send_cmd('touch_mode')
self.send_cmd(None)
- self.verify_state(check_start_time, check_end_time, True,
- "verify sensor state")
+ success = self.verify_state(check_start_time, check_end_time, True)
+ if not success:
+ raise homing.EndstopError("BLTouch failed to verify sensor state")
# Test was successful
self.next_test_time = check_end_time + TEST_TIME
self.sync_print_time()