Merge pull request #4534 from sarusani/oozePrevention
Prevent oozing after filament load
This commit is contained in:
commit
b894fcc11c
|
|
@ -3544,6 +3544,12 @@ void gcode_M701(float fastLoadLength, uint8_t mmuSlotIndex){
|
||||||
if (!farm_mode && (eFilamentAction != FilamentAction::None)) {
|
if (!farm_mode && (eFilamentAction != FilamentAction::None)) {
|
||||||
lcd_load_filament_color_check();
|
lcd_load_filament_color_check();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
// Retract filament to prevent oozing
|
||||||
|
retract_for_ooze_prevention();
|
||||||
|
#endif //COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
lcd_update_enable(true);
|
lcd_update_enable(true);
|
||||||
lcd_update(2);
|
lcd_update(2);
|
||||||
lcd_setstatuspgm(MSG_WELCOME);
|
lcd_setstatuspgm(MSG_WELCOME);
|
||||||
|
|
|
||||||
|
|
@ -5603,6 +5603,17 @@ static void lcd_sd_updir()
|
||||||
menu_data_reset(); //Forces reloading of cached variables.
|
menu_data_reset(); //Forces reloading of cached variables.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
/// @brief Retract filament to prevent oozing
|
||||||
|
void retract_for_ooze_prevention() {
|
||||||
|
current_position[E_AXIS] += FILAMENTCHANGE_COMMUNITY_ROOZEFEED;
|
||||||
|
plan_buffer_line_curposXYZE(FILAMENTCHANGE_RFEED);
|
||||||
|
current_position[E_AXIS] += FILAMENTCHANGE_COMMUNITY_EOOZEFEED;
|
||||||
|
plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FIRST);
|
||||||
|
st_synchronize();
|
||||||
|
}
|
||||||
|
#endif //COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
// continue stopping the print from the main loop after lcd_print_stop() is called
|
// continue stopping the print from the main loop after lcd_print_stop() is called
|
||||||
void lcd_print_stop_finish()
|
void lcd_print_stop_finish()
|
||||||
{
|
{
|
||||||
|
|
@ -5619,6 +5630,11 @@ void lcd_print_stop_finish()
|
||||||
}
|
}
|
||||||
st_synchronize();
|
st_synchronize();
|
||||||
|
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
// Retract filament to prevent oozing
|
||||||
|
retract_for_ooze_prevention();
|
||||||
|
#endif //COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
// did we come here from a thermal error?
|
// did we come here from a thermal error?
|
||||||
if(get_temp_error()) {
|
if(get_temp_error()) {
|
||||||
// time to stop the error beep
|
// time to stop the error beep
|
||||||
|
|
|
||||||
|
|
@ -254,4 +254,8 @@ extern void lcd_pinda_temp_compensation_toggle();
|
||||||
|
|
||||||
extern void lcd_heat_bed_on_load_toggle();
|
extern void lcd_heat_bed_on_load_toggle();
|
||||||
|
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
extern void retract_for_ooze_prevention();
|
||||||
|
#endif //COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif //ULTRALCD_H
|
#endif //ULTRALCD_H
|
||||||
|
|
|
||||||
|
|
@ -233,6 +233,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -233,6 +233,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -367,6 +367,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -368,6 +368,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -370,6 +370,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -371,6 +371,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -372,6 +372,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -374,6 +374,15 @@
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -162,6 +162,15 @@ CHANGE FILAMENT SETTINGS
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -161,6 +161,15 @@ CHANGE FILAMENT SETTINGS
|
||||||
#define FILAMENTCHANGE_EXFEED 2
|
#define FILAMENTCHANGE_EXFEED 2
|
||||||
#define FILAMENTCHANGE_ZFEED 15
|
#define FILAMENTCHANGE_ZFEED 15
|
||||||
|
|
||||||
|
//Retract and then extrude some filament to prevent oozing.
|
||||||
|
//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle.
|
||||||
|
//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing.
|
||||||
|
//#define COMMUNITY_PREVENT_OOZE
|
||||||
|
#ifdef COMMUNITY_PREVENT_OOZE
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention
|
||||||
|
#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention
|
||||||
|
#endif //End COMMUNITY_PREVENT_OOZE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------
|
/*------------------------------------
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue