diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-11-05 20:42:32 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-11-15 12:32:04 -0500 |
commit | d38aed07730ffe6746b69d0dc7933c960535c4b1 (patch) | |
tree | 62b627a0232a26c17ee9a092a0dcc406f1c64b18 | |
parent | e1919e37316a106aec7d9fbfb0d4d5df7ad974c6 (diff) | |
download | kutter-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>
-rw-r--r-- | klippy/kinematics/cartesian.py | 10 |
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): |