aboutsummaryrefslogtreecommitdiffstats
path: root/klippy
diff options
context:
space:
mode:
Diffstat (limited to 'klippy')
-rw-r--r--klippy/extras/extruder_stepper.py21
-rw-r--r--klippy/kinematics/extruder.py6
2 files changed, 12 insertions, 15 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)
diff --git a/klippy/kinematics/extruder.py b/klippy/kinematics/extruder.py
index c0ba299c..3a03b606 100644
--- a/klippy/kinematics/extruder.py
+++ b/klippy/kinematics/extruder.py
@@ -98,8 +98,10 @@ class PrinterExtruder:
return self.name
def get_heater(self):
return self.heater
- def get_trapq(self):
- return self.trapq
+ def sync_stepper(self, stepper):
+ epos = self.stepper.get_commanded_position()
+ stepper.set_position([epos, 0., 0.])
+ stepper.set_trapq(self.trapq)
def stats(self, eventtime):
return self.heater.stats(eventtime)
def check_move(self, move):