force_move: Implement CLEAR for SET_KINEMATIC_POSITION (#6262)

`CLEAR` clears the homing status (resets the axis limits) without turning off
the motors. This is particularly useful when implementing safe Z homing in
`[homing_override]` on printers with multiple independent Z steppers (where
`FORCE_MOVE` can't be used).

Signed-off-by: Dennis Marttinen <twelho@welho.tech>
This commit is contained in:
Dennis Marttinen
2025-01-10 15:41:09 +00:00
committed by GitHub
parent 9ca71d8608
commit 7083879700
16 changed files with 77 additions and 46 deletions

View File

@@ -117,6 +117,10 @@ class DeltesianKinematics:
rail.set_position(newpos)
for n in homing_axes:
self.homed_axis[n] = True
def clear_homing_state(self, axes):
for i, _ in enumerate(self.limits):
if i in axes:
self.homed_axis[i] = False
def home(self, homing_state):
homing_axes = homing_state.get_axes()
home_xz = 0 in homing_axes or 2 in homing_axes