diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2017-05-02 07:50:58 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2017-05-02 07:54:48 -0400 |
commit | 253517096ef94285d684e0ef0ebef20a8dcb7dc6 (patch) | |
tree | 5b7e463874602ba9f1dd8f56f7a417d5b5908d34 /klippy/extruder.py | |
parent | 0fa35254c658ea2be9ed75893c5cd5b3aa389a1b (diff) | |
download | kutter-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>
Diffstat (limited to 'klippy/extruder.py')
-rw-r--r-- | klippy/extruder.py | 7 |
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( |