diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2020-06-06 14:41:15 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2020-06-06 14:41:15 -0400 |
commit | 739e6e73963effdd64677872af87a303cd68c3de (patch) | |
tree | f7d1c3103765107ccdef5860b77463a446e6a67f /klippy/extras/extruder_stepper.py | |
parent | 518fe023b424e8e9284dea00d5ab1e4d0124db6c (diff) | |
download | kutter-739e6e73963effdd64677872af87a303cd68c3de.tar.gz kutter-739e6e73963effdd64677872af87a303cd68c3de.tar.xz kutter-739e6e73963effdd64677872af87a303cd68c3de.zip |
extruder_stepper: Don't directly access extruder member variables
Rework extruder.get_trapq() into extruder.sync_stepper() so that
extruder_stepper.py does not need to directly access the extruder
internals.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/extruder_stepper.py')
-rw-r--r-- | klippy/extras/extruder_stepper.py | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/klippy/extras/extruder_stepper.py b/klippy/extras/extruder_stepper.py index 58f16375..9678472a 100644 --- a/klippy/extras/extruder_stepper.py +++ b/klippy/extras/extruder_stepper.py @@ -23,23 +23,18 @@ class ExtruderStepper: desc=self.cmd_SYNC_STEPPER_TO_EXTRUDER_help) def handle_connect(self): extruder = self.printer.lookup_object(self.extruder_name) - self.stepper.set_trapq(extruder.get_trapq()) + extruder.sync_stepper(self.stepper) toolhead = self.printer.lookup_object('toolhead') toolhead.register_step_generator(self.stepper.generate_steps) cmd_SYNC_STEPPER_TO_EXTRUDER_help = "Set extruder stepper" def cmd_SYNC_STEPPER_TO_EXTRUDER(self, gcmd): - gcode = self.printer.lookup_object('gcode') - self.extruder_name = gcmd.get('EXTRUDER', None) - extruder = self.printer.lookup_object(self.extruder_name, None) - if extruder is not None: - epos = extruder.stepper.get_commanded_position() - self.stepper.set_position([epos, 0., 0.]) - self.stepper.set_trapq(extruder.get_trapq()) - gcode.respond_info("Extruder stepper now syncing with '%s'" - % (self.extruder_name)) - else: - raise gcmd.error("'%s' is not a valid extruder." - % (self.extruder_name)) + ename = gcmd.get('EXTRUDER') + extruder = self.printer.lookup_object(ename, None) + if extruder is None: + raise gcmd.error("'%s' is not a valid extruder." % (ename,)) + extruder.sync_stepper(self.stepper) + self.extruder_name = ename + gcmd.respond_info("Extruder stepper now syncing with '%s'" % (ename,)) def load_config_prefix(config): return ExtruderStepper(config) |