aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-05-02 07:50:58 -0400
committerKevin O'Connor <kevin@koconnor.net>2017-05-02 07:54:48 -0400
commit253517096ef94285d684e0ef0ebef20a8dcb7dc6 (patch)
tree5b7e463874602ba9f1dd8f56f7a417d5b5908d34
parent0fa35254c658ea2be9ed75893c5cd5b3aa389a1b (diff)
downloadkutter-253517096ef94285d684e0ef0ebef20a8dcb7dc6.tar.gz
kutter-253517096ef94285d684e0ef0ebef20a8dcb7dc6.tar.xz
kutter-253517096ef94285d684e0ef0ebef20a8dcb7dc6.zip
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 <kevin@koconnor.net>
-rw-r--r--klippy/extruder.py7
1 files 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(