aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/kinematics/cartesian.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/kinematics/cartesian.py')
-rw-r--r--klippy/kinematics/cartesian.py23
1 files changed, 10 insertions, 13 deletions
diff --git a/klippy/kinematics/cartesian.py b/klippy/kinematics/cartesian.py
index 2a50a05d..0524469a 100644
--- a/klippy/kinematics/cartesian.py
+++ b/klippy/kinematics/cartesian.py
@@ -29,14 +29,10 @@ class CartKinematics:
self.rails.append(stepper.LookupMultiRail(dc_config))
self.rails[3].setup_itersolve('cartesian_stepper_alloc',
dc_axis.encode())
- dc_rail_0 = idex_modes.DualCarriagesRail(
- self.rails[self.dual_carriage_axis],
- axis=self.dual_carriage_axis, active=True)
- dc_rail_1 = idex_modes.DualCarriagesRail(
- self.rails[3], axis=self.dual_carriage_axis, active=False)
self.dc_module = idex_modes.DualCarriages(
- dc_config, dc_rail_0, dc_rail_1,
- axis=self.dual_carriage_axis)
+ self.printer, [self.rails[self.dual_carriage_axis]],
+ [self.rails[3]], axes=[self.dual_carriage_axis],
+ safe_dist=config.getfloat('safe_distance', None, minval=0.))
for s in self.get_steppers():
s.set_trapq(toolhead.get_trapq())
toolhead.register_step_generator(s.generate_steps)
@@ -52,9 +48,10 @@ class CartKinematics:
def calc_position(self, stepper_positions):
rails = self.rails
if self.dc_module:
- primary_rail = self.dc_module.get_primary_rail().get_rail()
- rails = (rails[:self.dc_module.axis] +
- [primary_rail] + rails[self.dc_module.axis+1:])
+ primary_rail = self.dc_module.get_primary_rail(
+ self.dual_carriage_axis)
+ rails = (rails[:self.dual_carriage_axis] +
+ [primary_rail] + rails[self.dual_carriage_axis+1:])
return [stepper_positions[rail.get_name()] for rail in rails]
def update_limits(self, i, range):
l, h = self.limits[i]
@@ -67,8 +64,8 @@ class CartKinematics:
rail.set_position(newpos)
for axis_name in homing_axes:
axis = "xyz".index(axis_name)
- if self.dc_module and axis == self.dc_module.axis:
- rail = self.dc_module.get_primary_rail().get_rail()
+ if self.dc_module and axis == self.dual_carriage_axis:
+ rail = self.dc_module.get_primary_rail(self.dual_carriage_axis)
else:
rail = self.rails[axis]
self.limits[axis] = rail.get_range()
@@ -93,7 +90,7 @@ class CartKinematics:
# Each axis is homed independently and in order
for axis in homing_state.get_axes():
if self.dc_module is not None and axis == self.dual_carriage_axis:
- self.dc_module.home(homing_state)
+ self.dc_module.home(homing_state, self.dual_carriage_axis)
else:
self.home_axis(homing_state, axis, self.rails[axis])
def _check_endstops(self, move):