aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/kinematics
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-11-05 20:42:32 -0500
committerKevin O'Connor <kevin@koconnor.net>2019-11-15 12:32:04 -0500
commitd38aed07730ffe6746b69d0dc7933c960535c4b1 (patch)
tree62b627a0232a26c17ee9a092a0dcc406f1c64b18 /klippy/kinematics
parente1919e37316a106aec7d9fbfb0d4d5df7ad974c6 (diff)
downloadkutter-d38aed07730ffe6746b69d0dc7933c960535c4b1.tar.gz
kutter-d38aed07730ffe6746b69d0dc7933c960535c4b1.tar.xz
kutter-d38aed07730ffe6746b69d0dc7933c960535c4b1.zip
cartesian: Report dual_carriage_rails from get_steppers()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/kinematics')
-rw-r--r--klippy/kinematics/cartesian.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/klippy/kinematics/cartesian.py b/klippy/kinematics/cartesian.py
index 671914d5..7eded6e9 100644
--- a/klippy/kinematics/cartesian.py
+++ b/klippy/kinematics/cartesian.py
@@ -10,6 +10,8 @@ class CartKinematics:
def __init__(self, toolhead, config):
self.printer = config.get_printer()
# Setup axis rails
+ self.dual_carriage_axis = None
+ self.dual_carriage_rails = []
self.rails = [stepper.LookupMultiRail(config.getsection('stepper_' + n))
for n in 'xyz']
for rail, axis in zip(self.rails, 'xyz'):
@@ -33,8 +35,6 @@ class CartKinematics:
self.rails[2].set_max_jerk(
min(max_halt_velocity, self.max_z_velocity), max_accel)
# Check for dual carriage support
- self.dual_carriage_axis = None
- self.dual_carriage_rails = []
if config.has_section('dual_carriage'):
dc_config = config.getsection('dual_carriage')
dc_axis = dc_config.getchoice('axis', {'x': 'x', 'y': 'y'})
@@ -52,7 +52,11 @@ class CartKinematics:
def get_steppers(self, flags=""):
if flags == "Z":
return self.rails[2].get_steppers()
- return [s for rail in self.rails for s in rail.get_steppers()]
+ rails = self.rails
+ if self.dual_carriage_axis is not None:
+ dca = self.dual_carriage_axis
+ rails = rails[:dca] + self.dual_carriage_rails + rails[dca+1:]
+ return [s for rail in rails for s in rail.get_steppers()]
def calc_tag_position(self):
return [rail.get_tag_position() for rail in self.rails]
def set_position(self, newpos, homing_axes):