aboutsummaryrefslogtreecommitdiffstats
path: root/klippy
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-10-09 12:53:01 -0400
committerKevin O'Connor <kevin@koconnor.net>2018-10-10 14:30:09 -0400
commitd32506bd2eb6c5231d83b063ad528a26f0dda563 (patch)
treedd539e776ca39d060527043d861c5c4e8dd2a92a /klippy
parent770b92863f391df5af45909070bc2e87609c5d45 (diff)
downloadkutter-d32506bd2eb6c5231d83b063ad528a26f0dda563.tar.gz
kutter-d32506bd2eb6c5231d83b063ad528a26f0dda563.tar.xz
kutter-d32506bd2eb6c5231d83b063ad528a26f0dda563.zip
homing: Move homing offset adjustment logic to generic homing code
Move the "stepper phase" adjustment logic from the kinematic classes to the generic homing.py code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy')
-rw-r--r--klippy/homing.py8
-rw-r--r--klippy/kinematics/cartesian.py3
-rw-r--r--klippy/kinematics/corexy.py4
-rw-r--r--klippy/kinematics/delta.py4
4 files changed, 8 insertions, 11 deletions
diff --git a/klippy/homing.py b/klippy/homing.py
index c53a65d4..901af03d 100644
--- a/klippy/homing.py
+++ b/klippy/homing.py
@@ -123,6 +123,14 @@ class Homing:
self.toolhead.set_position(forcepos)
self.homing_move(movepos, endstops, second_homing_speed,
verify_movement=self.verify_retract)
+ # Apply homing offsets
+ for rail in rails:
+ cp = rail.get_commanded_position()
+ rail.set_commanded_position(cp + rail.get_homed_offset())
+ adjustpos = self.toolhead.get_kinematics().calc_position()
+ for axis in homing_axes:
+ movepos[axis] = adjustpos[axis]
+ self.toolhead.set_position(movepos)
def home_axes(self, axes):
self.changed_axes = axes
try:
diff --git a/klippy/kinematics/cartesian.py b/klippy/kinematics/cartesian.py
index 6e971fb5..0ce28dbe 100644
--- a/klippy/kinematics/cartesian.py
+++ b/klippy/kinematics/cartesian.py
@@ -70,9 +70,6 @@ class CartKinematics:
if axis == 2:
limit_speed = self.max_z_velocity
homing_state.home_rails([rail], forcepos, homepos, limit_speed)
- # Set final homed position
- forcepos[axis] = hi.position_endstop + rail.get_homed_offset()
- homing_state.set_homed_position(forcepos)
def home(self, homing_state):
# Each axis is homed independently and in order
for axis in homing_state.get_axes():
diff --git a/klippy/kinematics/corexy.py b/klippy/kinematics/corexy.py
index 99f48fbf..e7ab2f24 100644
--- a/klippy/kinematics/corexy.py
+++ b/klippy/kinematics/corexy.py
@@ -63,10 +63,6 @@ class CoreXYKinematics:
if axis == 2:
limit_speed = self.max_z_velocity
homing_state.home_rails([rail], forcepos, homepos, limit_speed)
- if axis == 2:
- # Support endstop phase detection on Z axis
- forcepos[axis] = hi.position_endstop + rail.get_homed_offset()
- homing_state.set_homed_position(forcepos)
def motor_off(self, print_time):
self.limits = [(1.0, -1.0)] * 3
for rail in self.rails:
diff --git a/klippy/kinematics/delta.py b/klippy/kinematics/delta.py
index 3f453578..d770ec1d 100644
--- a/klippy/kinematics/delta.py
+++ b/klippy/kinematics/delta.py
@@ -103,10 +103,6 @@ class DeltaKinematics:
forcepos[2] = -1.5 * math.sqrt(max(self.arm2)-self.max_xy2)
homing_state.home_rails(self.rails, forcepos, self.home_position,
limit_speed=self.max_z_velocity)
- # Set final homed position
- spos = [ep + rail.get_homed_offset()
- for ep, rail in zip(self.abs_endstops, self.rails)]
- homing_state.set_homed_position(self._actuator_to_cartesian(spos))
def motor_off(self, print_time):
self.limit_xy2 = -1.
for rail in self.rails: