diff --git a/klippy/kinematics/extruder.py b/klippy/kinematics/extruder.py index e3303982..76f9c35e 100644 --- a/klippy/kinematics/extruder.py +++ b/klippy/kinematics/extruder.py @@ -81,6 +81,9 @@ class ExtruderStepper: extruder = self.printer.lookup_object('toolhead').get_extruder() if extruder.extruder_stepper is None: raise gcmd.error("Active extruder does not have a stepper") + strapq = extruder.extruder_stepper.stepper.get_trapq() + if strapq is not extruder.get_trapq(): + raise gcmd.error("Unable to infer active extruder stepper") extruder.extruder_stepper.cmd_SET_PRESSURE_ADVANCE(gcmd) def cmd_SET_PRESSURE_ADVANCE(self, gcmd): pressure_advance = gcmd.get_float('ADVANCE', self.pressure_advance, diff --git a/klippy/stepper.py b/klippy/stepper.py index 304d7d82..ad7d1282 100644 --- a/klippy/stepper.py +++ b/klippy/stepper.py @@ -197,6 +197,8 @@ class MCU_stepper: raise error("Internal error in stepcompress") self._set_mcu_position(last_pos) self._mcu.get_printer().send_event("stepper:sync_mcu_position", self) + def get_trapq(self): + return self._trapq def set_trapq(self, tq): ffi_main, ffi_lib = chelper.get_ffi() if tq is None: