diff --git a/Marlin/Conditionals.h b/Marlin/Conditionals.h
index 599a1bf24bea244396953800304d11d5d751176a..2e6e55e4419b29067dd5c300d0b139699a4f3fb5 100644
--- a/Marlin/Conditionals.h
+++ b/Marlin/Conditionals.h
@@ -732,7 +732,7 @@
#define Z_ENDSTOP_SERVO_NR -1
#endif
#if X_ENDSTOP_SERVO_NR >= 0 || Y_ENDSTOP_SERVO_NR >= 0 || HAS_Z_ENDSTOP_SERVO
- #define HAS_SERVO_ENDSTOPS true
+ #define HAS_SERVO_ENDSTOPS
#define SERVO_ENDSTOP_IDS { X_ENDSTOP_SERVO_NR, Y_ENDSTOP_SERVO_NR, Z_ENDSTOP_SERVO_NR }
#endif
#endif
diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index b67d0a02fc9d1c36abb01cdba858a8cb702d044d..968fca65931bf24908ef41eba6e23108ac042075 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -440,6 +440,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -585,7 +591,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -610,9 +616,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 1feb42d7a42d264e8f9ff5954a23d8de1e1ae0ed..9d8005c9b0d7853b0bf197529277abbef220953a 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -372,7 +372,7 @@ static uint8_t target_extruder;
};
#endif
-#if HAS_SERVO_ENDSTOPS
+#if ENABLED(HAS_SERVO_ENDSTOPS)
const int servo_endstop_id[] = SERVO_ENDSTOP_IDS;
const int servo_endstop_angle[][2] = SERVO_ENDSTOP_ANGLES;
#endif
@@ -724,7 +724,7 @@ void servo_init() {
servo[3].detach();
#endif
- #if HAS_SERVO_ENDSTOPS
+ #if ENABLED(HAS_SERVO_ENDSTOPS)
endstops.enable_z_probe(false);
@@ -1701,7 +1701,12 @@ static void setup_for_endstop_move() {
}
inline void raise_z_after_probing() {
- do_blocking_move_to_z(current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING);
+ #if Z_RAISE_AFTER_PROBING > 0
+ #if ENABLED(DEBUG_LEVELING_FEATURE)
+ if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("raise_z_after_probing()");
+ #endif
+ do_blocking_move_to_z(current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING);
+ #endif
}
static void clean_up_after_endstop_move() {
@@ -1724,7 +1729,7 @@ static void setup_for_endstop_move() {
if (endstops.z_probe_enabled) return;
- #if HAS_SERVO_ENDSTOPS
+ #if ENABLED(HAS_SERVO_ENDSTOPS)
// Engage Z Servo endstop if enabled
if (servo_endstop_id[Z_AXIS] >= 0) servo[servo_endstop_id[Z_AXIS]].move(servo_endstop_angle[Z_AXIS][0]);
@@ -1811,7 +1816,7 @@ static void setup_for_endstop_move() {
}
static void stow_z_probe(bool doRaise = true) {
- #if !(HAS_SERVO_ENDSTOPS && (Z_RAISE_AFTER_PROBING > 0))
+ #if !(ENABLED(HAS_SERVO_ENDSTOPS) && (Z_RAISE_AFTER_PROBING > 0))
UNUSED(doRaise);
#endif
#if ENABLED(DEBUG_LEVELING_FEATURE)
@@ -1820,21 +1825,13 @@ static void setup_for_endstop_move() {
if (!endstops.z_probe_enabled) return;
- #if HAS_SERVO_ENDSTOPS
+ #if ENABLED(HAS_SERVO_ENDSTOPS)
// Retract Z Servo endstop if enabled
if (servo_endstop_id[Z_AXIS] >= 0) {
#if Z_RAISE_AFTER_PROBING > 0
if (doRaise) {
- #if ENABLED(DEBUG_LEVELING_FEATURE)
- if (DEBUGGING(LEVELING)) {
- SERIAL_ECHOPAIR("Raise Z (after) by ", Z_RAISE_AFTER_PROBING);
- SERIAL_EOL;
- SERIAL_ECHO("> SERVO_ENDSTOPS > raise_z_after_probing()");
- SERIAL_EOL;
- }
- #endif
raise_z_after_probing(); // this also updates current_position
stepper.synchronize();
}
@@ -2062,7 +2059,7 @@ static void setup_for_endstop_move() {
#endif // DELTA
- #if HAS_SERVO_ENDSTOPS && DISABLED(Z_PROBE_SLED)
+ #if ENABLED(HAS_SERVO_ENDSTOPS) && DISABLED(Z_PROBE_SLED)
void raise_z_for_servo() {
float zpos = current_position[Z_AXIS], z_dest = Z_RAISE_BEFORE_PROBING;
@@ -2122,9 +2119,7 @@ static void setup_for_endstop_move() {
float oldXpos = current_position[X_AXIS]; // save x position
if (dock) {
- #if Z_RAISE_AFTER_PROBING > 0
- raise_z_after_probing(); // raise Z
- #endif
+ raise_z_after_probing(); // raise Z
// Dock sled a bit closer to ensure proper capturing
do_blocking_move_to_x(X_MAX_POS + SLED_DOCKING_OFFSET + offset - 1);
digitalWrite(SLED_PIN, LOW); // turn off magnet
@@ -2173,33 +2168,36 @@ static void homeaxis(AxisEnum axis) {
sync_plan_position();
#if ENABLED(Z_PROBE_SLED)
- #define _Z_SERVO_TEST (axis != Z_AXIS) // deploy Z, servo.move XY
- #define _Z_PROBE_SUBTEST false // Z will never be invoked
+ #define _Z_SERVO_TEST (axis != Z_AXIS) // already deployed Z
+ #define _Z_SERVO_SUBTEST false // Z will never be invoked
#define _Z_DEPLOY (dock_sled(false))
#define _Z_STOW (dock_sled(true))
#elif SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
- #define _Z_SERVO_TEST (axis != Z_AXIS) // servo.move XY
- #define _Z_PROBE_SUBTEST false // Z will never be invoked
+ #define _Z_SERVO_TEST (axis != Z_AXIS) // already deployed Z
+ #define _Z_SERVO_SUBTEST false // Z will never be invoked
#define _Z_DEPLOY (deploy_z_probe())
#define _Z_STOW (stow_z_probe())
- #elif HAS_SERVO_ENDSTOPS
- #define _Z_SERVO_TEST true // servo.move X, Y, Z
- #define _Z_PROBE_SUBTEST (axis == Z_AXIS) // Z is a probe
+ #elif ENABLED(HAS_SERVO_ENDSTOPS)
+ #define _Z_SERVO_TEST true // Z not deployed yet
+ #define _Z_SERVO_SUBTEST (axis == Z_AXIS) // Z is a probe
#endif
- if (axis == Z_AXIS) {
- // If there's a Z probe that needs deployment...
- #if ENABLED(Z_PROBE_SLED) || SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
- // ...and homing Z towards the bed? Deploy it.
- if (axis_home_dir < 0) _Z_DEPLOY;
- #endif
- }
+ // If there's a Z probe that needs deployment...
+ #if ENABLED(Z_PROBE_SLED) || SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
+ // ...and homing Z towards the bed? Deploy it.
+ if (axis == Z_AXIS && axis_home_dir < 0) {
+ #if ENABLED(DEBUG_LEVELING_FEATURE)
+ if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> SERVO_LEVELING > " STRINGIFY(_Z_DEPLOY));
+ #endif
+ _Z_DEPLOY;
+ }
+ #endif
- #if HAS_SERVO_ENDSTOPS
- // Engage an X or Y Servo endstop if enabled
+ #if ENABLED(HAS_SERVO_ENDSTOPS)
+ // Engage an X, Y (or Z) Servo endstop if enabled
if (_Z_SERVO_TEST && servo_endstop_id[axis] >= 0) {
servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][0]);
- if (_Z_PROBE_SUBTEST) endstops.z_probe_enabled = true;
+ if (_Z_SERVO_SUBTEST) endstops.z_probe_enabled = true;
}
#endif
@@ -2316,7 +2314,7 @@ static void homeaxis(AxisEnum axis) {
axis_known_position[axis] = true;
axis_homed[axis] = true;
- // Put away the Z probe
+ // Put away the Z probe with a function
#if ENABLED(Z_PROBE_SLED) || SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
if (axis == Z_AXIS && axis_home_dir < 0) {
#if ENABLED(DEBUG_LEVELING_FEATURE)
@@ -2326,16 +2324,32 @@ static void homeaxis(AxisEnum axis) {
}
#endif
- // Retract Servo endstop if enabled
- #if HAS_SERVO_ENDSTOPS
+ // Retract X, Y (or Z) Servo endstop if enabled
+ #if ENABLED(HAS_SERVO_ENDSTOPS)
if (_Z_SERVO_TEST && servo_endstop_id[axis] >= 0) {
+ // Raise the servo probe before stow outside ABL context.
+ // This is a workaround to allow use of a Servo Probe without
+ // ABL until more global probe handling is implemented.
+ #if Z_RAISE_AFTER_PROBING > 0
+ if (axis == Z_AXIS) {
+ #if ENABLED(DEBUG_LEVELING_FEATURE)
+ if (DEBUGGING(LEVELING)) SERIAL_ECHOPAIR("Raise Z (after) by ", Z_RAISE_AFTER_PROBING);
+ #endif
+ current_position[Z_AXIS] = Z_RAISE_AFTER_PROBING;
+ feedrate = homing_feedrate[Z_AXIS];
+ line_to_current_position();
+ stepper.synchronize();
+ }
+ #endif
+
#if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> SERVO_ENDSTOPS > Stow with servo.move()");
#endif
servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][1]);
- if (_Z_PROBE_SUBTEST) endstops.enable_z_probe(false);
+ if (_Z_SERVO_SUBTEST) endstops.enable_z_probe(false);
}
- #endif
+
+ #endif // HAS_SERVO_ENDSTOPS
}
@@ -3564,7 +3578,7 @@ inline void gcode_G28() {
// Allen Key Probe for Delta
#if ENABLED(Z_PROBE_ALLEN_KEY) || SERVO_LEVELING
stow_z_probe();
- #elif Z_RAISE_AFTER_PROBING > 0
+ #else
raise_z_after_probing(); // for non Allen Key probes, such as simple mechanical probe
#endif
#else // !DELTA
@@ -3624,7 +3638,7 @@ inline void gcode_G28() {
#endif
current_position[Z_AXIS] = -zprobe_zoffset + (z_tmp - real_z)
- #if HAS_SERVO_ENDSTOPS || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED)
+ #if ENABLED(HAS_SERVO_ENDSTOPS) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED)
+ Z_RAISE_AFTER_PROBING
#endif
;
@@ -3639,9 +3653,9 @@ inline void gcode_G28() {
// Sled assembly for Cartesian bots
#if ENABLED(Z_PROBE_SLED)
dock_sled(true); // dock the sled
- #elif Z_RAISE_AFTER_PROBING > 0
+ #else
// Raise Z axis for non-delta and non servo based probes
- #if !defined(HAS_SERVO_ENDSTOPS) && DISABLED(Z_PROBE_ALLEN_KEY) && DISABLED(Z_PROBE_SLED)
+ #if DISABLED(HAS_SERVO_ENDSTOPS) && DISABLED(Z_PROBE_ALLEN_KEY) && DISABLED(Z_PROBE_SLED)
raise_z_after_probing();
#endif
#endif
@@ -3685,7 +3699,7 @@ inline void gcode_G28() {
* G30: Do a single Z probe at the current XY
*/
inline void gcode_G30() {
- #if HAS_SERVO_ENDSTOPS
+ #if ENABLED(HAS_SERVO_ENDSTOPS)
raise_z_for_servo();
#endif
deploy_z_probe(); // Engage Z Servo endstop if available. Z_PROBE_SLED is missed here.
@@ -3707,7 +3721,7 @@ inline void gcode_G28() {
clean_up_after_endstop_move(); // Too early. must be done after the stowing.
- #if HAS_SERVO_ENDSTOPS
+ #if ENABLED(HAS_SERVO_ENDSTOPS)
raise_z_for_servo();
#endif
stow_z_probe(false); // Retract Z Servo endstop if available. Z_PROBE_SLED is missed here.
@@ -5816,13 +5830,13 @@ inline void gcode_M303() {
*/
inline void gcode_M400() { stepper.synchronize(); }
-#if ENABLED(AUTO_BED_LEVELING_FEATURE) && DISABLED(Z_PROBE_SLED) && (HAS_SERVO_ENDSTOPS || ENABLED(Z_PROBE_ALLEN_KEY))
+#if ENABLED(AUTO_BED_LEVELING_FEATURE) && DISABLED(Z_PROBE_SLED) && (ENABLED(HAS_SERVO_ENDSTOPS) || ENABLED(Z_PROBE_ALLEN_KEY))
/**
* M401: Engage Z Servo endstop if available
*/
inline void gcode_M401() {
- #if HAS_SERVO_ENDSTOPS
+ #if ENABLED(HAS_SERVO_ENDSTOPS)
raise_z_for_servo();
#endif
deploy_z_probe();
@@ -5832,13 +5846,13 @@ inline void gcode_M400() { stepper.synchronize(); }
* M402: Retract Z Servo endstop if enabled
*/
inline void gcode_M402() {
- #if HAS_SERVO_ENDSTOPS
+ #if ENABLED(HAS_SERVO_ENDSTOPS)
raise_z_for_servo();
#endif
stow_z_probe(false);
}
-#endif // AUTO_BED_LEVELING_FEATURE && (HAS_SERVO_ENDSTOPS || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
+#endif // AUTO_BED_LEVELING_FEATURE && (ENABLED(HAS_SERVO_ENDSTOPS) || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
#if ENABLED(FILAMENT_WIDTH_SENSOR)
@@ -7054,14 +7068,14 @@ void process_next_command() {
gcode_M400();
break;
- #if ENABLED(AUTO_BED_LEVELING_FEATURE) && (HAS_SERVO_ENDSTOPS || ENABLED(Z_PROBE_ALLEN_KEY)) && DISABLED(Z_PROBE_SLED)
+ #if ENABLED(AUTO_BED_LEVELING_FEATURE) && (ENABLED(HAS_SERVO_ENDSTOPS) || ENABLED(Z_PROBE_ALLEN_KEY)) && DISABLED(Z_PROBE_SLED)
case 401:
gcode_M401();
break;
case 402:
gcode_M402();
break;
- #endif // AUTO_BED_LEVELING_FEATURE && (HAS_SERVO_ENDSTOPS || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
+ #endif // AUTO_BED_LEVELING_FEATURE && (ENABLED(HAS_SERVO_ENDSTOPS) || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
#if ENABLED(FILAMENT_WIDTH_SENSOR)
case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or display nominal filament width
diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h
index 3fa6788a796ae08054efd11e3ac349a2592aa384..d2c53be1490ed61cbe9f5dcd59b9e120be14afb4 100644
--- a/Marlin/SanityCheck.h
+++ b/Marlin/SanityCheck.h
@@ -174,7 +174,7 @@
/**
* Servo deactivation depends on servo endstops
*/
-#if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) && !HAS_SERVO_ENDSTOPS
+#if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) && DISABLED(HAS_SERVO_ENDSTOPS)
#error "At least one of the ?_ENDSTOP_SERVO_NR is required for DEACTIVATE_SERVOS_AFTER_MOVE."
#endif
diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h
index 39e5ce4e36efee9fb650f65fb54fe8717a5f7d94..55b80614033ca0274f8b4f710dbab70e9fdec78b 100644
--- a/Marlin/example_configurations/Felix/Configuration.h
+++ b/Marlin/example_configurations/Felix/Configuration.h
@@ -422,6 +422,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -567,7 +573,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -592,9 +598,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h
index 107f8386c2029860a88dbf28c3ff3c8102170153..cebc6794fd07e116bd6447e075981a304b307bc7 100644
--- a/Marlin/example_configurations/Felix/DUAL/Configuration.h
+++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h
@@ -420,6 +420,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -565,7 +571,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -590,9 +596,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h
index 5b41fb397c2441bbb7af56446c5d372edc14887f..e2dd327e05ebd491d38b4ab2440b1c3f199d2322 100644
--- a/Marlin/example_configurations/Hephestos/Configuration.h
+++ b/Marlin/example_configurations/Hephestos/Configuration.h
@@ -432,6 +432,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -577,7 +583,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -602,9 +608,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#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 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 Z probe.
diff --git a/Marlin/example_configurations/Hephestos_2/Configuration.h b/Marlin/example_configurations/Hephestos_2/Configuration.h
index 3f6f4b644631b52e67e2b399d77fdd53f2689659..1ea120af9006f63be54bd0198db1a3d92e43d7f2 100644
--- a/Marlin/example_configurations/Hephestos_2/Configuration.h
+++ b/Marlin/example_configurations/Hephestos_2/Configuration.h
@@ -434,6 +434,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 5 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 5 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -579,7 +585,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X ((X_MIN_POS + X_MAX_POS) / 2)
#define ABL_PROBE_PT_3_Y Y_MAX_POS - (Y_PROBE_OFFSET_FROM_EXTRUDER)
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -604,9 +610,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min.
- #define Z_RAISE_BEFORE_PROBING 5 // How much the Z axis will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 2 // How much the Z axis will be raised when traveling from between next probing points.
- #define Z_RAISE_AFTER_PROBING 5 // 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 Z probe.
diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h
index 4b74fe505f3cfdf8c8893f7f115c5e73a51b19f2..ada26986f297ba000d82700898598d9840690fa3 100644
--- a/Marlin/example_configurations/K8200/Configuration.h
+++ b/Marlin/example_configurations/K8200/Configuration.h
@@ -457,6 +457,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -602,7 +608,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -627,9 +633,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
index d9c8b9be44a44e8e45f26f1976b582628847904a..3df2b7bd09de20b79b9a91f7284814bfaac3ea29 100644
--- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
+++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
@@ -440,6 +440,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -585,7 +591,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -610,9 +616,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h
index 967927d8648beb36dbba69702427c843c5c0997f..d153fa9dde6d34dcee092d29f39c4c7842fb9b09 100644
--- a/Marlin/example_configurations/RigidBot/Configuration.h
+++ b/Marlin/example_configurations/RigidBot/Configuration.h
@@ -434,6 +434,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -579,7 +585,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -604,9 +610,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h
index a801823ee7313800c6cd6135785e6cf288d780ed..1b28aae806a34cf025f2fcad54397923e3f8a11e 100644
--- a/Marlin/example_configurations/SCARA/Configuration.h
+++ b/Marlin/example_configurations/SCARA/Configuration.h
@@ -448,6 +448,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -593,7 +599,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -618,9 +624,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h
index b2bd2ce8a80fb16411cae00368fddfb9f314805a..a0197907bc32c8d90a91cab309f114e4b0b0aed8 100644
--- a/Marlin/example_configurations/TAZ4/Configuration.h
+++ b/Marlin/example_configurations/TAZ4/Configuration.h
@@ -461,6 +461,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -606,7 +612,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -631,9 +637,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h
index f32e071d1d46dd7e590d4f9156cc57c18e657ece..cdd075c836526fba68aa89620621f387aa2b68f1 100644
--- a/Marlin/example_configurations/WITBOX/Configuration.h
+++ b/Marlin/example_configurations/WITBOX/Configuration.h
@@ -432,6 +432,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -577,7 +583,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -602,9 +608,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#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 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 Z probe.
diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h
index 151e16bc82ae99f1d33f332f0439bb4d832f0ae6..7a5d012d60fbaeff89b077cadd0e47d850cccd79 100644
--- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h
+++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h
@@ -440,6 +440,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -585,7 +591,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -610,9 +616,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration.h b/Marlin/example_configurations/delta/biv2.5/Configuration.h
index 026a72733945df9ead80bb57ccc29b8d05f57d49..739af6ece5650179e1f58a872fea84203342659b 100644
--- a/Marlin/example_configurations/delta/biv2.5/Configuration.h
+++ b/Marlin/example_configurations/delta/biv2.5/Configuration.h
@@ -482,6 +482,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 50 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -631,7 +637,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -656,9 +662,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#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 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 Z probe.
diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h
index dea1dfe831dd910b09daddfeb6af218e53a9c432..714152c72ff8ff833eeff73986ba5da6a3d5284a 100644
--- a/Marlin/example_configurations/delta/generic/Configuration.h
+++ b/Marlin/example_configurations/delta/generic/Configuration.h
@@ -482,6 +482,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 50 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -631,7 +637,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -656,9 +662,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#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 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 Z probe.
diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h
index b262989131c2504e64df9a499cd70174c3197fcc..e9e5c428ae21c39359d55effbd0313ed340cc9c4 100644
--- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h
@@ -482,6 +482,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 50 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -631,7 +637,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -656,9 +662,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h
index d87239d1aa7ab3f2a08cac519d39a91ca48e5646..406edd16a97645eb3696e74d71bc9b5c35119354 100644
--- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h
@@ -471,6 +471,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 100 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -620,7 +626,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -647,9 +653,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h
index fa4e96d58f561783c01d8da0e5bab5240af568f9..ab5403574356b93d45e222745a26e9e51160812c 100644
--- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h
@@ -480,6 +480,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 20 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 20 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -629,7 +635,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -654,9 +660,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min.
- #define Z_RAISE_BEFORE_PROBING 20 // How much the Z axis will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 10 // How much the Z axis will be raised when traveling from between next probing points.
- #define Z_RAISE_AFTER_PROBING 20 // 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 Z probe.
diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h
index 1991ee6205a50dd0270b1eb3270c8beb16c8e490..55696956d609dfa0958858a4e24288e27aa86ea4 100644
--- a/Marlin/example_configurations/makibox/Configuration.h
+++ b/Marlin/example_configurations/makibox/Configuration.h
@@ -443,6 +443,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 0
@@ -588,7 +594,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -613,9 +619,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#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 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 Z probe.
diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h
index c380ee2a0a9659dc27219e3b1afdae2b6e052e33..fc52ac4cb2039fbc050314a9725c07f2e1bb3a2a 100644
--- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h
+++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h
@@ -430,6 +430,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP
+// Probe Raise options provide clearance for the probe to deploy and stow.
+// For G28 these apply when the probe deploys and stows.
+// For G29 these apply before and after the full procedure.
+#define Z_RAISE_BEFORE_PROBING 15 // Raise before probe deploy (e.g., the first probe).
+#define Z_RAISE_AFTER_PROBING 15 // Raise before probe stow (e.g., the last probe).
+
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
#define X_ENABLE_ON 1
@@ -575,7 +581,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
- #endif // AUTO_BED_LEVELING_GRID
+ #endif // !AUTO_BED_LEVELING_GRID
// Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// X and Y offsets must be integers.
@@ -600,9 +606,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#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 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 Z probe.