aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/kinematics/hybrid_corexy.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/kinematics/hybrid_corexy.py')
-rw-r--r--klippy/kinematics/hybrid_corexy.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/klippy/kinematics/hybrid_corexy.py b/klippy/kinematics/hybrid_corexy.py
index 1c2164eb..e852826a 100644
--- a/klippy/kinematics/hybrid_corexy.py
+++ b/klippy/kinematics/hybrid_corexy.py
@@ -57,7 +57,7 @@ class HybridCoreXYKinematics:
pos = [stepper_positions[rail.get_name()] for rail in self.rails]
if (self.dc_module is not None and 'PRIMARY' == \
self.dc_module.get_status()['carriage_1']):
- return [pos[0] - pos[1], pos[1], pos[2]]
+ return [pos[3] - pos[1], pos[1], pos[2]]
else:
return [pos[0] + pos[1], pos[1], pos[2]]
def update_limits(self, i, range):
@@ -66,13 +66,15 @@ class HybridCoreXYKinematics:
# otherwise leave in un-homed state.
if l <= h:
self.limits[i] = range
- def override_rail(self, i, rail):
- self.rails[i] = rail
def set_position(self, newpos, homing_axes):
for i, rail in enumerate(self.rails):
rail.set_position(newpos)
- if i in homing_axes:
- self.limits[i] = rail.get_range()
+ for axis in homing_axes:
+ if self.dc_module and axis == self.dc_module.axis:
+ rail = self.dc_module.get_primary_rail().get_rail()
+ else:
+ rail = self.rails[axis]
+ self.limits[axis] = rail.get_range()
def note_z_not_homed(self):
# Helper for Safe Z Home
self.limits[2] = (1.0, -1.0)