diff options
author | nlef <52351624+nlef@users.noreply.github.com> | 2021-04-24 20:39:58 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-24 13:39:58 -0400 |
commit | 2d2db0f8393cbcfdddd9c07e1f70a0dc64e6d731 (patch) | |
tree | 62b27a12358349a22e18639e2f8ce6900d3cb775 /klippy/extras | |
parent | 200b62bcb4ea37e27e533d0d5d87c9c4deefe9ac (diff) | |
download | kutter-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.py | 33 |
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 |