diff --git a/klippy/extras/bltouch.py b/klippy/extras/bltouch.py index 48759752e..49385428a 100644 --- a/klippy/extras/bltouch.py +++ b/klippy/extras/bltouch.py @@ -183,6 +183,9 @@ class BLTouchEndstopWrapper: self.verify_raise_probe() self.sync_print_time() self.multi = 'OFF' + def probing_move(self, pos, speed): + phoming = self.printer.lookup_object('homing') + return phoming.probing_move(self, pos, speed) def probe_prepare(self, hmove): if self.multi == 'OFF' or self.multi == 'FIRST': self.lower_probe() diff --git a/klippy/extras/probe.py b/klippy/extras/probe.py index 337c41b13..c275d4aae 100644 --- a/klippy/extras/probe.py +++ b/klippy/extras/probe.py @@ -117,11 +117,10 @@ class PrinterProbe: curtime = self.printer.get_reactor().monotonic() if 'z' not in toolhead.get_status(curtime)['homed_axes']: raise self.printer.command_error("Must home before probe") - phoming = self.printer.lookup_object('homing') pos = toolhead.get_position() pos[2] = self.z_position try: - epos = phoming.probing_move(self.mcu_probe, pos, speed) + epos = self.mcu_probe.probing_move(pos, speed) except self.printer.command_error as e: reason = str(e) if "Timeout during endstop homing" in reason: @@ -325,14 +324,14 @@ class ProbeEndstopWrapper: for stepper in kin.get_steppers(): if stepper.is_active_axis('z'): self.add_stepper(stepper) - def raise_probe(self): + def _raise_probe(self): toolhead = self.printer.lookup_object('toolhead') start_pos = toolhead.get_position() self.deactivate_gcode.run_gcode_from_command() if toolhead.get_position()[:3] != start_pos[:3]: raise self.printer.command_error( "Toolhead moved during probe activate_gcode script") - def lower_probe(self): + def _lower_probe(self): toolhead = self.printer.lookup_object('toolhead') start_pos = toolhead.get_position() self.activate_gcode.run_gcode_from_command() @@ -346,16 +345,19 @@ class ProbeEndstopWrapper: def multi_probe_end(self): if self.stow_on_each_sample: return - self.raise_probe() + self._raise_probe() self.multi = 'OFF' + def probing_move(self, pos, speed): + phoming = self.printer.lookup_object('homing') + return phoming.probing_move(self, pos, speed) def probe_prepare(self, hmove): if self.multi == 'OFF' or self.multi == 'FIRST': - self.lower_probe() + self._lower_probe() if self.multi == 'FIRST': self.multi = 'ON' def probe_finish(self, hmove): if self.multi == 'OFF': - self.raise_probe() + self._raise_probe() def get_position_endstop(self): return self.position_endstop diff --git a/klippy/extras/smart_effector.py b/klippy/extras/smart_effector.py index 6076a2468..c33de5275 100644 --- a/klippy/extras/smart_effector.py +++ b/klippy/extras/smart_effector.py @@ -78,6 +78,9 @@ class SmartEffectorEndstopWrapper: self.gcode.register_command("SET_SMART_EFFECTOR", self.cmd_SET_SMART_EFFECTOR, desc=self.cmd_SET_SMART_EFFECTOR_help) + def probing_move(self, pos, speed): + phoming = self.printer.lookup_object('homing') + return phoming.probing_move(self, pos, speed) def probe_prepare(self, hmove): toolhead = self.printer.lookup_object('toolhead') self.probe_wrapper.probe_prepare(hmove)