diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2025-04-04 02:14:01 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2025-04-18 14:38:34 -0400 |
commit | f8de9ae080933e2715b639546c539003e1b34894 (patch) | |
tree | 83e55eab4a8d94938a0573e3c8ba043d40bbf6b0 /klippy/extras | |
parent | 6a87c5e9f56d95b60ed6d7c471bfdc226353c97e (diff) | |
download | kutter-f8de9ae080933e2715b639546c539003e1b34894.tar.gz kutter-f8de9ae080933e2715b639546c539003e1b34894.tar.xz kutter-f8de9ae080933e2715b639546c539003e1b34894.zip |
probe: Add a new ProbeEndstopSessionHelper class
Move the HomingViaProbeHelper() instance from ProbeSessionHelper to a
new ProbeEndstopSessionHelper class.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras')
-rw-r--r-- | klippy/extras/bltouch.py | 2 | ||||
-rw-r--r-- | klippy/extras/probe.py | 17 | ||||
-rw-r--r-- | klippy/extras/probe_eddy_current.py | 1 | ||||
-rw-r--r-- | klippy/extras/smart_effector.py | 2 |
4 files changed, 15 insertions, 7 deletions
diff --git a/klippy/extras/bltouch.py b/klippy/extras/bltouch.py index 6fba29fc..3d817d72 100644 --- a/klippy/extras/bltouch.py +++ b/klippy/extras/bltouch.py @@ -64,7 +64,7 @@ class BLTouchProbe: self.cmd_helper = probe.ProbeCommandHelper( config, self, self.mcu_endstop.query_endstop) self.probe_offsets = probe.ProbeOffsetsHelper(config) - self.probe_session = probe.ProbeSessionHelper(config, self) + self.probe_session = probe.ProbeEndstopSessionHelper(config, self) # Register BLTOUCH_DEBUG command self.gcode = self.printer.lookup_object('gcode') self.gcode.register_command("BLTOUCH_DEBUG", self.cmd_BLTOUCH_DEBUG, diff --git a/klippy/extras/probe.py b/klippy/extras/probe.py index 06e23220..b1ed234c 100644 --- a/klippy/extras/probe.py +++ b/klippy/extras/probe.py @@ -237,6 +237,7 @@ class ProbeSessionHelper: def __init__(self, config, mcu_probe, probing_move_cb=None): self.printer = config.get_printer() self.mcu_probe = mcu_probe + self.probing_move_cb = probing_move_cb gcode = self.printer.lookup_object('gcode') self.dummy_gcode_cmd = gcode.create_gcode_command("", "", {}) # Infer Z position to move to during a probe @@ -248,10 +249,6 @@ class ProbeSessionHelper: pconfig = config.getsection('printer') self.z_position = pconfig.getfloat('minimum_z_position', 0., note_valid=False) - self.homing_helper = HomingViaProbeHelper(config, mcu_probe) - self.probing_move_cb = probing_move_cb - if probing_move_cb is None: - self.probing_move_cb = self.homing_helper.probing_move # Configurable probing speeds self.speed = config.getfloat('speed', 5.0, above=0.) self.lift_speed = config.getfloat('lift_speed', self.speed, above=0.) @@ -369,6 +366,16 @@ class ProbeSessionHelper: self.results = [] return res +# Helper for probes based purely on an endstop wrapper +class ProbeEndstopSessionHelper: + def __init__(self, config, mcu_probe): + self.homing_helper = HomingViaProbeHelper(config, mcu_probe) + self.probe_session = ProbeSessionHelper(config, mcu_probe, + self.homing_helper.probing_move) + # Main printer probe session starting API + self.start_probe_session = self.probe_session.start_probe_session + self.get_probe_params = self.probe_session.get_probe_params + # Helper to read the xyz probe offsets from the config class ProbeOffsetsHelper: def __init__(self, config): @@ -570,7 +577,7 @@ class PrinterProbe: self.cmd_helper = ProbeCommandHelper(config, self, self.mcu_probe.query_endstop) self.probe_offsets = ProbeOffsetsHelper(config) - self.probe_session = ProbeSessionHelper(config, self.mcu_probe) + self.probe_session = ProbeEndstopSessionHelper(config, self.mcu_probe) def get_probe_params(self, gcmd=None): return self.probe_session.get_probe_params(gcmd) def get_offsets(self): diff --git a/klippy/extras/probe_eddy_current.py b/klippy/extras/probe_eddy_current.py index 2937e013..06adafdf 100644 --- a/klippy/extras/probe_eddy_current.py +++ b/klippy/extras/probe_eddy_current.py @@ -428,6 +428,7 @@ class PrinterEddyProbe: self.cmd_helper = probe.ProbeCommandHelper( config, self, self.mcu_probe.query_endstop) self.probe_offsets = probe.ProbeOffsetsHelper(config) + self.homing_helper = probe.HomingViaProbeHelper(config, self.mcu_probe) self.probe_session = probe.ProbeSessionHelper( config, self.mcu_probe, self.mcu_probe.probing_move) self.printer.add_object('probe', self) diff --git a/klippy/extras/smart_effector.py b/klippy/extras/smart_effector.py index 81855078..963d9fa5 100644 --- a/klippy/extras/smart_effector.py +++ b/klippy/extras/smart_effector.py @@ -69,7 +69,7 @@ class SmartEffectorProbe: self.cmd_helper = probe.ProbeCommandHelper( config, self, self.probe_wrapper.query_endstop) self.probe_offsets = probe.ProbeOffsetsHelper(config) - self.probe_session = probe.ProbeSessionHelper(config, self) + self.probe_session = probe.ProbeEndstopSessionHelper(config, self) # SmartEffector control control_pin = config.get('control_pin', None) if control_pin: |