diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2025-01-10 11:27:30 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2025-01-21 18:58:23 -0500 |
commit | 4aa550837fc170d0b77a0d461ca4f970b7bee7ae (patch) | |
tree | 7a185d949b9179c5f9b3977539e9cfda5ca7756e /klippy/extras | |
parent | c72d73ec450119b5fbe13d98409037a21ae97101 (diff) | |
download | kutter-4aa550837fc170d0b77a0d461ca4f970b7bee7ae.tar.gz kutter-4aa550837fc170d0b77a0d461ca4f970b7bee7ae.tar.xz kutter-4aa550837fc170d0b77a0d461ca4f970b7bee7ae.zip |
toolhead: Pass set_position() homing_axes parameter as a string
Use strings such as "xyz" to specify which axes are to be considered
homing during a set_position() call. This makes the parameter a
little less cryptic.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras')
-rw-r--r-- | klippy/extras/force_move.py | 2 | ||||
-rw-r--r-- | klippy/extras/homing.py | 5 | ||||
-rw-r--r-- | klippy/extras/homing_override.py | 4 | ||||
-rw-r--r-- | klippy/extras/manual_stepper.py | 2 | ||||
-rw-r--r-- | klippy/extras/safe_z_home.py | 2 |
5 files changed, 8 insertions, 7 deletions
diff --git a/klippy/extras/force_move.py b/klippy/extras/force_move.py index 598783a4..0b2187fd 100644 --- a/klippy/extras/force_move.py +++ b/klippy/extras/force_move.py @@ -136,7 +136,7 @@ class ForceMove: clear_axes = [axes.index(a) for a in axes if a in clear] logging.info("SET_KINEMATIC_POSITION pos=%.3f,%.3f,%.3f clear=%s", x, y, z, ','.join((axes[i] for i in clear_axes))) - toolhead.set_position([x, y, z, curpos[3]], homing_axes=(0, 1, 2)) + toolhead.set_position([x, y, z, curpos[3]], homing_axes="xyz") toolhead.get_kinematics().clear_homing_state(clear_axes) def load_config(config): diff --git a/klippy/extras/homing.py b/klippy/extras/homing.py index bbad5337..add209ec 100644 --- a/klippy/extras/homing.py +++ b/klippy/extras/homing.py @@ -187,7 +187,8 @@ class Homing: # Notify of upcoming homing operation self.printer.send_event("homing:home_rails_begin", self, rails) # Alter kinematics class to think printer is at forcepos - homing_axes = [axis for axis in range(3) if forcepos[axis] is not None] + force_axes = [axis for axis in range(3) if forcepos[axis] is not None] + homing_axes = "".join(["xyz"[i] for i in force_axes]) startpos = self._fill_coord(forcepos) homepos = self._fill_coord(movepos) self.toolhead.set_position(startpos, homing_axes=homing_axes) @@ -231,7 +232,7 @@ class Homing: + self.adjust_pos.get(s.get_name(), 0.)) for s in kin.get_steppers()} newpos = kin.calc_position(kin_spos) - for axis in homing_axes: + for axis in force_axes: homepos[axis] = newpos[axis] self.toolhead.set_position(homepos) diff --git a/klippy/extras/homing_override.py b/klippy/extras/homing_override.py index e498c8b8..0a987d59 100644 --- a/klippy/extras/homing_override.py +++ b/klippy/extras/homing_override.py @@ -46,11 +46,11 @@ class HomingOverride: # Calculate forced position (if configured) toolhead = self.printer.lookup_object('toolhead') pos = toolhead.get_position() - homing_axes = [] + homing_axes = "" for axis, loc in enumerate(self.start_pos): if loc is not None: pos[axis] = loc - homing_axes.append(axis) + homing_axes += "xyz"[axis] toolhead.set_position(pos, homing_axes=homing_axes) # Perform homing context = self.template.create_template_context() diff --git a/klippy/extras/manual_stepper.py b/klippy/extras/manual_stepper.py index 40db4a50..9f21cc8d 100644 --- a/klippy/extras/manual_stepper.py +++ b/klippy/extras/manual_stepper.py @@ -109,7 +109,7 @@ class ManualStepper: self.sync_print_time() def get_position(self): return [self.rail.get_commanded_position(), 0., 0., 0.] - def set_position(self, newpos, homing_axes=()): + def set_position(self, newpos, homing_axes=""): self.do_set_position(newpos[0]) def get_last_move_time(self): self.sync_print_time() diff --git a/klippy/extras/safe_z_home.py b/klippy/extras/safe_z_home.py index ca0756cf..3ebaa13e 100644 --- a/klippy/extras/safe_z_home.py +++ b/klippy/extras/safe_z_home.py @@ -37,7 +37,7 @@ class SafeZHoming: if 'z' not in kin_status['homed_axes']: # Always perform the z_hop if the Z axis is not homed pos[2] = 0 - toolhead.set_position(pos, homing_axes=[2]) + toolhead.set_position(pos, homing_axes="z") toolhead.manual_move([None, None, self.z_hop], self.z_hop_speed) toolhead.get_kinematics().clear_homing_state((2,)) |