aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/probe.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2020-08-16 22:43:03 -0400
committerKevin O'Connor <kevin@koconnor.net>2020-08-20 21:03:22 -0400
commit2caaaea9a4bdd55846cdcf24b0efba60bcdfbd51 (patch)
treeca1d47ac706e350bc2dfdfa0c5553dbd674f6acb /klippy/extras/probe.py
parentb9ac6d63069974a90a3740eaf2a3e5ae81e35470 (diff)
downloadkutter-2caaaea9a4bdd55846cdcf24b0efba60bcdfbd51.tar.gz
kutter-2caaaea9a4bdd55846cdcf24b0efba60bcdfbd51.tar.xz
kutter-2caaaea9a4bdd55846cdcf24b0efba60bcdfbd51.zip
toolhead: Add a manual_move() helper function
Add a helper function for submitting relative movements. This function will also automatically ensure gcode.reset_last_position() is called. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/probe.py')
-rw-r--r--klippy/extras/probe.py22
1 files changed, 6 insertions, 16 deletions
diff --git a/klippy/extras/probe.py b/klippy/extras/probe.py
index 539a6572..d97a5e7f 100644
--- a/klippy/extras/probe.py
+++ b/klippy/extras/probe.py
@@ -125,13 +125,7 @@ class PrinterProbe:
% (pos[0], pos[1], pos[2]))
return pos[:3]
def _move(self, coord, speed):
- toolhead = self.printer.lookup_object('toolhead')
- curpos = toolhead.get_position()
- for i in range(len(coord)):
- if coord[i] is not None:
- curpos[i] = coord[i]
- toolhead.move(curpos, speed)
- self.gcode.reset_last_position()
+ self.printer.lookup_object('toolhead').manual_move(coord, speed)
def _calc_mean(self, positions):
count = float(len(positions))
return [sum([pos[i] for pos in positions]) / count
@@ -354,24 +348,20 @@ class ProbePointsHelper:
if not self.results:
# Use full speed to first probe position
speed = self.speed
- curpos = toolhead.get_position()
- curpos[2] = self.horizontal_move_z
- toolhead.move(curpos, speed)
+ toolhead.manual_move([None, None, self.horizontal_move_z], speed)
# Check if done probing
if len(self.results) >= len(self.probe_points):
- self.gcode.reset_last_position()
toolhead.get_last_move_time()
res = self.finalize_callback(self.probe_offsets, self.results)
if res != "retry":
return True
self.results = []
# Move to next XY probe point
- curpos[:2] = self.probe_points[len(self.results)]
+ nextpos = list(self.probe_points[len(self.results)])
if self.use_offsets:
- curpos[0] -= self.probe_offsets[0]
- curpos[1] -= self.probe_offsets[1]
- toolhead.move(curpos, self.speed)
- self.gcode.reset_last_position()
+ nextpos[0] -= self.probe_offsets[0]
+ nextpos[1] -= self.probe_offsets[1]
+ toolhead.manual_move(nextpos, self.speed)
return False
def start_probe(self, gcmd):
manual_probe.verify_no_manual_probe(self.printer)