aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras
diff options
context:
space:
mode:
authornlef <52351624+nlef@users.noreply.github.com>2021-04-24 20:39:58 +0300
committerGitHub <noreply@github.com>2021-04-24 13:39:58 -0400
commit2d2db0f8393cbcfdddd9c07e1f70a0dc64e6d731 (patch)
tree62b27a12358349a22e18639e2f8ce6900d3cb775 /klippy/extras
parent200b62bcb4ea37e27e533d0d5d87c9c4deefe9ac (diff)
downloadkutter-2d2db0f8393cbcfdddd9c07e1f70a0dc64e6d731.tar.gz
kutter-2d2db0f8393cbcfdddd9c07e1f70a0dc64e6d731.tar.xz
kutter-2d2db0f8393cbcfdddd9c07e1f70a0dc64e6d731.zip
probe: Add deactivate_on_each_sample: param for Probe (#4161)
Signed-off-by: Nick Lefskiy <n.lefskiy@yandex.ru>
Diffstat (limited to 'klippy/extras')
-rw-r--r--klippy/extras/probe.py33
1 files changed, 25 insertions, 8 deletions
diff --git a/klippy/extras/probe.py b/klippy/extras/probe.py
index e4f7a9ac..47f438db 100644
--- a/klippy/extras/probe.py
+++ b/klippy/extras/probe.py
@@ -268,6 +268,8 @@ class ProbeEndstopWrapper:
def __init__(self, config):
self.printer = config.get_printer()
self.position_endstop = config.getfloat('z_offset')
+ self.stow_on_each_sample = config.getboolean(
+ 'deactivate_on_each_sample', True)
gcode_macro = self.printer.load_object(config, 'gcode_macro')
self.activate_gcode = gcode_macro.load_template(
config, 'activate_gcode', '')
@@ -287,29 +289,44 @@ class ProbeEndstopWrapper:
self.home_start = self.mcu_endstop.home_start
self.home_wait = self.mcu_endstop.home_wait
self.query_endstop = self.mcu_endstop.query_endstop
+ # multi probes state
+ self.multi = 'OFF'
def _build_config(self):
kin = self.printer.lookup_object('toolhead').get_kinematics()
for stepper in kin.get_steppers():
if stepper.is_active_axis('z'):
self.add_stepper(stepper)
- def multi_probe_begin(self):
- pass
- def multi_probe_end(self):
- pass
- def probe_prepare(self, hmove):
+ def raise_probe(self):
toolhead = self.printer.lookup_object('toolhead')
start_pos = toolhead.get_position()
- self.activate_gcode.run_gcode_from_command()
+ 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 probe_finish(self, hmove):
+ def lower_probe(self):
toolhead = self.printer.lookup_object('toolhead')
start_pos = toolhead.get_position()
- self.deactivate_gcode.run_gcode_from_command()
+ self.activate_gcode.run_gcode_from_command()
if toolhead.get_position()[:3] != start_pos[:3]:
raise self.printer.command_error(
"Toolhead moved during probe deactivate_gcode script")
+ def multi_probe_begin(self):
+ if self.stow_on_each_sample:
+ return
+ self.multi = 'FIRST'
+ def multi_probe_end(self):
+ if self.stow_on_each_sample:
+ return
+ self.raise_probe()
+ self.multi = 'OFF'
+ def probe_prepare(self, hmove):
+ if self.multi == 'OFF' or self.multi == 'FIRST':
+ self.lower_probe()
+ if self.multi == 'FIRST':
+ self.multi = 'ON'
+ def probe_finish(self, hmove):
+ if self.multi == 'OFF':
+ self.raise_probe()
def get_position_endstop(self):
return self.position_endstop