From 2caaaea9a4bdd55846cdcf24b0efba60bcdfbd51 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Sun, 16 Aug 2020 22:43:03 -0400 Subject: 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 --- klippy/extras/probe.py | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) (limited to 'klippy/extras/probe.py') 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) -- cgit v1.2.3-70-g09d2