extruder: Treat extrude with Z only movement to be an "extrude only" move

Do not apply max_extrude_cross_section check, and do apply
extrude_only_xxx checks to Z only moves that also extrude.  Some
printer start scripts will prime the extruder while moving the Z.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2019-11-07 09:45:36 -05:00
parent 86121ff79e
commit 2981bd601b
2 changed files with 2 additions and 2 deletions

View File

@ -121,7 +121,7 @@ filament_diameter: 3.500
#max_extrude_only_accel: #max_extrude_only_accel:
# Maximum velocity (in mm/s) and acceleration (in mm/s^2) of the # Maximum velocity (in mm/s) and acceleration (in mm/s^2) of the
# extruder motor for retractions and extrude-only moves. These # extruder motor for retractions and extrude-only moves. These
# settings do not place any limit on normal printing moves. If not # settings do not have any impact on normal printing moves. If not
# specified then they are calculated to match the limit an XY # specified then they are calculated to match the limit an XY
# printing move with a cross section of 4.0*nozzle_diameter^2 would # printing move with a cross section of 4.0*nozzle_diameter^2 would
# have. # have.

View File

@ -96,7 +96,7 @@ class PrinterExtruder:
raise homing.EndstopError( raise homing.EndstopError(
"Extrude below minimum temp\n" "Extrude below minimum temp\n"
"See the 'min_extrude_temp' config option for details") "See the 'min_extrude_temp' config option for details")
if not move.is_kinematic_move or move.extrude_r < 0.: if (not move.axes_d[0] and not move.axes_d[1]) or move.extrude_r < 0.:
# Extrude only move (or retraction move) - limit accel and velocity # Extrude only move (or retraction move) - limit accel and velocity
if abs(move.axes_d[3]) > self.max_e_dist: if abs(move.axes_d[3]) > self.max_e_dist:
raise homing.EndstopError( raise homing.EndstopError(