Merge pull request #5589 from thinkyhead/rc_configs_puhlease

Better sanity check for FILAMENT_CHANGE_FEATURE, FILAMENT_RUNOUT_SCRIPT
master
Scott Lahteine 8 years ago committed by GitHub
commit 34d5eb5201

@ -725,13 +725,15 @@
#define Y_MAX_POS 200 #define Y_MAX_POS 200
#define Z_MAX_POS 200 #define Z_MAX_POS 200
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -659,33 +659,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -244,14 +244,20 @@
#error "FILAMENT_RUNOUT_SENSOR requires FIL_RUNOUT_PIN." #error "FILAMENT_RUNOUT_SENSOR requires FIL_RUNOUT_PIN."
#elif DISABLED(SDSUPPORT) && DISABLED(PRINTJOB_TIMER_AUTOSTART) #elif DISABLED(SDSUPPORT) && DISABLED(PRINTJOB_TIMER_AUTOSTART)
#error "FILAMENT_RUNOUT_SENSOR requires SDSUPPORT or PRINTJOB_TIMER_AUTOSTART." #error "FILAMENT_RUNOUT_SENSOR requires SDSUPPORT or PRINTJOB_TIMER_AUTOSTART."
#elif DISABLED(FILAMENT_CHANGE_FEATURE)
static_assert(NULL == strstr(FILAMENT_RUNOUT_SCRIPT, "M600"), "FILAMENT_CHANGE_FEATURE is required to use M600 with FILAMENT_RUNOUT_SENSOR.");
#endif #endif
#endif #endif
/** /**
* Filament Change with Extruder Runout Prevention * Filament Change with Extruder Runout Prevention
*/ */
#if ENABLED(FILAMENT_CHANGE_FEATURE) && ENABLED(EXTRUDER_RUNOUT_PREVENT) #if ENABLED(FILAMENT_CHANGE_FEATURE)
#error "EXTRUDER_RUNOUT_PREVENT is incompatible with FILAMENT_CHANGE_FEATURE." #if DISABLED(ULTIPANEL)
#error "FILAMENT_CHANGE_FEATURE currently requires an LCD controller."
#elif ENABLED(EXTRUDER_RUNOUT_PREVENT)
#error "EXTRUDER_RUNOUT_PREVENT is incompatible with FILAMENT_CHANGE_FEATURE."
#endif
#endif #endif
/** /**

@ -725,13 +725,15 @@
#define Y_MAX_POS 270 #define Y_MAX_POS 270
#define Z_MAX_POS 400 #define Z_MAX_POS 400
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -708,13 +708,15 @@
#define Y_MAX_POS 205 #define Y_MAX_POS 205
#define Z_MAX_POS 235 #define Z_MAX_POS 235
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -659,33 +659,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -708,13 +708,15 @@
#define Y_MAX_POS 205 #define Y_MAX_POS 205
#define Z_MAX_POS 235 #define Z_MAX_POS 235
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -717,13 +717,15 @@
#define Y_MAX_POS 210 #define Y_MAX_POS 210
#define Z_MAX_POS 180 #define Z_MAX_POS 180
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -659,33 +659,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -719,13 +719,15 @@
#define Y_MAX_POS 297 #define Y_MAX_POS 297
#define Z_MAX_POS 210 #define Z_MAX_POS 210
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -642,33 +642,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -754,13 +754,15 @@
#define Y_MAX_POS 200 #define Y_MAX_POS 200
#define Z_MAX_POS 200 #define Z_MAX_POS 200
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -725,13 +725,15 @@
#define Y_MAX_POS 200 #define Y_MAX_POS 200
#define Z_MAX_POS 190 #define Z_MAX_POS 190
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -725,13 +725,15 @@
#define Y_MAX_POS 200 #define Y_MAX_POS 200
#define Z_MAX_POS 190 #define Z_MAX_POS 190
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -725,13 +725,15 @@
#define Y_MAX_POS 200 #define Y_MAX_POS 200
#define Z_MAX_POS 200 #define Z_MAX_POS 200
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -724,13 +724,15 @@
#define Y_MAX_POS 248 // RigidBot regular is 248mm, RigitBot Big is 304mm #define Y_MAX_POS 248 // RigidBot regular is 248mm, RigitBot Big is 304mm
#define Z_MAX_POS 254 // RigidBot regular and Big are 254mm #define Z_MAX_POS 254 // RigidBot regular and Big are 254mm
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -659,33 +659,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -740,13 +740,15 @@
#define Y_MAX_POS 200 #define Y_MAX_POS 200
#define Z_MAX_POS 225 #define Z_MAX_POS 225
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -659,33 +659,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -746,13 +746,15 @@
#define Y_MAX_POS 275 #define Y_MAX_POS 275
#define Z_MAX_POS 250 #define Z_MAX_POS 250
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -717,13 +717,15 @@
#define Y_MAX_POS 210 #define Y_MAX_POS 210
#define Z_MAX_POS 200 #define Z_MAX_POS 200
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -659,33 +659,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -725,13 +725,15 @@
#define Y_MAX_POS 200 #define Y_MAX_POS 200
#define Z_MAX_POS 200 #define Z_MAX_POS 200
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -811,13 +811,15 @@
#define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Y_MAX_POS DELTA_PRINTABLE_RADIUS
#define Z_MAX_POS MANUAL_Z_HOME_POS #define Z_MAX_POS MANUAL_Z_HOME_POS
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -661,33 +661,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -814,13 +814,15 @@
#define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Y_MAX_POS DELTA_PRINTABLE_RADIUS
#define Z_MAX_POS MANUAL_Z_HOME_POS #define Z_MAX_POS MANUAL_Z_HOME_POS
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -661,33 +661,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -813,13 +813,15 @@
#define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Y_MAX_POS DELTA_PRINTABLE_RADIUS
#define Z_MAX_POS MANUAL_Z_HOME_POS #define Z_MAX_POS MANUAL_Z_HOME_POS
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -666,33 +666,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -817,13 +817,15 @@
#define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Y_MAX_POS DELTA_PRINTABLE_RADIUS
#define Z_MAX_POS MANUAL_Z_HOME_POS #define Z_MAX_POS MANUAL_Z_HOME_POS
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -661,33 +661,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -728,13 +728,15 @@
#define Y_MAX_POS 150 #define Y_MAX_POS 150
#define Z_MAX_POS 86 #define Z_MAX_POS 86
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -659,33 +659,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

@ -721,13 +721,15 @@
#define Y_MAX_POS 205 #define Y_MAX_POS 205
#define Z_MAX_POS 120 #define Z_MAX_POS 120
//=========================================================================== /**
//========================= Filament Runout Sensor ========================== * Filament Runout Sensor
//=========================================================================== * A mechanical or opto endstop is used to check for the presence of filament.
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament *
// RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. * RAMPS-based boards use SERVO3_PIN.
// It is assumed that when logic high = filament available * For other boards you may need to define FIL_RUNOUT_PIN.
// when logic low = filament ran out * By default the firmware assumes HIGH = has filament, LOW = ran out
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

@ -659,33 +659,38 @@
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif #endif
// Add support for experimental filament exchange support M600; requires display /**
#if ENABLED(ULTIPANEL) * Filament Change
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too) * Experimental filament change support.
#if ENABLED(FILAMENT_CHANGE_FEATURE) * Adds the GCode M600 for initiating filament change.
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend *
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend * Requires an LCD display.
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift) * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) */
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) //#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm #if ENABLED(FILAMENT_CHANGE_FEATURE)
// It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
// Longer length for bowden printers to unload filament from whole bowden tube, #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
// shorter lenght for printers without bowden to unload filament from extruder only, #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
// 0 to disable unloading for manual unloading #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Short or zero length for printers without bowden where loading is not used // Longer length for bowden printers to unload filament from whole bowden tube,
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast // shorter lenght for printers without bowden to unload filament from extruder only,
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend, // 0 to disable unloading for manual unloading
// 0 to disable for manual extrusion #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
// or until outcoming filament color is not clear for filament color change // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate // Short or zero length for printers without bowden where loading is not used
#endif #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#endif #endif
/******************************************************************************\ /******************************************************************************\

Loading…
Cancel
Save