Skip to content

Commit

Permalink
extruder: Fixed tracking of ExtruderStepper to Extruder linking
Browse files Browse the repository at this point in the history
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
  • Loading branch information
dmbutyugin committed Dec 3, 2024
1 parent 555fd02 commit 516ed02
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions klippy/kinematics/extruder.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,9 +240,9 @@ def sync_to_extruder(self, extruder_name):
if extruder is None or not isinstance(extruder, PrinterExtruder):
raise self.printer.command_error("'%s' is not a valid extruder."
% (extruder_name,))
if self.extruder is not None and self.extruder != extruder:
self.extruder.unlink_extruder_stepper(self)
extruder.link_extruder_stepper(self)
self.motion_queue = extruder_name
self.extruder = extruder
def _update_pressure_advance(self, pa_model, time_offset):
toolhead = self.printer.lookup_object('toolhead')
ffi_main, ffi_lib = chelper.get_ffi()
Expand Down Expand Up @@ -388,7 +388,6 @@ def __init__(self, config, extruder_num):
or config.get('dir_pin', None) is not None
or config.get('rotation_distance', None) is not None):
self.link_extruder_stepper(ExtruderStepper(config))
self.extruder_steppers[-1].motion_queue = self.name
# Register commands
gcode = self.printer.lookup_object('gcode')
if self.name == 'extruder':
Expand All @@ -403,10 +402,14 @@ def link_extruder_stepper(self, extruder_stepper):
self.extruder_steppers.append(extruder_stepper)
extruder_stepper.stepper.set_position(self.last_position)
extruder_stepper.stepper.set_trapq(self.trapq)
extruder_stepper.motion_queue = self.name
extruder_stepper.extruder = self
def unlink_extruder_stepper(self, extruder_stepper):
if extruder_stepper in self.extruder_steppers:
self.extruder_steppers.remove(extruder_stepper)
extruder_stepper.stepper.set_trapq(None)
extruder_stepper.motion_queue = None
extruder_stepper.extruder = None
def get_extruder_steppers(self):
return self.extruder_steppers
def update_move_time(self, flush_time, clear_history_time):
Expand Down

0 comments on commit 516ed02

Please sign in to comment.