Update ABL comments (PR#95)
* Updates the auto bed leveling comments ONLY. * Renames "Z probe" word usage in //comments and #errors properly.
This commit is contained in:
		
							parent
							
								
									a7822e3ff7
								
							
						
					
					
						commit
						9897a9147c
					
				| @ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -785,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -88,8 +88,8 @@ | ||||
|  * G10 - retract filament according to settings of M207 | ||||
|  * G11 - retract recover filament according to settings of M208 | ||||
|  * 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. | ||||
|  * G30 - Single Z Probe, probes bed at current XY location. | ||||
|  * G29 - Detailed Z probe, probes the bed at 3 or more points.  Will fail if you haven't homed yet. | ||||
|  * G30 - Single Z probe, probes bed at current XY location. | ||||
|  * G31 - Dock sled (Z_PROBE_SLED only) | ||||
|  * G32 - Undock sled (Z_PROBE_SLED only) | ||||
|  * G90 - Use Absolute Coordinates | ||||
| @ -179,8 +179,8 @@ | ||||
|  * M380 - Activate solenoid on active extruder | ||||
|  * M381 - Disable all solenoids | ||||
|  * M400 - Finish all moves | ||||
|  * M401 - Lower z-probe if present | ||||
|  * M402 - Raise z-probe if present | ||||
|  * M401 - Lower Z probe if present | ||||
|  * M402 - Raise Z probe if present | ||||
|  * M404 - N<dia in mm> Enter the nominal filament width (3mm, 1.75mm ) or will display nominal filament width without parameters | ||||
|  * M405 - Turn on Filament Sensor extrusion control.  Optional D<delay in cm> to set delay in centimeters between sensor and extruder | ||||
|  * M406 - Turn off Filament Sensor extrusion control | ||||
| @ -214,7 +214,7 @@ | ||||
|  * | ||||
|  * ************ Custom codes - This can change to suit future G-code regulations | ||||
|  * M100 - Watch Free Memory (For Debugging Only) | ||||
|  * M851 - Set probe's Z offset (mm above extruder -- The value will always be negative) | ||||
|  * M851 - Set Z probe's Z offset (mm above extruder -- The value will always be negative) | ||||
| 
 | ||||
| 
 | ||||
|  * M928 - Start SD logging (M928 filename.g) - ended by M29 | ||||
| @ -1239,7 +1239,7 @@ static void setup_for_endstop_move() { | ||||
|       plan_bed_level_matrix.set_to_identity(); | ||||
|       feedrate = homing_feedrate[Z_AXIS]; | ||||
| 
 | ||||
|       // Move down until the probe (or endstop?) is triggered
 | ||||
|       // Move down until the Z probe (or endstop?) is triggered
 | ||||
|       float zPosition = -(Z_MAX_LENGTH + 10); | ||||
|       line_to_z(zPosition); | ||||
|       st_synchronize(); | ||||
| @ -1329,7 +1329,7 @@ static void setup_for_endstop_move() { | ||||
|     #elif ENABLED(Z_PROBE_ALLEN_KEY) | ||||
|       feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE; | ||||
| 
 | ||||
|       // If endstop is already false, the probe is deployed
 | ||||
|       // If endstop is already false, the Z probe is deployed
 | ||||
|       #if ENABLED(Z_MIN_PROBE_ENDSTOP) | ||||
|         bool z_probe_endstop = (READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING); | ||||
|         if (z_probe_endstop) | ||||
| @ -1443,7 +1443,7 @@ static void setup_for_endstop_move() { | ||||
|       destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Z; | ||||
|       prepare_move_raw(); | ||||
| 
 | ||||
|       // Move the nozzle down to push the probe into retracted position
 | ||||
|       // Move the nozzle down to push the Z probe into retracted position
 | ||||
|       if (Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE) { | ||||
|         feedrate = Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE; | ||||
|       } | ||||
| @ -1506,7 +1506,7 @@ static void setup_for_endstop_move() { | ||||
| 
 | ||||
|   // Probe bed height at position (x,y), returns the measured z value
 | ||||
|   static float probe_pt(float x, float y, float z_before, ProbeAction probe_action=ProbeDeployAndStow, int verbose_level=1) { | ||||
|     // Move Z up to the z_before height, then move the probe to the given XY
 | ||||
|     // Move Z up to the z_before height, then move the Z probe to the given XY
 | ||||
|     do_blocking_move_to_z(z_before); // this also updates current_position
 | ||||
|     do_blocking_move_to_xy(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER); // this also updates current_position
 | ||||
| 
 | ||||
| @ -1678,7 +1678,7 @@ static void homeaxis(AxisEnum axis) { | ||||
|      | ||||
|     #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED) | ||||
| 
 | ||||
|       // Deploy a probe if there is one, and homing towards the bed
 | ||||
|       // Deploy a Z probe if there is one, and homing towards the bed
 | ||||
|       if (axis == Z_AXIS) { | ||||
|         if (axis_home_dir < 0) deploy_z_probe(); | ||||
|       } | ||||
| @ -1770,7 +1770,7 @@ static void homeaxis(AxisEnum axis) { | ||||
|     axis_known_position[axis] = true; | ||||
| 
 | ||||
|     #if ENABLED(Z_PROBE_SLED) | ||||
|     // bring probe back
 | ||||
|     // bring Z probe back
 | ||||
|       if (axis == Z_AXIS) { | ||||
|         if (axis_home_dir < 0) dock_sled(true); | ||||
|       }  | ||||
| @ -1778,7 +1778,7 @@ static void homeaxis(AxisEnum axis) { | ||||
| 
 | ||||
|     #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED) | ||||
| 
 | ||||
|       // Deploy a probe if there is one, and homing towards the bed
 | ||||
|       // Deploy a Z probe if there is one, and homing towards the bed
 | ||||
|       if (axis == Z_AXIS) { | ||||
|         if (axis_home_dir < 0) stow_z_probe(); | ||||
|       } | ||||
| @ -2157,7 +2157,7 @@ inline void gcode_G28() { | ||||
|             sync_plan_position(); | ||||
| 
 | ||||
|             //
 | ||||
|             // Set the probe (or just the nozzle) destination to the safe homing point
 | ||||
|             // Set the Z probe (or just the nozzle) destination to the safe homing point
 | ||||
|             //
 | ||||
|             // NOTE: If current_position[X_AXIS] or current_position[Y_AXIS] were set above
 | ||||
|             // then this may not work as expected.
 | ||||
| @ -2182,8 +2182,8 @@ inline void gcode_G28() { | ||||
|             // Let's see if X and Y are homed
 | ||||
|             if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) { | ||||
| 
 | ||||
|               // Make sure the probe is within the physical limits
 | ||||
|               // NOTE: This doesn't necessarily ensure the probe is also within the bed!
 | ||||
|               // Make sure the Z probe is within the physical limits
 | ||||
|               // NOTE: This doesn't necessarily ensure the Z probe is also within the bed!
 | ||||
|               float cpx = current_position[X_AXIS], cpy = current_position[Y_AXIS]; | ||||
|               if (   cpx >= X_MIN_POS - X_PROBE_OFFSET_FROM_EXTRUDER | ||||
|                   && cpx <= X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER | ||||
| @ -2265,7 +2265,7 @@ inline void gcode_G28() { | ||||
|   enum MeshLevelingState { MeshReport, MeshStart, MeshNext, MeshSet }; | ||||
| 
 | ||||
|   /**
 | ||||
|    * G29: Mesh-based Z-Probe, probes a grid and produces a | ||||
|    * G29: Mesh-based Z probe, probes a grid and produces a | ||||
|    *      mesh to compensate for variable bed height | ||||
|    * | ||||
|    * Parameters With MESH_BED_LEVELING: | ||||
| @ -2404,7 +2404,7 @@ inline void gcode_G28() { | ||||
|   } | ||||
| 
 | ||||
|   /**
 | ||||
|    * G29: Detailed Z-Probe, probes the bed at 3 or more points. | ||||
|    * G29: Detailed Z probe, probes the bed at 3 or more points. | ||||
|    *      Will fail if the printer has not been homed with G28. | ||||
|    * | ||||
|    * Enhanced G29 Auto Bed Leveling Probe Routine | ||||
| @ -2435,9 +2435,9 @@ inline void gcode_G28() { | ||||
|    * | ||||
|    * Global Parameters: | ||||
|    * | ||||
|    * E/e By default G29 will engage the probe, test the bed, then disengage. | ||||
|    *     Include "E" to engage/disengage the probe for each sample. | ||||
|    *     There's no extra effect if you have a fixed probe. | ||||
|    * E/e By default G29 will engage the Z probe, test the bed, then disengage. | ||||
|    *     Include "E" to engage/disengage the Z probe for each sample. | ||||
|    *     There's no extra effect if you have a fixed Z probe. | ||||
|    *     Usage: "G29 E" or "G29 e" | ||||
|    * | ||||
|    */ | ||||
| @ -2519,7 +2519,7 @@ inline void gcode_G28() { | ||||
|     #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|     #if ENABLED(Z_PROBE_SLED) | ||||
|       dock_sled(false); // engage (un-dock) the probe
 | ||||
|       dock_sled(false); // engage (un-dock) the Z probe
 | ||||
|     #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING
 | ||||
|       deploy_z_probe(); | ||||
|     #endif | ||||
| @ -2755,23 +2755,23 @@ inline void gcode_G28() { | ||||
|         plan_bed_level_matrix.debug(" \n\nBed Level Correction Matrix:"); | ||||
| 
 | ||||
|       if (!dryrun) { | ||||
|         // Correct the Z height difference from z-probe position and hotend tip position.
 | ||||
|         // The Z height on homing is measured by Z-Probe, but the probe is quite far from the hotend.
 | ||||
|         // Correct the Z height difference from Z probe position and nozzle tip position.
 | ||||
|         // The Z height on homing is measured by Z probe, but the Z probe is quite far from the nozzle.
 | ||||
|         // When the bed is uneven, this height must be corrected.
 | ||||
|         float x_tmp = current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER, | ||||
|               y_tmp = current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER, | ||||
|               z_tmp = current_position[Z_AXIS], | ||||
|               real_z = st_get_position_mm(Z_AXIS);  //get the real Z (since plan_get_position is now correcting the plane)
 | ||||
| 
 | ||||
|         apply_rotation_xyz(plan_bed_level_matrix, x_tmp, y_tmp, z_tmp); // Apply the correction sending the probe offset
 | ||||
|         apply_rotation_xyz(plan_bed_level_matrix, x_tmp, y_tmp, z_tmp); // Apply the correction sending the Z probe offset
 | ||||
| 
 | ||||
|         // Get the current Z position and send it to the planner.
 | ||||
|         //
 | ||||
|         // >> (z_tmp - real_z) : The rotated current Z minus the uncorrected Z (most recent plan_set_position/sync_plan_position)
 | ||||
|         //
 | ||||
|         // >> zprobe_zoffset : Z distance from nozzle to probe (set by default, M851, EEPROM, or Menu)
 | ||||
|         // >> zprobe_zoffset : Z distance from nozzle to Z probe (set by default, M851, EEPROM, or Menu)
 | ||||
|         //
 | ||||
|         // >> Z_RAISE_AFTER_PROBING : The distance the probe will have lifted after the last probe
 | ||||
|         // >> Z_RAISE_AFTER_PROBING : The distance the Z probe will have lifted after the last probe
 | ||||
|         //
 | ||||
|         // >> Should home_offset[Z_AXIS] be included?
 | ||||
|         //
 | ||||
| @ -2786,13 +2786,13 @@ inline void gcode_G28() { | ||||
|              + Z_RAISE_AFTER_PROBING | ||||
|           #endif | ||||
|           ; | ||||
|         // current_position[Z_AXIS] += home_offset[Z_AXIS]; // The probe determines Z=0, not "Z home"
 | ||||
|         // current_position[Z_AXIS] += home_offset[Z_AXIS]; // The Z probe determines Z=0, not "Z home"
 | ||||
|         sync_plan_position(); | ||||
|       } | ||||
|     #endif // !DELTA
 | ||||
| 
 | ||||
|     #if ENABLED(Z_PROBE_SLED) | ||||
|       dock_sled(true); // dock the probe
 | ||||
|       dock_sled(true); // dock the Z probe
 | ||||
|     #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING
 | ||||
|       stow_z_probe(); | ||||
|     #endif | ||||
| @ -3121,14 +3121,14 @@ inline void gcode_M42() { | ||||
|   // This is redundant since the SanityCheck.h already checks for a valid Z_MIN_PROBE_PIN, but here for clarity.
 | ||||
|   #if ENABLED(Z_MIN_PROBE_ENDSTOP) | ||||
|     #if !HAS_Z_PROBE | ||||
|       #error You must define Z_MIN_PROBE_PIN to enable Z-Probe repeatability calculation. | ||||
|       #error You must define Z_MIN_PROBE_PIN to enable Z probe repeatability calculation. | ||||
|     #endif | ||||
|   #elif !HAS_Z_MIN | ||||
|     #error You must define Z_MIN_PIN to enable Z-Probe repeatability calculation. | ||||
|     #error You must define Z_MIN_PIN to enable Z probe repeatability calculation. | ||||
|   #endif | ||||
| 
 | ||||
|   /**
 | ||||
|    * M48: Z-Probe repeatability measurement function. | ||||
|    * M48: Z probe repeatability measurement function. | ||||
|    * | ||||
|    * Usage: | ||||
|    *   M48 <P#> <X#> <Y#> <V#> <E> <L#> | ||||
| @ -3136,11 +3136,11 @@ inline void gcode_M42() { | ||||
|    *     X = Sample X position | ||||
|    *     Y = Sample Y position | ||||
|    *     V = Verbose level (0-4, default=1) | ||||
|    *     E = Engage probe for each reading | ||||
|    *     E = Engage Z probe for each reading | ||||
|    *     L = Number of legs of movement before probe | ||||
|    *   | ||||
|    * This function assumes the bed has been homed.  Specifically, that a G28 command | ||||
|    * as been issued prior to invoking the M48 Z-Probe repeatability measurement function. | ||||
|    * as been issued prior to invoking the M48 Z probe repeatability measurement function. | ||||
|    * Any information generated by a prior G29 Bed leveling command will be lost and need to be | ||||
|    * regenerated. | ||||
|    */ | ||||
| @ -3203,7 +3203,7 @@ inline void gcode_M42() { | ||||
|     } | ||||
| 
 | ||||
|     //
 | ||||
|     // Do all the preliminary setup work.   First raise the probe.
 | ||||
|     // Do all the preliminary setup work.   First raise the Z probe.
 | ||||
|     //
 | ||||
| 
 | ||||
|     st_synchronize(); | ||||
| @ -5283,7 +5283,7 @@ void process_next_command() { | ||||
|         break; | ||||
| 
 | ||||
|       #if ENABLED(ENABLE_AUTO_BED_LEVELING) || ENABLED(MESH_BED_LEVELING) | ||||
|         case 29: // G29 Detailed Z-Probe, probes the bed at 3 or more points.
 | ||||
|         case 29: // G29 Detailed Z probe, probes the bed at 3 or more points.
 | ||||
|           gcode_G29(); | ||||
|           break; | ||||
|       #endif | ||||
| @ -5292,7 +5292,7 @@ void process_next_command() { | ||||
| 
 | ||||
|         #if DISABLED(Z_PROBE_SLED) | ||||
| 
 | ||||
|           case 30: // G30 Single Z Probe
 | ||||
|           case 30: // G30 Single Z probe
 | ||||
|             gcode_G30(); | ||||
|             break; | ||||
| 
 | ||||
| @ -5378,7 +5378,7 @@ void process_next_command() { | ||||
|         break; | ||||
| 
 | ||||
|       #if ENABLED(ENABLE_AUTO_BED_LEVELING) && ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST) | ||||
|         case 48: // M48 Z-Probe repeatability
 | ||||
|         case 48: // M48 Z probe repeatability
 | ||||
|           gcode_M48(); | ||||
|           break; | ||||
|       #endif // ENABLE_AUTO_BED_LEVELING && Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
|  | ||||
| @ -130,20 +130,20 @@ | ||||
|   #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|     /**
 | ||||
|      * Require a Z Min pin | ||||
|      * Require a Z min pin | ||||
|      */ | ||||
|     #if !PIN_EXISTS(Z_MIN) | ||||
|       #if !PIN_EXISTS(Z_MIN_PROBE) || (DISABLED(Z_MIN_PROBE_ENDSTOP) || ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP)) // It's possible for someone to set a pin for the Z Probe, but not enable it.
 | ||||
|       #if !PIN_EXISTS(Z_MIN_PROBE) || (DISABLED(Z_MIN_PROBE_ENDSTOP) || ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP)) // It's possible for someone to set a pin for the Z probe, but not enable it.
 | ||||
|         #if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST) | ||||
|           #error You must have a Z_MIN or Z_PROBE endstop to enable Z_MIN_PROBE_REPEATABILITY_TEST. | ||||
|           #error You must have a Z min or Z probe endstop to enable Z_MIN_PROBE_REPEATABILITY_TEST. | ||||
|         #else | ||||
|           #error ENABLE_AUTO_BED_LEVELING requires a Z_MIN or Z_PROBE endstop. Z_MIN_PIN or Z_MIN_PROBE_PIN must point to a valid hardware pin. | ||||
|           #error ENABLE_AUTO_BED_LEVELING requires a Z min or Z probe endstop. Z_MIN_PIN or Z_MIN_PROBE_PIN must point to a valid hardware pin. | ||||
|         #endif | ||||
|       #endif | ||||
|     #endif | ||||
| 
 | ||||
|     /**
 | ||||
|      * Require a Z Probe Pin if Z_MIN_PROBE_ENDSTOP is enabled. | ||||
|      * Require a Z probe pin if Z_MIN_PROBE_ENDSTOP is enabled. | ||||
|      */ | ||||
|     #if ENABLED(Z_MIN_PROBE_ENDSTOP) | ||||
|       #ifndef Z_MIN_PROBE_PIN | ||||
| @ -179,30 +179,30 @@ | ||||
|         #endif | ||||
|         // Make sure probing points are reachable
 | ||||
|         #if LEFT_PROBE_BED_POSITION < MIN_PROBE_X | ||||
|           #error "The given LEFT_PROBE_BED_POSITION can't be reached by the probe." | ||||
|           #error "The given LEFT_PROBE_BED_POSITION can't be reached by the Z probe." | ||||
|         #elif RIGHT_PROBE_BED_POSITION > MAX_PROBE_X | ||||
|           #error "The given RIGHT_PROBE_BED_POSITION can't be reached by the probe." | ||||
|           #error "The given RIGHT_PROBE_BED_POSITION can't be reached by the Z probe." | ||||
|         #elif FRONT_PROBE_BED_POSITION < MIN_PROBE_Y | ||||
|           #error "The given FRONT_PROBE_BED_POSITION can't be reached by the probe." | ||||
|           #error "The given FRONT_PROBE_BED_POSITION can't be reached by the Z probe." | ||||
|         #elif BACK_PROBE_BED_POSITION > MAX_PROBE_Y | ||||
|           #error "The given BACK_PROBE_BED_POSITION can't be reached by the probe." | ||||
|           #error "The given BACK_PROBE_BED_POSITION can't be reached by the Z probe." | ||||
|         #endif | ||||
|       #endif | ||||
|     #else // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Check the triangulation points
 | ||||
|       #if ABL_PROBE_PT_1_X < MIN_PROBE_X || ABL_PROBE_PT_1_X > MAX_PROBE_X | ||||
|         #error "The given ABL_PROBE_PT_1_X can't be reached by the probe." | ||||
|         #error "The given ABL_PROBE_PT_1_X can't be reached by the Z probe." | ||||
|       #elif ABL_PROBE_PT_2_X < MIN_PROBE_X || ABL_PROBE_PT_2_X > MAX_PROBE_X | ||||
|         #error "The given ABL_PROBE_PT_2_X can't be reached by the probe." | ||||
|         #error "The given ABL_PROBE_PT_2_X can't be reached by the Z probe." | ||||
|       #elif ABL_PROBE_PT_3_X < MIN_PROBE_X || ABL_PROBE_PT_3_X > MAX_PROBE_X | ||||
|         #error "The given ABL_PROBE_PT_3_X can't be reached by the probe." | ||||
|         #error "The given ABL_PROBE_PT_3_X can't be reached by the Z probe." | ||||
|       #elif ABL_PROBE_PT_1_Y < MIN_PROBE_Y || ABL_PROBE_PT_1_Y > MAX_PROBE_Y | ||||
|         #error "The given ABL_PROBE_PT_1_Y can't be reached by the probe." | ||||
|         #error "The given ABL_PROBE_PT_1_Y can't be reached by the Z probe." | ||||
|       #elif ABL_PROBE_PT_2_Y < MIN_PROBE_Y || ABL_PROBE_PT_2_Y > MAX_PROBE_Y | ||||
|         #error "The given ABL_PROBE_PT_2_Y can't be reached by the probe." | ||||
|         #error "The given ABL_PROBE_PT_2_Y can't be reached by the Z probe." | ||||
|       #elif ABL_PROBE_PT_3_Y < MIN_PROBE_Y || ABL_PROBE_PT_3_Y > MAX_PROBE_Y | ||||
|         #error "The given ABL_PROBE_PT_3_Y can't be reached by the probe." | ||||
|         #error "The given ABL_PROBE_PT_3_Y can't be reached by the Z probe." | ||||
|       #endif | ||||
| 
 | ||||
|     #endif // !AUTO_BED_LEVELING_GRID
 | ||||
| @ -240,7 +240,7 @@ | ||||
|   #endif | ||||
| 
 | ||||
|   /**
 | ||||
|    * Allen Key Z Probe requires Auto Bed Leveling grid and Delta | ||||
|    * Allen Key Z probe requires Auto Bed Leveling grid and Delta | ||||
|    */ | ||||
|   #if ENABLED(Z_PROBE_ALLEN_KEY) && !(ENABLED(AUTO_BED_LEVELING_GRID) && ENABLED(DELTA)) | ||||
|     #error Invalid use of Z_PROBE_ALLEN_KEY. | ||||
|  | ||||
| @ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -785,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -323,9 +323,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| #define DISABLE_MAX_ENDSTOPS | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -401,11 +401,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -413,9 +413,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -424,12 +424,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -440,8 +440,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -451,16 +451,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 180 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -470,56 +470,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -596,6 +613,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -763,7 +785,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -308,6 +308,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| #define DISABLE_MAX_ENDSTOPS | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| #define X_ENABLE_ON 0 | ||||
| #define Y_ENABLE_ON 0 | ||||
| @ -365,29 +371,35 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
|   #define MESH_MIN_X 10 | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================ Bed Auto Leveling ============================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -398,8 +410,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -409,16 +421,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 180 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this      
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -428,60 +440,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
|                                                                             | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
|   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
 | ||||
|   //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -557,6 +582,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define EEPROM_CHITCHAT // please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| #define PLA_PREHEAT_HOTEND_TEMP 180 | ||||
| #define PLA_PREHEAT_HPB_TEMP 70 | ||||
| @ -716,7 +748,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -333,9 +333,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -411,11 +411,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -423,9 +423,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -434,12 +434,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -450,8 +450,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -461,16 +461,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -480,56 +480,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -605,6 +622,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -772,7 +794,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -329,9 +329,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| #define DISABLE_MAX_ENDSTOPS | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -407,11 +407,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -419,9 +419,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -430,12 +430,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -446,8 +446,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -457,16 +457,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -476,56 +476,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -601,6 +618,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -768,7 +790,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -613,6 +630,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -780,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -327,9 +327,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -405,11 +405,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -417,9 +417,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -428,12 +428,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -444,8 +444,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -455,16 +455,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -474,56 +474,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -775,7 +792,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -349,9 +349,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -427,11 +427,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -439,9 +439,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -450,12 +450,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -466,8 +466,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -477,16 +477,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -496,56 +496,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   //#define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   //#define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|  // #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|  // #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -621,6 +638,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -788,7 +810,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -333,9 +333,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -411,11 +411,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -423,9 +423,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -434,12 +434,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -450,8 +450,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -461,16 +461,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -480,56 +480,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -605,6 +622,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -772,7 +794,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -613,6 +630,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -780,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -374,11 +374,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o | ||||
| const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
 | ||||
| const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
 | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
 | ||||
| #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -454,11 +454,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -466,9 +466,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -477,12 +477,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST // Z probe repeatability test is not supported in Deltas yet.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -493,20 +493,20 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode.
 | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| 
 | ||||
|     // set the rectangle in which to probe
 | ||||
|     // Set the rectangle in which to probe.
 | ||||
|     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10) | ||||
|     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS | ||||
|     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS | ||||
|     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS | ||||
|     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Non-linear bed leveling will be used.
 | ||||
|     // Compensate by interpolating between the nearest four Z probe values for each point.
 | ||||
| @ -516,8 +516,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -527,28 +527,28 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 50    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 50    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
|   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|   // Allen key retractable Z probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
 | ||||
|   //#define Z_PROBE_ALLEN_KEY
 | ||||
| 
 | ||||
| @ -629,35 +629,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z | ||||
|   #endif | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -733,6 +750,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -903,7 +925,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -374,11 +374,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of | ||||
| const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
 | ||||
| const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
 | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
 | ||||
| #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -454,11 +454,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -466,9 +466,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -477,12 +477,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST // Z probe repeatability test is not supported in Deltas yet.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations.
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -493,9 +493,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode.
 | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| 
 | ||||
| @ -506,7 +506,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS | ||||
|     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Non-linear bed leveling will be used.
 | ||||
|     // Compensate by interpolating between the nearest four Z probe values for each point.
 | ||||
| @ -516,8 +516,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -527,26 +527,26 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 50    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 50    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
|   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
 | ||||
| @ -629,35 +629,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|     //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
 | ||||
|   #endif | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -733,6 +750,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -907,7 +929,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -374,11 +374,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o | ||||
| const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
 | ||||
| const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
 | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
 | ||||
| //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -454,11 +454,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -466,9 +466,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -477,12 +477,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
 | ||||
| #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST // Z probe repeatability test is not supported in Deltas yet.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -493,9 +493,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode.
 | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| 
 | ||||
| @ -506,7 +506,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS | ||||
|     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Non-linear bed leveling will be used.
 | ||||
|     // Compensate by interpolating between the nearest four Z probe values for each point.
 | ||||
| @ -516,8 +516,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -527,26 +527,26 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 15      // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 15      // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 50    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 50    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
|   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
 | ||||
| @ -633,35 +633,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
 | ||||
|   #endif | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -737,6 +754,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -907,7 +929,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -361,11 +361,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o | ||||
| const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
 | ||||
| const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
 | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
 | ||||
| //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -441,11 +441,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -453,9 +453,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -464,12 +464,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -480,9 +480,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode.
 | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| 
 | ||||
| @ -493,7 +493,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS | ||||
|     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Non-linear bed leveling will be used.
 | ||||
|     // Compensate by interpolating between the nearest four Z probe values for each point.
 | ||||
| @ -503,8 +503,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -514,28 +514,28 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -23 // KosselPro actual: -22.919
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -6  // KosselPro actual: -6.304
 | ||||
|   // Kossel Pro note: The correct value is likely -17.45 but I'd rather err on the side of
 | ||||
|   // not giving someone a head crash. Use something like G29 Z-0.2 to adjust as needed.
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -17.25  // Increase this if the first layer is too thin (remember: it's a negative number so increase means closer to zero).
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 100  //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 100  // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
|   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
 | ||||
| @ -618,35 +618,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z | ||||
|   #endif | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -732,6 +749,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -902,7 +924,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -344,9 +344,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -422,11 +422,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -434,9 +434,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -445,12 +445,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -461,8 +461,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -472,16 +472,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -491,56 +491,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -616,6 +633,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -783,7 +805,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -331,9 +331,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //#define DISABLE_MAX_ENDSTOPS
 | ||||
| //#define DISABLE_MIN_ENDSTOPS
 | ||||
| 
 | ||||
| // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
 | ||||
| // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
 | ||||
| // This only affects a Z probe endstop if you have separate Z min endstop as well and have
 | ||||
| // activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
 | ||||
| // this has no effect.
 | ||||
| //#define DISABLE_Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| @ -409,11 +409,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //=========================== Manual Bed Leveling ===========================
 | ||||
| //===========================================================================
 | ||||
| 
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling
 | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
 | ||||
| // #define MESH_BED_LEVELING    // Enable mesh bed leveling.
 | ||||
| 
 | ||||
| #if ENABLED(MANUAL_BED_LEVELING) | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
 | ||||
|   #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
 | ||||
| #endif  // MANUAL_BED_LEVELING
 | ||||
| 
 | ||||
| #if ENABLED(MESH_BED_LEVELING) | ||||
| @ -421,9 +421,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) | ||||
|   #define MESH_MIN_Y 10 | ||||
|   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
 | ||||
|   #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
 | ||||
|   #define MESH_NUM_Y_POINTS 3 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
 | ||||
|   #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
 | ||||
| #endif  // MESH_BED_LEVELING
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| @ -432,12 +432,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
| // @section bedlevel
 | ||||
| 
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
 | ||||
| //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
 | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
 | ||||
| 
 | ||||
| #if ENABLED(ENABLE_AUTO_BED_LEVELING) | ||||
| 
 | ||||
|   // There are 2 different ways to specify probing locations
 | ||||
|   // There are 2 different ways to specify probing locations:
 | ||||
|   //
 | ||||
|   // - "grid" mode
 | ||||
|   //   Probe several points in a rectangular grid.
 | ||||
| @ -448,8 +448,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   //   Probe 3 arbitrary points on the bed (that aren't colinear)
 | ||||
|   //   You specify the XY coordinates of all 3 points.
 | ||||
| 
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution)
 | ||||
|   // Note: this feature generates 10KB extra code size
 | ||||
|   // Enable this to sample the bed in a grid (least squares solution).
 | ||||
|   // Note: this feature generates 10KB extra code size.
 | ||||
|   #define AUTO_BED_LEVELING_GRID | ||||
| 
 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
| @ -459,16 +459,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|     #define FRONT_PROBE_BED_POSITION 20 | ||||
|     #define BACK_PROBE_BED_POSITION 170 | ||||
| 
 | ||||
|     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
 | ||||
|     #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
 | ||||
| 
 | ||||
|     // Set the number of grid points per dimension
 | ||||
|     // You probably don't need more than 3 (squared=9)
 | ||||
|     // Set the number of grid points per dimension.
 | ||||
|     // You probably don't need more than 3 (squared=9).
 | ||||
|     #define AUTO_BED_LEVELING_GRID_POINTS 2 | ||||
| 
 | ||||
|   #else  // !AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|       // Arbitrary points to probe. A simple cross-product
 | ||||
|       // is used to estimate the plane of the bed.
 | ||||
|       // Arbitrary points to probe.
 | ||||
|       // A simple cross-product is used to estimate the plane of the bed.
 | ||||
|       #define ABL_PROBE_PT_1_X 15 | ||||
|       #define ABL_PROBE_PT_1_Y 180 | ||||
|       #define ABL_PROBE_PT_2_X 15 | ||||
| @ -478,56 +478,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| 
 | ||||
|   #endif // AUTO_BED_LEVELING_GRID
 | ||||
| 
 | ||||
|   // Offsets to the probe relative to the extruder tip (Hotend - Probe)
 | ||||
|   // X and Y offsets must be integers
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
 | ||||
|   // Offsets to the Z probe relative to the nozzle tip.
 | ||||
|   // X and Y offsets must be integers.
 | ||||
|   #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
 | ||||
|   #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
 | ||||
|   #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case
 | ||||
|   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
 | ||||
|                                         // Be sure you have this distance over your Z_MAX_POS in case.
 | ||||
| 
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
 | ||||
|   #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
 | ||||
| 
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
 | ||||
|   #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
 | ||||
|   #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
 | ||||
|   #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
 | ||||
| 
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             //Useful to retract a deployable probe.
 | ||||
| //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
 | ||||
|                                                                             // Useful to retract a deployable Z probe.
 | ||||
| 
 | ||||
|   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
|   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
|   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
 | ||||
| //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
 | ||||
| // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
 | ||||
| 
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
 | ||||
|   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
 | ||||
|                           // When defined, it will:
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing
 | ||||
|                           // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
 | ||||
|                           // - Block Z homing only when the probe is outside bed area.
 | ||||
|                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
 | ||||
|                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
 | ||||
|                           // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
 | ||||
|                           // - Block Z homing only when the Z probe is outside bed area.
 | ||||
| 
 | ||||
|   #if ENABLED(Z_SAFE_HOMING) | ||||
| 
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
 | ||||
|     #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
 | ||||
|     #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
 | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
 | ||||
|   // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
 | ||||
|   // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
 | ||||
|   // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
 | ||||
|   // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
 | ||||
|   // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
 | ||||
| 
 | ||||
|   // Support for a dedicated Z probe endstop separate from the Z min endstop.
 | ||||
|   // If you would like to use both a Z probe and a Z min endstop together,
 | ||||
|   // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
 | ||||
|   // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
 | ||||
|   // Example: To park the head outside the bed area when homing with G28.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // The Z min endstop will need to set properly as it would without a Z probe
 | ||||
|   // to prevent head crashes and premature stopping during a print.
 | ||||
|   //
 | ||||
|   // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
 | ||||
|   // defined in the pins_XXXXX.h file for your control board.
 | ||||
|   // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
 | ||||
|   // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
 | ||||
|   // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
 | ||||
|   // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
 | ||||
|   // otherwise connect to ground and D32 for normally closed configuration
 | ||||
|   // and 5V and D32 for normally open configurations.
 | ||||
|   // Normally closed configuration is advised and assumed.
 | ||||
|   // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
 | ||||
|   // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
 | ||||
|   // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
 | ||||
|   // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
 | ||||
|   // All other boards will need changes to the respective pins_XXXXX.h file.
 | ||||
|   //
 | ||||
|   // WARNING:
 | ||||
|   // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
 | ||||
|   // Use with caution and do your homework.
 | ||||
|   //
 | ||||
|   //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| #endif // ENABLE_AUTO_BED_LEVELING
 | ||||
| @ -607,6 +624,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
|   #define EEPROM_CHITCHAT // Please keep turned on if you can.
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // M100 Free Memory Watcher
 | ||||
| //
 | ||||
| //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
 | ||||
| 
 | ||||
| // @section temperature
 | ||||
| 
 | ||||
| // Preheat Constants
 | ||||
| @ -774,7 +796,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| // Servo Endstops
 | ||||
| //
 | ||||
| // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 | ||||
| // Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
 | ||||
| //
 | ||||
| //#define X_ENDSTOP_SERVO_NR 1
 | ||||
| //#define Y_ENDSTOP_SERVO_NR 2
 | ||||
|  | ||||
| @ -31,7 +31,7 @@ | ||||
| #define Z_DIR_PIN          28 | ||||
| #define Z_ENABLE_PIN       37 | ||||
| #define Z_MAX_PIN          36 | ||||
| #define Z_MIN_PIN          17  // Bed probe
 | ||||
| #define Z_MIN_PIN          17  // Bed Z probe
 | ||||
| 
 | ||||
| #define E0_STEP_PIN        35 | ||||
| #define E0_DIR_PIN         34 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user