aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/extruder_stepper.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2020-06-06 14:41:15 -0400
committerKevin O'Connor <kevin@koconnor.net>2020-06-06 14:41:15 -0400
commit739e6e73963effdd64677872af87a303cd68c3de (patch)
treef7d1c3103765107ccdef5860b77463a446e6a67f /klippy/extras/extruder_stepper.py
parent518fe023b424e8e9284dea00d5ab1e4d0124db6c (diff)
downloadkutter-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.py21
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)