aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2025-04-04 02:14:01 -0400
committerKevin O'Connor <kevin@koconnor.net>2025-04-18 14:38:34 -0400
commitf8de9ae080933e2715b639546c539003e1b34894 (patch)
tree83e55eab4a8d94938a0573e3c8ba043d40bbf6b0
parent6a87c5e9f56d95b60ed6d7c471bfdc226353c97e (diff)
downloadkutter-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>
-rw-r--r--klippy/extras/bltouch.py2
-rw-r--r--klippy/extras/probe.py17
-rw-r--r--klippy/extras/probe_eddy_current.py1
-rw-r--r--klippy/extras/smart_effector.py2
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: