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:
		
				
					committed by
					
						 Richard Wackerbarth
						Richard Wackerbarth
					
				
			
			
				
	
			
			
			
						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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user