Merge pull request #7332 from thinkyhead/bf_before_fwretract

Improve FWRETRACT comments
master
Scott Lahteine 7 years ago committed by GitHub
commit 60cb2bd4e7

@ -757,22 +757,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -362,8 +362,7 @@ extern float soft_endstop_min[XYZ], soft_endstop_max[XYZ];
#endif #endif
#if ENABLED(BARICUDA) #if ENABLED(BARICUDA)
extern int baricuda_valve_pressure; extern uint8_t baricuda_valve_pressure, baricuda_e_to_p_pressure;
extern int baricuda_e_to_p_pressure;
#endif #endif
#if ENABLED(FILAMENT_WIDTH_SENSOR) #if ENABLED(FILAMENT_WIDTH_SENSOR)

@ -51,23 +51,23 @@
* G3 - CCW ARC * G3 - CCW ARC
* G4 - Dwell S<seconds> or P<milliseconds> * G4 - Dwell S<seconds> or P<milliseconds>
* G5 - Cubic B-spline with XYZE destination and IJPQ offsets * G5 - Cubic B-spline with XYZE destination and IJPQ offsets
* G10 - Retract filament according to settings of M207 * G10 - Retract filament according to settings of M207 (Requires FWRETRACT)
* G11 - Retract recover filament according to settings of M208 * G11 - Retract recover filament according to settings of M208 (Requires FWRETRACT)
* G12 - Clean tool * G12 - Clean tool (Requires NOZZLE_CLEAN_FEATURE)
* G17 - Select Plane XY (Requires CNC_WORKSPACE_PLANES) * G17 - Select Plane XY (Requires CNC_WORKSPACE_PLANES)
* G18 - Select Plane ZX (Requires CNC_WORKSPACE_PLANES) * G18 - Select Plane ZX (Requires CNC_WORKSPACE_PLANES)
* G19 - Select Plane YZ (Requires CNC_WORKSPACE_PLANES) * G19 - Select Plane YZ (Requires CNC_WORKSPACE_PLANES)
* G20 - Set input units to inches * G20 - Set input units to inches (Requires INCH_MODE_SUPPORT)
* G21 - Set input units to millimeters * G21 - Set input units to millimeters (Requires INCH_MODE_SUPPORT)
* G26 - Mesh Validation Pattern (Requires UBL_G26_MESH_VALIDATION) * G26 - Mesh Validation Pattern (Requires UBL_G26_MESH_VALIDATION)
* G27 - Park Nozzle (Requires NOZZLE_PARK_FEATURE) * G27 - Park Nozzle (Requires NOZZLE_PARK_FEATURE)
* G28 - Home one or more axes * G28 - Home one or more axes
* G29 - Detailed Z probe, probes the bed at 3 or more points. Will fail if you haven't homed yet. * G29 - Start or continue the bed leveling probe procedure (Requires bed leveling)
* G30 - Single Z probe, probes bed at X Y location (defaults to current XY location) * G30 - Single Z probe, probes bed at X Y location (defaults to current XY location)
* G31 - Dock sled (Z_PROBE_SLED only) * G31 - Dock sled (Z_PROBE_SLED only)
* G32 - Undock sled (Z_PROBE_SLED only) * G32 - Undock sled (Z_PROBE_SLED only)
* G33 - Delta Auto-Calibration (Requires DELTA_AUTO_CALIBRATION) * G33 - Delta Auto-Calibration (Requires DELTA_AUTO_CALIBRATION)
* G38 - Probe target - similar to G28 except it uses the Z_MIN_PROBE for all three axes * G38 - Probe in any direction using the Z_MIN_PROBE (Requires G38_PROBE_TARGET)
* G42 - Coordinated move to a mesh point (Requires AUTO_BED_LEVELING_UBL) * G42 - Coordinated move to a mesh point (Requires AUTO_BED_LEVELING_UBL)
* G90 - Use Absolute Coordinates * G90 - Use Absolute Coordinates
* G91 - Use Relative Coordinates * G91 - Use Relative Coordinates
@ -427,16 +427,10 @@ static float saved_feedrate_mm_s;
int16_t feedrate_percentage = 100, saved_feedrate_percentage, int16_t feedrate_percentage = 100, saved_feedrate_percentage,
flow_percentage[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(100); flow_percentage[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(100);
// Initialized by settings.load()
bool axis_relative_modes[] = AXIS_RELATIVE_MODES, bool axis_relative_modes[] = AXIS_RELATIVE_MODES,
volumetric_enabled = volumetric_enabled;
#if ENABLED(VOLUMETRIC_DEFAULT_ON) float filament_size[EXTRUDERS], volumetric_multiplier[EXTRUDERS];
true
#else
false
#endif
;
float filament_size[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(DEFAULT_NOMINAL_FILAMENT_DIA),
volumetric_multiplier[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(1.0);
#if HAS_WORKSPACE_OFFSET #if HAS_WORKSPACE_OFFSET
#if HAS_POSITION_SHIFT #if HAS_POSITION_SHIFT
@ -513,7 +507,7 @@ static millis_t stepper_inactive_time = (DEFAULT_STEPPER_DEACTIVE_TIME) * 1000UL
static uint8_t target_extruder; static uint8_t target_extruder;
#if HAS_BED_PROBE #if HAS_BED_PROBE
float zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER; float zprobe_zoffset; // Initialized by settings.load()
#endif #endif
#if HAS_ABL #if HAS_ABL
@ -542,18 +536,12 @@ static uint8_t target_extruder;
#endif #endif
#if ENABLED(Z_DUAL_ENDSTOPS) #if ENABLED(Z_DUAL_ENDSTOPS)
float z_endstop_adj = float z_endstop_adj;
#ifdef Z_DUAL_ENDSTOPS_ADJUSTMENT
Z_DUAL_ENDSTOPS_ADJUSTMENT
#else
0
#endif
;
#endif #endif
// Extruder offsets // Extruder offsets
#if HOTENDS > 1 #if HOTENDS > 1
float hotend_offset[XYZ][HOTENDS]; float hotend_offset[XYZ][HOTENDS]; // Initialized by settings.load()
#endif #endif
#if HAS_Z_SERVO_ENDSTOP #if HAS_Z_SERVO_ENDSTOP
@ -561,8 +549,8 @@ static uint8_t target_extruder;
#endif #endif
#if ENABLED(BARICUDA) #if ENABLED(BARICUDA)
int baricuda_valve_pressure = 0; uint8_t baricuda_valve_pressure = 0,
int baricuda_e_to_p_pressure = 0; baricuda_e_to_p_pressure = 0;
#endif #endif
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
@ -596,8 +584,7 @@ static uint8_t target_extruder;
float delta[ABC], float delta[ABC],
endstop_adj[ABC] = { 0 }; endstop_adj[ABC] = { 0 };
// These values are loaded or reset at boot time when setup() calls // Initialized by settings.load()
// settings.load(), which calls recalc_delta_settings().
float delta_radius, float delta_radius,
delta_tower_angle_trim[2], delta_tower_angle_trim[2],
delta_tower[ABC][2], delta_tower[ABC][2],
@ -3403,20 +3390,24 @@ inline void gcode_G4() {
/** /**
* G10 - Retract filament according to settings of M207 * G10 - Retract filament according to settings of M207
* G11 - Recover filament according to settings of M208
*/ */
inline void gcode_G10_G11(bool doRetract=false) { inline void gcode_G10() {
#if EXTRUDERS > 1 #if EXTRUDERS > 1
if (doRetract) const bool rs = parser.boolval('S');
retracted_swap[active_extruder] = parser.boolval('S'); // checks for swap retract argument retracted_swap[active_extruder] = rs; // Use 'S' for swap, default to false
#endif #endif
retract(doRetract retract(true
#if EXTRUDERS > 1 #if EXTRUDERS > 1
, retracted_swap[active_extruder] , rs
#endif #endif
); );
} }
/**
* G11 - Recover filament according to settings of M208
*/
inline void gcode_G11() { retract(false); }
#endif // FWRETRACT #endif // FWRETRACT
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -10450,8 +10441,8 @@ void process_next_command() {
// G2, G3 // G2, G3
#if ENABLED(ARC_SUPPORT) && DISABLED(SCARA) #if ENABLED(ARC_SUPPORT) && DISABLED(SCARA)
case 2: // G2 - CW ARC case 2: // G2: CW ARC
case 3: // G3 - CCW ARC case 3: // G3: CCW ARC
gcode_G2_G3(parser.codenum == 2); gcode_G2_G3(parser.codenum == 2);
break; break;
#endif #endif
@ -10462,16 +10453,17 @@ void process_next_command() {
break; break;
#if ENABLED(BEZIER_CURVE_SUPPORT) #if ENABLED(BEZIER_CURVE_SUPPORT)
// G5 case 5: // G5: Cubic B_spline
case 5: // G5 - Cubic B_spline
gcode_G5(); gcode_G5();
break; break;
#endif // BEZIER_CURVE_SUPPORT #endif // BEZIER_CURVE_SUPPORT
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
case 10: // G10: retract case 10: // G10: retract
gcode_G10();
break;
case 11: // G11: retract_recover case 11: // G11: retract_recover
gcode_G10_G11(parser.codenum == 10); gcode_G11();
break; break;
#endif // FWRETRACT #endif // FWRETRACT
@ -12511,7 +12503,7 @@ void prepare_move_to_destination() {
#endif // FAST_PWM_FAN #endif // FAST_PWM_FAN
float calculate_volumetric_multiplier(float diameter) { float calculate_volumetric_multiplier(const float diameter) {
if (!volumetric_enabled || diameter == 0) return 1.0; if (!volumetric_enabled || diameter == 0) return 1.0;
return 1.0 / (M_PI * sq(diameter * 0.5)); return 1.0 / (M_PI * sq(diameter * 0.5));
} }

@ -38,14 +38,7 @@ Endstops endstops;
// public: // public:
bool Endstops::enabled = true, bool Endstops::enabled, Endstops::enabled_globally; // Initialized by settings.load()
Endstops::enabled_globally =
#if ENABLED(ENDSTOPS_ALWAYS_ON_DEFAULT)
(true)
#else
(false)
#endif
;
volatile char Endstops::endstop_hit_bits; // use X_MIN, Y_MIN, Z_MIN and Z_MIN_PROBE as BIT value volatile char Endstops::endstop_hit_bits; // use X_MIN, Y_MIN, Z_MIN and Z_MIN_PROBE as BIT value
#if ENABLED(Z_DUAL_ENDSTOPS) #if ENABLED(Z_DUAL_ENDSTOPS)

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -757,22 +757,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -757,22 +757,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 80 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
//#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -733,22 +733,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 80 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
//#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -757,22 +757,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -747,22 +747,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -757,22 +757,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 35 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 35 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -753,22 +753,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -763,22 +763,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -755,22 +755,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -754,22 +754,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -752,22 +752,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -752,22 +752,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -757,22 +757,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -752,22 +752,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -757,22 +757,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -750,22 +750,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -757,22 +757,32 @@
// @section fwretract // @section fwretract
// Firmware based and LCD controlled retract /**
// M207 and M208 can be used to define parameters for the retraction. * Firmware-based and LCD-controlled retract
// The retraction can be called by the slicer using G10 and G11 *
// until then, intended retractions can be detected by moves that only extrude and the direction. * Add G10 / G11 commands for automatic firmware-based retract / recover.
// the moves are than replaced by the firmware controlled ones. * Use M207 and M208 to define parameters for retract / recover.
*
//#define FWRETRACT //ONLY PARTIALLY TESTED * Use M209 to enable or disable auto-retract.
* With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
* will be converted to firmware-based retract/recover moves.
*
* Be sure to turn off auto-retract during filament change.
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
//#define FWRETRACT // ONLY PARTIALLY TESTED
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt #define MIN_RETRACT 0.1 // A retract/recover of this length or longer can be converted to auto-retract
#define RETRACT_LENGTH 3 //default retract length (positive mm) #define RETRACT_LENGTH 3 // Default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s) #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift #define RETRACT_ZLIFT 0 // Default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
#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)
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
#endif #endif
/** /**

@ -95,6 +95,8 @@ uint32_t Planner::max_acceleration_steps_per_s2[XYZE_N],
Planner::max_acceleration_mm_per_s2[XYZE_N]; // Use M201 to override by software Planner::max_acceleration_mm_per_s2[XYZE_N]; // Use M201 to override by software
millis_t Planner::min_segment_time; millis_t Planner::min_segment_time;
// Initialized by settings.load()
float Planner::min_feedrate_mm_s, float Planner::min_feedrate_mm_s,
Planner::acceleration, // Normal acceleration mm/s^2 DEFAULT ACCELERATION for all printing moves. M204 SXXXX Planner::acceleration, // Normal acceleration mm/s^2 DEFAULT ACCELERATION for all printing moves. M204 SXXXX
Planner::retract_acceleration, // Retract acceleration mm/s^2 filament pull-back and push-forward while standing still in the other axes M204 TXXXX Planner::retract_acceleration, // Retract acceleration mm/s^2 filament pull-back and push-forward while standing still in the other axes M204 TXXXX
@ -111,7 +113,7 @@ float Planner::min_feedrate_mm_s,
#endif #endif
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
float Planner::z_fade_height, float Planner::z_fade_height, // Initialized by settings.load()
Planner::inverse_z_fade_height; Planner::inverse_z_fade_height;
#endif #endif
@ -143,8 +145,8 @@ float Planner::previous_speed[NUM_AXIS],
#endif #endif
#if ENABLED(LIN_ADVANCE) #if ENABLED(LIN_ADVANCE)
float Planner::extruder_advance_k = LIN_ADVANCE_K, float Planner::extruder_advance_k, // Initialized by settings.load()
Planner::advance_ed_ratio = LIN_ADVANCE_E_D_RATIO, Planner::advance_ed_ratio, // Initialized by settings.load()
Planner::position_float[NUM_AXIS] = { 0 }; Planner::position_float[NUM_AXIS] = { 0 };
#endif #endif
@ -409,10 +411,10 @@ void Planner::check_axes_activity() {
#if ENABLED(BARICUDA) #if ENABLED(BARICUDA)
#if HAS_HEATER_1 #if HAS_HEATER_1
unsigned char tail_valve_pressure = baricuda_valve_pressure; uint8_t tail_valve_pressure = baricuda_valve_pressure;
#endif #endif
#if HAS_HEATER_2 #if HAS_HEATER_2
unsigned char tail_e_to_p_pressure = baricuda_e_to_p_pressure; uint8_t tail_e_to_p_pressure = baricuda_e_to_p_pressure;
#endif #endif
#endif #endif

@ -121,7 +121,7 @@ typedef struct {
#endif #endif
#if ENABLED(BARICUDA) #if ENABLED(BARICUDA)
uint32_t valve_pressure, e_to_p_pressure; uint8_t valve_pressure, e_to_p_pressure;
#endif #endif
uint32_t segment_time; uint32_t segment_time;

@ -77,7 +77,7 @@ block_t* Stepper::current_block = NULL; // A pointer to the block currently bei
#endif #endif
#if HAS_MOTOR_CURRENT_PWM #if HAS_MOTOR_CURRENT_PWM
uint32_t Stepper::motor_current_setting[3] = PWM_MOTOR_CURRENT; uint32_t Stepper::motor_current_setting[3]; // Initialized by settings.load()
#endif #endif
// private: // private:

@ -73,28 +73,24 @@ int16_t Temperature::current_temperature_raw[HOTENDS] = { 0 },
int16_t Temperature::target_temperature_bed = 0; int16_t Temperature::target_temperature_bed = 0;
#endif #endif
// Initialized by settings.load()
#if ENABLED(PIDTEMP) #if ENABLED(PIDTEMP)
#if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1 #if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1
float Temperature::Kp[HOTENDS] = ARRAY_BY_HOTENDS1(DEFAULT_Kp), float Temperature::Kp[HOTENDS], Temperature::Ki[HOTENDS], Temperature::Kd[HOTENDS];
Temperature::Ki[HOTENDS] = ARRAY_BY_HOTENDS1((DEFAULT_Ki) * (PID_dT)),
Temperature::Kd[HOTENDS] = ARRAY_BY_HOTENDS1((DEFAULT_Kd) / (PID_dT));
#if ENABLED(PID_EXTRUSION_SCALING) #if ENABLED(PID_EXTRUSION_SCALING)
float Temperature::Kc[HOTENDS] = ARRAY_BY_HOTENDS1(DEFAULT_Kc); float Temperature::Kc[HOTENDS];
#endif #endif
#else #else
float Temperature::Kp = DEFAULT_Kp, float Temperature::Kp, Temperature::Ki, Temperature::Kd;
Temperature::Ki = (DEFAULT_Ki) * (PID_dT),
Temperature::Kd = (DEFAULT_Kd) / (PID_dT);
#if ENABLED(PID_EXTRUSION_SCALING) #if ENABLED(PID_EXTRUSION_SCALING)
float Temperature::Kc = DEFAULT_Kc; float Temperature::Kc;
#endif #endif
#endif #endif
#endif #endif
// Initialized by settings.load()
#if ENABLED(PIDTEMPBED) #if ENABLED(PIDTEMPBED)
float Temperature::bedKp = DEFAULT_bedKp, float Temperature::bedKp, Temperature::bedKi, Temperature::bedKd;
Temperature::bedKi = ((DEFAULT_bedKi) * PID_dT),
Temperature::bedKd = ((DEFAULT_bedKd) / PID_dT);
#endif #endif
#if ENABLED(BABYSTEPPING) #if ENABLED(BABYSTEPPING)

@ -49,6 +49,7 @@
bool ubl_lcd_map_control = false; bool ubl_lcd_map_control = false;
#endif #endif
// Initialized by settings.load()
int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2]; int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2];
#if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT) #if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT)

@ -202,7 +202,7 @@
#include "utf_mapper.h" #include "utf_mapper.h"
uint16_t lcd_contrast; uint16_t lcd_contrast; // Initialized by settings.load()
static char currentfont = 0; static char currentfont = 0;
// The current graphical page being rendered // The current graphical page being rendered

Loading…
Cancel
Save