Apply fixed EXTRUDER_RUNOUT_PREVENT

This commit is contained in:
Scott Lahteine 2016-09-13 03:26:23 -05:00
parent b1a60e8954
commit 9b0931ef74
19 changed files with 170 additions and 135 deletions

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -8608,11 +8608,11 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
#if ENABLED(EXTRUDER_RUNOUT_PREVENT) #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
if (ELAPSED(ms, previous_cmd_ms + (EXTRUDER_RUNOUT_SECONDS) * 1000UL) if (ELAPSED(ms, previous_cmd_ms + (EXTRUDER_RUNOUT_SECONDS) * 1000UL)
&& thermalManager.degHotend(active_extruder) > EXTRUDER_RUNOUT_MINTEMP) { && thermalManager.degHotend(active_extruder) > EXTRUDER_RUNOUT_MINTEMP) {
bool oldstatus;
#if ENABLED(SWITCHING_EXTRUDER) #if ENABLED(SWITCHING_EXTRUDER)
bool oldstatus = E0_ENABLE_READ; oldstatus = E0_ENABLE_READ;
enable_e0(); enable_e0();
#else // !SWITCHING_EXTRUDER #else // !SWITCHING_EXTRUDER
bool oldstatus;
switch (active_extruder) { switch (active_extruder) {
case 0: case 0:
oldstatus = E0_ENABLE_READ; oldstatus = E0_ENABLE_READ;
@ -8639,15 +8639,14 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
} }
#endif // !SWITCHING_EXTRUDER #endif // !SWITCHING_EXTRUDER
float oldepos = current_position[E_AXIS], oldedes = destination[E_AXIS];
planner.buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS],
destination[E_AXIS] + (EXTRUDER_RUNOUT_EXTRUDE) * (EXTRUDER_RUNOUT_ESTEPS) * planner.steps_to_mm[E_AXIS],
MMM_TO_MMS(EXTRUDER_RUNOUT_SPEED) * (EXTRUDER_RUNOUT_ESTEPS) * planner.steps_to_mm[E_AXIS], active_extruder);
current_position[E_AXIS] = oldepos;
destination[E_AXIS] = oldedes;
planner.set_e_position_mm(oldepos);
previous_cmd_ms = ms; // refresh_cmd_timeout() previous_cmd_ms = ms; // refresh_cmd_timeout()
planner.buffer_line(
current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
current_position[E_AXIS] + EXTRUDER_RUNOUT_EXTRUDE,
MMM_TO_MMS(EXTRUDER_RUNOUT_SPEED), active_extruder
);
stepper.synchronize(); stepper.synchronize();
planner.set_e_position_mm(current_position[E_AXIS]);
#if ENABLED(SWITCHING_EXTRUDER) #if ENABLED(SWITCHING_EXTRUDER)
E0_ENABLE_WRITE(oldstatus); E0_ENABLE_WRITE(oldstatus);
#else #else

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -174,14 +174,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 180 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 180 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 180 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -173,14 +173,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature

View file

@ -168,14 +168,16 @@
// @section extruder // @section extruder
// extruder run-out prevention. // Extruder runout prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded // If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
//#define EXTRUDER_RUNOUT_PREVENT //#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_ESTEPS 14 // mm filament #define EXTRUDER_RUNOUT_SECONDS 30
#define EXTRUDER_RUNOUT_SPEED 1500 // extrusion speed #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m
#define EXTRUDER_RUNOUT_EXTRUDE 100 #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm
#endif
// @section temperature // @section temperature