From fe2974b8ec1e41c16e8b37551443c1a7ea6717a5 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 4 Mar 2022 13:32:18 -0500 Subject: extruder: Verify trapq is unmodified on default SET_PRESSURE_ADVANCE Check that a SET_PRESSURE_ADVANCE without an explicit EXTRUDER parameter isn't done after the user disables or reassociates the extruder stepper motor (via SYNC_EXTRUDER_MOTION). Otherwise, it could lead to very confusing results. Signed-off-by: Kevin O'Connor --- klippy/kinematics/extruder.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'klippy/kinematics/extruder.py') 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, -- cgit v1.2.3-70-g09d2