Merge remote-tracking branch 'MarlinFirmware/RCBugFix' into EMartinez-Changes

master
emartinez167 8 years ago
commit 3dee35888e

@ -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.
@ -1418,7 +1420,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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
/******************************************************************************\ /******************************************************************************\

@ -1189,15 +1189,11 @@ inline bool code_has_value() {
} }
inline float code_value_float() { inline float code_value_float() {
float ret;
char* e = strchr(seen_pointer, 'E'); char* e = strchr(seen_pointer, 'E');
if (e) { if (!e) return strtod(seen_pointer + 1, NULL);
*e = 0; *e = 0;
ret = strtod(seen_pointer + 1, NULL); float ret = strtod(seen_pointer + 1, NULL);
*e = 'E'; *e = 'E';
}
else
ret = strtod(seen_pointer + 1, NULL);
return ret; return ret;
} }

@ -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
/** /**

@ -31,6 +31,10 @@
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
#include "Sd2Card.h" #include "Sd2Card.h"
#if ENABLED(USE_WATCHDOG)
#include "watchdog.h"
#endif
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
#if DISABLED(SOFTWARE_SPI) #if DISABLED(SOFTWARE_SPI)
// functions for hardware SPI // functions for hardware SPI
@ -299,6 +303,12 @@ bool Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin) {
uint16_t t0 = (uint16_t)millis(); uint16_t t0 = (uint16_t)millis();
uint32_t arg; uint32_t arg;
// If init takes more than 4s it could trigger
// watchdog leading to a reboot loop.
#if ENABLED(USE_WATCHDOG)
watchdog_reset();
#endif
// set pin modes // set pin modes
pinMode(chipSelectPin_, OUTPUT); pinMode(chipSelectPin_, OUTPUT);
chipSelectHigh(); chipSelectHigh();

@ -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.
@ -1418,7 +1420,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1401,7 +1403,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1401,7 +1403,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1410,7 +1412,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1412,7 +1414,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1452,7 +1454,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1418,7 +1420,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1418,7 +1420,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1418,7 +1420,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1419,7 +1421,7 @@
// //
#define NUM_SERVOS 0 // DGlass3D - Servo index starts with 0 for M280 command #define NUM_SERVOS 0 // DGlass3D - Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1433,7 +1435,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1439,7 +1441,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1410,7 +1412,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1418,7 +1420,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1505,7 +1507,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1508,7 +1510,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1507,7 +1509,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1511,7 +1513,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1421,7 +1423,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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.
@ -1414,7 +1416,7 @@
// //
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in microseconds) before the next move will start, to give the servo time to reach its target angle. // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay. // 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it. // If the servo can't reach the requested position, increase it.
#define SERVO_DELAY 300 #define SERVO_DELAY 300

@ -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
/******************************************************************************\ /******************************************************************************\

@ -65,3 +65,4 @@
// //
#undef PS_ON_PIN #undef PS_ON_PIN
#undef KILL_PIN #undef KILL_PIN
#undef SD_DETECT_PIN

@ -33,6 +33,12 @@
#define Z_MIN_PROBE_PIN 19 // Z-MAX pin J14 End Stops #define Z_MIN_PROBE_PIN 19 // Z-MAX pin J14 End Stops
#endif #endif
//
// MOSFET changes
//
#define RAMPS_D10_PIN 9 // EXTRUDER 1
#define MOSFET_D_PIN 12 // EXTRUDER 2 or FAN
#include "pins_RAMPS.h" #include "pins_RAMPS.h"
// //
@ -76,9 +82,6 @@
// //
// Heaters / Fans // Heaters / Fans
// //
#define RAMPS_D10_PIN 9 // EXTRUDER 1
#define MOSFET_D_PIN 12 // EXTRUDER 2 or FAN
#undef HEATER_BED_PIN #undef HEATER_BED_PIN
#define HEATER_BED_PIN 10 #define HEATER_BED_PIN 10

@ -444,7 +444,7 @@ uint16_t max_display_update_time = 0;
inline void lcd_wait_for_homing() { inline void lcd_wait_for_homing() {
no_reentrance = true; no_reentrance = true;
while (!axis_homed[X_AXIS] || !axis_homed[Y_AXIS] || !axis_homed[Z_AXIS]) idle(); while (!axis_homed[X_AXIS] || !axis_homed[Y_AXIS] || !axis_homed[Z_AXIS]) idle();
no_reentrance = true; no_reentrance = false;
} }
void lcd_return_to_status() { lcd_goto_screen(lcd_status_screen); } void lcd_return_to_status() { lcd_goto_screen(lcd_status_screen); }
@ -1403,7 +1403,7 @@ KeepDrawing:
// Cooldown // Cooldown
// //
bool has_heat = false; bool has_heat = false;
HOTEND_LOOP() if (thermalManager.target_temperature[e]) { has_heat = true; break; } HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; }
#if HAS_TEMP_BED #if HAS_TEMP_BED
if (thermalManager.target_temperature_bed) has_heat = true; if (thermalManager.target_temperature_bed) has_heat = true;
#endif #endif

Loading…
Cancel
Save