diff options
Diffstat (limited to 'klippy/cartesian.py')
-rw-r--r-- | klippy/cartesian.py | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/klippy/cartesian.py b/klippy/cartesian.py index 3da1f8ec..29de7f3a 100644 --- a/klippy/cartesian.py +++ b/klippy/cartesian.py @@ -64,20 +64,21 @@ class CartKinematics: s = stepper # Determine moves position_min, position_max = s.get_range() - if s.homing_positive_dir: - pos = s.position_endstop - 1.5*(s.position_endstop - position_min) - rpos = s.position_endstop - s.homing_retract_dist - r2pos = rpos - s.homing_retract_dist + hi = s.get_homing_info() + if hi.positive_dir: + pos = hi.position_endstop - 1.5*(hi.position_endstop - position_min) + rpos = hi.position_endstop - hi.retract_dist + r2pos = rpos - hi.retract_dist else: - pos = s.position_endstop + 1.5*(position_max - s.position_endstop) - rpos = s.position_endstop + s.homing_retract_dist - r2pos = rpos + s.homing_retract_dist + pos = hi.position_endstop + 1.5*(position_max - hi.position_endstop) + rpos = hi.position_endstop + hi.retract_dist + r2pos = rpos + hi.retract_dist # Initial homing - homing_speed = s.homing_speed + homing_speed = hi.speed if axis == 2: homing_speed = min(homing_speed, self.max_z_velocity) homepos = [None, None, None, None] - homepos[axis] = s.position_endstop + homepos[axis] = hi.position_endstop coord = [None, None, None, None] coord[axis] = pos homing_state.home(coord, homepos, s.get_endstops(), homing_speed) @@ -89,7 +90,7 @@ class CartKinematics: homing_state.home(coord, homepos, s.get_endstops(), homing_speed/2.0, second_home=True) # Set final homed position - coord[axis] = s.position_endstop + s.get_homed_offset() + coord[axis] = hi.position_endstop + s.get_homed_offset() homing_state.set_homed_position(coord) def home(self, homing_state): # Each axis is homed independently and in order |