From 253517096ef94285d684e0ef0ebef20a8dcb7dc6 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 2 May 2017 07:50:58 -0400 Subject: [PATCH] extruder: Extend over extrusion checks to retractions Ensure a move with a retraction (negative extrude) is also checked for sane extrusion rates. Signed-off-by: Kevin O'Connor --- klippy/extruder.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/klippy/extruder.py b/klippy/extruder.py index ee46bead..2feff175 100644 --- a/klippy/extruder.py +++ b/klippy/extruder.py @@ -51,12 +51,13 @@ class PrinterExtruder: move.end_pos, "Extrude below minimum temp") if not move.is_kinematic_move: # Extrude only move - limit accel and velocity - if move.axes_d[3] > self.max_e_dist: + if abs(move.axes_d[3]) > self.max_e_dist: raise homing.EndstopMoveError( move.end_pos, "Extrude only move too long") move.limit_speed(self.max_e_velocity, self.max_e_accel) - elif (move.extrude_r > self.max_extrude_ratio - and move.axes_d[3] > self.nozzle_diameter*self.max_extrude_ratio): + elif (abs(move.extrude_r) > self.max_extrude_ratio + and (abs(move.axes_d[3]) + > self.nozzle_diameter*self.max_extrude_ratio)): logging.debug("Overextrude: %s vs %s" % ( move.extrude_r, self.max_extrude_ratio)) raise homing.EndstopMoveError(