diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 222fb3aded..9574e09823 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -161,8 +161,9 @@ //#define EXTRUDER_RUNOUT_PREVENT #define EXTRUDER_RUNOUT_MINTEMP 190 #define EXTRUDER_RUNOUT_SECONDS 60 -#define EXTRUDER_RUNOUT_EXTRUDE 10 //mm filament -#define EXTRUDER_RUNOUT_SPEED 20 //extrusion speed +#define EXTRUDER_RUNOUT_ESTEPS 14 //mm filament +#define EXTRUDER_RUNOUT_EXTRUDE 100 //mm filament +#define EXTRUDER_RUNOUT_SPEED 1500 //extrusion speed //=========================================================================== diff --git a/Marlin/Marlin.pde b/Marlin/Marlin.pde index e80628e8bb..30d65d3d9d 100644 --- a/Marlin/Marlin.pde +++ b/Marlin/Marlin.pde @@ -1203,7 +1203,9 @@ void manage_inactivity(byte debug) enable_e(); float oldepos=current_position[E_AXIS]; float oldedes=destination[E_AXIS]; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]+EXTRUDER_RUNOUT_EXTRUDE, EXTRUDER_RUNOUT_SPEED*feedmultiply/60/100.0, active_extruder); + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], + current_position[E_AXIS]+EXTRUDER_RUNOUT_EXTRUDE*EXTRUDER_RUNOUT_ESTEPS/axis_steps_per_unit[E_AXIS], + EXTRUDER_RUNOUT_SPEED*feedmultiply/60/100.0*EXTRUDER_RUNOUT_ESTEPS/axis_steps_per_unit[E_AXIS], active_extruder); current_position[E_AXIS]=oldepos; destination[E_AXIS]=oldedes; plan_set_e_position(oldepos);