diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2024-01-08 21:33:56 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2024-04-09 16:32:43 -0400 |
commit | acdf8bb1080ab829c6e8092dadf6d488aa416f77 (patch) | |
tree | 19d3ebd801fa52e3592c034d4f02989caec353ee /klippy/extras | |
parent | fa5fa74761c05da4efd2c36b4286910d4f6bb2cf (diff) | |
download | kutter-acdf8bb1080ab829c6e8092dadf6d488aa416f77.tar.gz kutter-acdf8bb1080ab829c6e8092dadf6d488aa416f77.tar.xz kutter-acdf8bb1080ab829c6e8092dadf6d488aa416f77.zip |
probe: Add a probing_move() wrapper to low-level mcu_probe class
This allows the low-level probe class more control on the probing
implementation.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras')
-rw-r--r-- | klippy/extras/bltouch.py | 3 | ||||
-rw-r--r-- | klippy/extras/probe.py | 16 | ||||
-rw-r--r-- | klippy/extras/smart_effector.py | 3 |
3 files changed, 15 insertions, 7 deletions
diff --git a/klippy/extras/bltouch.py b/klippy/extras/bltouch.py index 48759752..49385428 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 337c41b1..c275d4aa 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 6076a246..c33de527 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) |