aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2025-04-04 12:56:54 -0400
committerKevin O'Connor <kevin@koconnor.net>2025-04-18 14:38:34 -0400
commit3fb1191cad9d78dc433c99235d33be2cdbd0bb43 (patch)
tree349297117f9238c6910bbda472122241c207902c /klippy/extras
parentf3a1c914a4821211cd5279c9fbdb64345b50694e (diff)
downloadkutter-3fb1191cad9d78dc433c99235d33be2cdbd0bb43.tar.gz
kutter-3fb1191cad9d78dc433c99235d33be2cdbd0bb43.tar.xz
kutter-3fb1191cad9d78dc433c99235d33be2cdbd0bb43.zip
probe: Add a new LookupZSteppers helper class
Split code to lookup the Z stepper from HomingViaProbeHelper to new LookupZSteppers class. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras')
-rw-r--r--klippy/extras/probe.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/klippy/extras/probe.py b/klippy/extras/probe.py
index 7778fc6a..7118e8ac 100644
--- a/klippy/extras/probe.py
+++ b/klippy/extras/probe.py
@@ -180,6 +180,19 @@ def lookup_minimum_z(config):
pconfig = config.getsection('printer')
return pconfig.getfloat('minimum_z_position', 0., note_valid=False)
+# Helper to lookup all the Z axis steppers
+class LookupZSteppers:
+ def __init__(self, config, add_stepper_cb):
+ self.printer = config.get_printer()
+ self.add_stepper_cb = add_stepper_cb
+ self.printer.register_event_handler('klippy:mcu_identify',
+ self._handle_mcu_identify)
+ def _handle_mcu_identify(self):
+ kin = self.printer.lookup_object('toolhead').get_kinematics()
+ for stepper in kin.get_steppers():
+ if stepper.is_active_axis('z'):
+ self.add_stepper_cb(stepper)
+
# Homing via probe:z_virtual_endstop
class HomingViaProbeHelper:
def __init__(self, config, mcu_probe, param_helper):
@@ -189,11 +202,10 @@ class HomingViaProbeHelper:
self.multi_probe_pending = False
self.z_min_position = lookup_minimum_z(config)
self.results = []
+ LookupZSteppers(config, self.mcu_probe.add_stepper)
# Register z_virtual_endstop pin
self.printer.lookup_object('pins').register_chip('probe', self)
# Register event handlers
- self.printer.register_event_handler('klippy:mcu_identify',
- self._handle_mcu_identify)
self.printer.register_event_handler("homing:homing_move_begin",
self._handle_homing_move_begin)
self.printer.register_event_handler("homing:homing_move_end",
@@ -204,11 +216,6 @@ class HomingViaProbeHelper:
self._handle_home_rails_end)
self.printer.register_event_handler("gcode:command_error",
self._handle_command_error)
- def _handle_mcu_identify(self):
- kin = self.printer.lookup_object('toolhead').get_kinematics()
- for stepper in kin.get_steppers():
- if stepper.is_active_axis('z'):
- self.mcu_probe.add_stepper(stepper)
def _handle_homing_move_begin(self, hmove):
if self.mcu_probe in hmove.get_mcu_endstops():
self.mcu_probe.probe_prepare(hmove)