aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--klippy/extras/smart_effector.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/klippy/extras/smart_effector.py b/klippy/extras/smart_effector.py
index c33de527..72653142 100644
--- a/klippy/extras/smart_effector.py
+++ b/klippy/extras/smart_effector.py
@@ -48,7 +48,7 @@ class ControlPinHelper:
bit_time += bit_step
return bit_time
-class SmartEffectorEndstopWrapper:
+class SmartEffectorProbe:
def __init__(self, config):
self.printer = config.get_printer()
self.gcode = self.printer.lookup_object('gcode')
@@ -64,6 +64,11 @@ class SmartEffectorEndstopWrapper:
self.query_endstop = self.probe_wrapper.query_endstop
self.multi_probe_begin = self.probe_wrapper.multi_probe_begin
self.multi_probe_end = self.probe_wrapper.multi_probe_end
+ # Common probe implementation helpers
+ 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)
# SmartEffector control
control_pin = config.get('control_pin', None)
if control_pin:
@@ -78,6 +83,14 @@ class SmartEffectorEndstopWrapper:
self.gcode.register_command("SET_SMART_EFFECTOR",
self.cmd_SET_SMART_EFFECTOR,
desc=self.cmd_SET_SMART_EFFECTOR_help)
+ def get_probe_params(self, gcmd=None):
+ return self.probe_session.get_probe_params(gcmd)
+ def get_offsets(self):
+ return self.probe_offsets.get_offsets()
+ def get_status(self, eventtime):
+ return self.cmd_helper.get_status(eventtime)
+ def start_probe_session(self, gcmd):
+ return self.probe_session.start_probe_session(gcmd)
def probing_move(self, pos, speed):
phoming = self.printer.lookup_object('homing')
return phoming.probing_move(self, pos, speed)
@@ -151,7 +164,6 @@ class SmartEffectorEndstopWrapper:
gcmd.respond_info('SmartEffector sensitivity was reset')
def load_config(config):
- smart_effector = SmartEffectorEndstopWrapper(config)
- config.get_printer().add_object('probe',
- probe.PrinterProbe(config, smart_effector))
+ smart_effector = SmartEffectorProbe(config)
+ config.get_printer().add_object('probe', smart_effector)
return smart_effector