From 02d5f9754fc7f9e493c8bc5a6418e2a9ea9d7ae1 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 11 Jan 2022 18:13:21 -0500 Subject: extruder: Support disassociating a stepper from all extruders Support SYNC_STEPPER_TO_EXTRUDER commands with an EXTRUDER parameter set to an empty string. Signed-off-by: Kevin O'Connor --- klippy/kinematics/extruder.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'klippy/kinematics/extruder.py') diff --git a/klippy/kinematics/extruder.py b/klippy/kinematics/extruder.py index e3db152b..e3bc8916 100644 --- a/klippy/kinematics/extruder.py +++ b/klippy/kinematics/extruder.py @@ -44,12 +44,15 @@ class ExtruderStepper: mcu_pos = self.stepper.get_past_mcu_position(print_time) return self.stepper.mcu_to_commanded_position(mcu_pos) def sync_to_extruder(self, extruder_name): + toolhead = self.printer.lookup_object('toolhead') + toolhead.flush_step_generation() + if not extruder_name: + self.stepper.set_trapq(None) + return extruder = self.printer.lookup_object(extruder_name, None) if extruder is None or not isinstance(extruder, PrinterExtruder): raise self.printer.command_error("'%s' is not a valid extruder." % (extruder_name,)) - toolhead = self.printer.lookup_object('toolhead') - toolhead.flush_step_generation() self.stepper.set_position([extruder.last_position, 0., 0.]) self.stepper.set_trapq(extruder.get_trapq()) def _set_pressure_advance(self, pressure_advance, smooth_time): -- cgit v1.2.3-70-g09d2