diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2016-12-08 18:12:20 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2016-12-09 17:09:51 -0500 |
commit | 89f5452ddbcaecfba7cee5a3ba73b2659746d63f (patch) | |
tree | ac505b60430357ea9a79b90e3b3f3aa157ff3f7b /klippy/cartesian.py | |
parent | a6de1db94d108f401f7f3e67f735743106e16837 (diff) | |
download | kutter-89f5452ddbcaecfba7cee5a3ba73b2659746d63f.tar.gz kutter-89f5452ddbcaecfba7cee5a3ba73b2659746d63f.tar.xz kutter-89f5452ddbcaecfba7cee5a3ba73b2659746d63f.zip |
gcode: Rework homing to use greenlets
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/cartesian.py')
-rw-r--r-- | klippy/cartesian.py | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/klippy/cartesian.py b/klippy/cartesian.py index 5171297e..b2bd9661 100644 --- a/klippy/cartesian.py +++ b/klippy/cartesian.py @@ -28,12 +28,6 @@ class CartKinematics: for i in StepList: s = self.steppers[i] s.mcu_stepper.set_position(int(newpos[i]*s.inv_step_dist + 0.5)) - def _get_homed_position(self, homing_state): - pos = [None]*3 - for axis in homing_state.get_axes(): - s = self.steppers[axis] - pos[axis] = s.position_endstop + s.get_homed_offset()*s.step_dist - return pos def home(self, homing_state): # Each axis is homed independently and in order for axis in homing_state.get_axes(): @@ -55,15 +49,17 @@ class CartKinematics: homepos[axis] = s.position_endstop coord = [None, None, None, None] coord[axis] = pos - homing_state.plan_home(list(coord), homepos, [s], s.homing_speed) + homing_state.home(list(coord), homepos, [s], s.homing_speed) # Retract coord[axis] = rpos - homing_state.plan_retract(list(coord), [s], s.homing_speed) + homing_state.retract(list(coord), s.homing_speed) # Home again coord[axis] = r2pos - homing_state.plan_second_home( - list(coord), homepos, [s], s.homing_speed/2.0) - homing_state.plan_calc_position(self._get_homed_position) + homing_state.home( + list(coord), homepos, [s], s.homing_speed/2.0, second_home=True) + # Set final homed position + coord[axis] = s.position_endstop + s.get_homed_offset()*s.step_dist + homing_state.set_homed_position(coord) def motor_off(self, move_time): self.limits = [(1.0, -1.0)] * 3 for stepper in self.steppers: |