homing_override: Allow moves prior to homing an axis

Add support for disabling homing checks via the homing_override
mechanism.  This may be useful to move an axis prior to homing it.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor
2018-01-16 18:58:41 -05:00
parent 01bb4b291e
commit 1a67902858
7 changed files with 42 additions and 14 deletions

View File

@@ -32,14 +32,16 @@ class CartKinematics:
return list(self.steppers)
def get_position(self):
return [s.mcu_stepper.get_commanded_position() for s in self.steppers]
def set_position(self, newpos):
def set_position(self, newpos, homing_axes):
for i in StepList:
self.steppers[i].set_position(newpos[i])
s = self.steppers[i]
s.set_position(newpos[i])
if i in homing_axes:
self.limits[i] = (s.position_min, s.position_max)
def home(self, homing_state):
# Each axis is homed independently and in order
for axis in homing_state.get_axes():
s = self.steppers[axis]
self.limits[axis] = (s.position_min, s.position_max)
# Determine moves
if s.homing_positive_dir:
pos = s.position_endstop - 1.5*(