Merge pull request #3082 from thinkyhead/updated_2820

This is quite comprehensive. If probes are disabled in any case when they shouldn't be, I'm sure we will hear about it soon.
master
Scott Lahteine 9 years ago
commit 1cc316f1fd

@ -596,5 +596,10 @@
#endif #endif
#endif #endif
#if ( (HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) || HAS_Z_PROBE ) && \
( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED) )
#define HAS_Z_MIN_PROBE
#endif
#endif //CONFIGURATION_LCD #endif //CONFIGURATION_LCD
#endif //CONDITIONALS_H #endif //CONDITIONALS_H

@ -336,10 +336,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_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 //============================= Z Probe Options =============================
// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, //===========================================================================
// this has no effect.
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// This option disables the use of the Z_MIN_PROBE_PIN
// To enable the Z probe pin but disable its use, uncomment the line below. This only affects a
// Z probe switch if you have a separate Z min endstop also and have activated Z_MIN_PROBE_ENDSTOP above.
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -520,14 +562,26 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // 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. // Probes are sensors/switches that need to be activated before they can be used
//#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. // and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// An Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Enable 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, // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!! // it is highly recommended you leave Z_SAFE_HOMING enabled!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -541,37 +595,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -465,6 +465,10 @@ void serial_echopair_P(const char* s_P, unsigned long v) { serialprintPGM(s_P);
float extrude_min_temp = EXTRUDE_MINTEMP; float extrude_min_temp = EXTRUDE_MINTEMP;
#endif #endif
#if ENABLED(HAS_Z_MIN_PROBE)
extern volatile bool z_probe_is_active;
#endif
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
#include "SdFatUtil.h" #include "SdFatUtil.h"
int freeMemory() { return SdFatUtil::FreeRam(); } int freeMemory() { return SdFatUtil::FreeRam(); }
@ -619,12 +623,26 @@ void servo_init() {
servo[3].detach(); servo[3].detach();
#endif #endif
// Set position of Servo Endstops that are defined #if HAS_SERVO_ENDSTOPS
#if HAS_SERVO_ENDSTOPS
z_probe_is_active = false;
/**
* Set position of all defined Servo Endstops
*
* ** UNSAFE! - NEEDS UPDATE! **
*
* The servo might be deployed and positioned too low to stow
* when starting up the machine or rebooting the board.
* There's no way to know where the nozzle is positioned until
* homing has been done - no homing with z-probe without init!
*
*/
for (int i = 0; i < 3; i++) for (int i = 0; i < 3; i++)
if (servo_endstop_id[i] >= 0) if (servo_endstop_id[i] >= 0)
servo[servo_endstop_id[i]].move(servo_endstop_angle[i][1]); servo[servo_endstop_id[i]].move(servo_endstop_angle[i][1]);
#endif
#endif // HAS_SERVO_ENDSTOPS
} }
@ -1458,6 +1476,8 @@ static void setup_for_endstop_move() {
refresh_cmd_timeout(); refresh_cmd_timeout();
} }
#if ENABLED(HAS_Z_MIN_PROBE)
static void deploy_z_probe() { static void deploy_z_probe() {
#if ENABLED(DEBUG_LEVELING_FEATURE) #if ENABLED(DEBUG_LEVELING_FEATURE)
@ -1466,6 +1486,8 @@ static void setup_for_endstop_move() {
} }
#endif #endif
if (z_probe_is_active) return;
#if HAS_SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
// Engage Z Servo endstop if enabled // Engage Z Servo endstop if enabled
@ -1505,20 +1527,19 @@ static void setup_for_endstop_move() {
if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE) if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE)
feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE; feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE;
// Move to trigger deployment // Move to trigger deployment
if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE) if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE)
feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE; feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE;
if (Z_PROBE_ALLEN_KEY_DEPLOY_3_X != Z_PROBE_ALLEN_KEY_DEPLOY_2_X) if (Z_PROBE_ALLEN_KEY_DEPLOY_3_X != Z_PROBE_ALLEN_KEY_DEPLOY_2_X)
destination[X_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_X; destination[X_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_X;
if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Y != Z_PROBE_ALLEN_KEY_DEPLOY_2_Y) if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Y != Z_PROBE_ALLEN_KEY_DEPLOY_2_Y)
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Y; destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Y;
if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Z != Z_PROBE_ALLEN_KEY_DEPLOY_2_Z) if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Z != Z_PROBE_ALLEN_KEY_DEPLOY_2_Z)
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Z; destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Z;
prepare_move_raw(); prepare_move_raw();
#endif
#endif }
}
// Partially Home X,Y for safety // Partially Home X,Y for safety
destination[X_AXIS] = destination[X_AXIS] * 0.75; destination[X_AXIS] = destination[X_AXIS] * 0.75;
@ -1545,6 +1566,12 @@ static void setup_for_endstop_move() {
#endif // Z_PROBE_ALLEN_KEY #endif // Z_PROBE_ALLEN_KEY
#if ENABLED(FIX_MOUNTED_PROBE)
// Noting to be done. Just set z_probe_is_active
#endif
z_probe_is_active = true;
} }
static void stow_z_probe(bool doRaise = true) { static void stow_z_probe(bool doRaise = true) {
@ -1554,6 +1581,8 @@ static void setup_for_endstop_move() {
} }
#endif #endif
if (!z_probe_is_active) return;
#if HAS_SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
// Retract Z Servo endstop if enabled // Retract Z Servo endstop if enabled
@ -1638,7 +1667,14 @@ static void setup_for_endstop_move() {
Stop(); Stop();
} }
#endif // Z_PROBE_ALLEN_KEY #endif // Z_PROBE_ALLEN_KEY
#if ENABLED(FIX_MOUNTED_PROBE)
// Noting to be done. Just set z_probe_is_active
#endif
z_probe_is_active = false;
} }
#endif // HAS_Z_MIN_PROBE
enum ProbeAction { enum ProbeAction {
ProbeStay = 0, ProbeStay = 0,
@ -1830,6 +1866,9 @@ static void unknown_position_error() {
SERIAL_EOL; SERIAL_EOL;
} }
#endif #endif
if (z_probe_is_active == dock) return;
if (!axis_known_position[X_AXIS] || !axis_known_position[Y_AXIS]) { if (!axis_known_position[X_AXIS] || !axis_known_position[Y_AXIS]) {
unknown_position_error(); unknown_position_error();
return; return;
@ -1850,6 +1889,8 @@ static void unknown_position_error() {
digitalWrite(SLED_PIN, HIGH); // turn on magnet digitalWrite(SLED_PIN, HIGH); // turn on magnet
} }
do_blocking_move_to_x(oldXpos); // return to position before docking do_blocking_move_to_x(oldXpos); // return to position before docking
z_probe_is_active = dock;
} }
#endif // Z_PROBE_SLED #endif // Z_PROBE_SLED
@ -1890,9 +1931,7 @@ static void homeaxis(AxisEnum axis) {
if (axis == Z_AXIS) { if (axis == Z_AXIS) {
if (axis_home_dir < 0) dock_sled(false); if (axis_home_dir < 0) dock_sled(false);
} }
#endif #elif SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
#if SERVO_LEVELING && DISABLED(Z_PROBE_SLED)
// Deploy a Z 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 == Z_AXIS) {
@ -1903,8 +1942,10 @@ static void homeaxis(AxisEnum axis) {
#if HAS_SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
// Engage Servo endstop if enabled // Engage Servo endstop if enabled
if (axis != Z_AXIS && servo_endstop_id[axis] >= 0) if (axis != Z_AXIS && servo_endstop_id[axis] >= 0) {
servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][0]); servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][0]);
z_probe_is_active = true;
}
#endif #endif
// Set a flag for Z motor locking // Set a flag for Z motor locking
@ -2037,9 +2078,7 @@ static void homeaxis(AxisEnum axis) {
if (axis == Z_AXIS) { if (axis == Z_AXIS) {
if (axis_home_dir < 0) dock_sled(true); if (axis_home_dir < 0) dock_sled(true);
} }
#endif #elif SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
#if SERVO_LEVELING && DISABLED(Z_PROBE_SLED)
// Deploy a Z 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 == Z_AXIS) {
@ -2066,6 +2105,7 @@ static void homeaxis(AxisEnum axis) {
} }
#endif #endif
servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][1]); servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][1]);
z_probe_is_active = false;
} }
#endif #endif
} }
@ -3194,7 +3234,7 @@ inline void gcode_G28() {
#if ENABLED(Z_PROBE_ALLEN_KEY) #if ENABLED(Z_PROBE_ALLEN_KEY)
stow_z_probe(); stow_z_probe();
#elif Z_RAISE_AFTER_PROBING > 0 #elif Z_RAISE_AFTER_PROBING > 0
raise_z_after_probing(); raise_z_after_probing(); // ???
#endif #endif
#else // !DELTA #else // !DELTA
if (verbose_level > 0) if (verbose_level > 0)
@ -3278,6 +3318,9 @@ inline void gcode_G28() {
} }
#endif #endif
enqueue_and_echo_commands_P(PSTR(Z_PROBE_END_SCRIPT)); enqueue_and_echo_commands_P(PSTR(Z_PROBE_END_SCRIPT));
#if ENABLED(HAS_Z_MIN_PROBE)
z_probe_is_active = false;
#endif
st_synchronize(); st_synchronize();
#endif #endif
@ -3291,7 +3334,7 @@ inline void gcode_G28() {
} }
#if DISABLED(Z_PROBE_SLED) #if DISABLED(Z_PROBE_SLED) // could be avoided
/** /**
* G30: Do a single Z probe at the current XY * G30: Do a single Z probe at the current XY
@ -3300,11 +3343,11 @@ inline void gcode_G28() {
#if HAS_SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
raise_z_for_servo(); raise_z_for_servo();
#endif #endif
deploy_z_probe(); // Engage Z Servo endstop if available deploy_z_probe(); // Engage Z Servo endstop if available. Z_PROBE_SLED is missed her.
st_synchronize(); st_synchronize();
// TODO: clear the leveling matrix or the planner will be set incorrectly // TODO: clear the leveling matrix or the planner will be set incorrectly
setup_for_endstop_move(); setup_for_endstop_move(); // to late. Must be done before deploying.
feedrate = homing_feedrate[Z_AXIS]; feedrate = homing_feedrate[Z_AXIS];
@ -3317,12 +3360,12 @@ inline void gcode_G28() {
SERIAL_PROTOCOL(current_position[Z_AXIS] + 0.0001); SERIAL_PROTOCOL(current_position[Z_AXIS] + 0.0001);
SERIAL_EOL; SERIAL_EOL;
clean_up_after_endstop_move(); clean_up_after_endstop_move(); // to early. must be done after the stowing.
#if HAS_SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
raise_z_for_servo(); raise_z_for_servo();
#endif #endif
stow_z_probe(false); // Retract Z Servo endstop if available stow_z_probe(false); // Retract Z Servo endstop if available. Z_PROBE_SLED is missed her.
} }
#endif //!Z_PROBE_SLED #endif //!Z_PROBE_SLED

@ -127,6 +127,34 @@
#error MESH_BED_LEVELING is required for MANUAL_BED_LEVELING. #error MESH_BED_LEVELING is required for MANUAL_BED_LEVELING.
#endif #endif
/**
* Probes
*/
/**
* A probe needs a pin
*/
#if (!((HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) || HAS_Z_PROBE )) && ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
#error A probe needs a pin! [Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN || HAS_Z_PROBE]
#endif
#if ((HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) && HAS_Z_PROBE) && ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
#error A probe should not be connected to more then one pin! [Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN || HAS_Z_PROBE]
#endif
/**
* Require one kind of probe
*/
#if ENABLED(AUTO_BED_LEVELING_FEATURE) && !( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
#error For AUTO_BED_LEVELING_FEATURE define one kind of probe! {Servo | Z_PROBE_ALLEN_KEY | Z_PROBE_SLED | FIX_MOUNTED_PROBE]
#endif
#if ENABLED(Z_SAFE_HOMING)&& !( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
#error For Z_SAFE_HOMING define one kind of probe! {Servo | Z_PROBE_ALLEN_KEY | Z_PROBE_SLED | FIX_MOUNTED_PROBE]
#endif
// To do: Fail with more then one probe defined
/** /**
* Auto Bed Leveling * Auto Bed Leveling
*/ */

@ -318,10 +318,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define DISABLE_MAX_ENDSTOPS #define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -502,6 +544,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -509,7 +563,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -523,37 +578,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -315,10 +315,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define DISABLE_MAX_ENDSTOPS #define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -499,6 +541,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -506,7 +560,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -520,37 +575,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -328,10 +328,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -512,6 +554,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -519,7 +573,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -533,37 +588,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -331,10 +331,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define DISABLE_MAX_ENDSTOPS #define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -536,37 +578,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -351,10 +351,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define DISABLE_MAX_ENDSTOPS #define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -535,6 +577,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -542,7 +596,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -556,37 +611,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -336,10 +336,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -520,6 +562,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -527,7 +581,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -541,37 +596,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -330,10 +330,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -514,6 +556,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -521,7 +575,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -535,37 +590,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -344,10 +344,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -528,6 +570,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -535,7 +589,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
//#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. //#define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -549,37 +604,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -356,10 +356,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define DISABLE_MAX_ENDSTOPS #define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -540,6 +582,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -547,7 +601,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.

@ -328,10 +328,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -512,6 +554,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -519,7 +573,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -533,37 +588,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -336,10 +336,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -520,6 +562,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -527,7 +581,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -541,37 +596,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -371,10 +371,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define DISABLE_MAX_ENDSTOPS //#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.
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -559,6 +601,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -647,7 +701,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -661,37 +716,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -371,10 +371,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define DISABLE_MAX_ENDSTOPS //#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.
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -559,6 +601,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -647,7 +701,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -661,37 +716,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -371,10 +371,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define DISABLE_MAX_ENDSTOPS //#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.
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -559,6 +601,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -651,7 +705,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -665,37 +720,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -358,10 +358,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define DISABLE_MAX_ENDSTOPS //#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.
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -548,6 +590,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -636,7 +690,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -650,37 +705,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -364,10 +364,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -552,6 +594,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -559,7 +613,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -573,37 +628,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -339,10 +339,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -523,6 +565,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -530,7 +584,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -544,37 +599,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -326,10 +326,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Some other boards map differently.
// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// If you want to use a probe you do have to define one of the two defines above!
// If you want to enable the Z probe pin, but disable its use, uncomment the line below. // 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 // 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, // activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
// this has no effect. // this has no effect.
// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP //#define DISABLE_Z_MIN_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
@ -510,6 +552,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#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. //#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. // Useful to retract a deployable Z probe.
// Probes are sensors/switches that need to be activated before they can be used
// and deactivated after the use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
// A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
// when the hardware endstops are active.
//#define FIX_MOUNTED_PROBE
// A Servo Probe can be defined in the servo section below.
// A Allen Key Probe is currently predefined only in the delta example configurations.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#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 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.
@ -517,7 +571,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, //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!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // Use the z-min-probe for homing to z-min - not the z-min-endstop.
// This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will: // When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - 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. // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
@ -531,37 +586,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
#endif #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 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 // AUTO_BED_LEVELING_FEATURE #endif // AUTO_BED_LEVELING_FEATURE

@ -39,6 +39,9 @@
//=========================================================================== //===========================================================================
block_t* current_block; // A pointer to the block currently being traced block_t* current_block; // A pointer to the block currently being traced
#if ENABLED(HAS_Z_MIN_PROBE)
volatile bool z_probe_is_active = false;
#endif
//=========================================================================== //===========================================================================
//============================= private variables =========================== //============================= private variables ===========================
@ -425,17 +428,18 @@ inline void update_endstops() {
} }
#else // !Z_DUAL_ENDSTOPS #else // !Z_DUAL_ENDSTOPS
UPDATE_ENDSTOP(Z, MIN); #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) && ENABLED(HAS_Z_MIN_PROBE)
if (z_probe_is_active) UPDATE_ENDSTOP(Z, MIN);
#else
UPDATE_ENDSTOP(Z, MIN);
#endif
#endif // !Z_DUAL_ENDSTOPS #endif // !Z_DUAL_ENDSTOPS
#endif // Z_MIN_PIN #endif
#if ENABLED(Z_MIN_PROBE_ENDSTOP)
UPDATE_ENDSTOP(Z, MIN_PROBE);
if (TEST_ENDSTOP(Z_MIN_PROBE)) { #if ENABLED(Z_MIN_PROBE_ENDSTOP) && DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) && ENABLED(HAS_Z_MIN_PROBE)
endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; if (z_probe_is_active) {
SBI(endstop_hit_bits, Z_MIN_PROBE); UPDATE_ENDSTOP(Z, MIN_PROBE);
if (TEST_ENDSTOP(Z_MIN_PROBE)) endstop_hit_bits |= _BV(Z_MIN_PROBE);
} }
#endif #endif
} }
@ -649,7 +653,11 @@ ISR(TIMER1_COMPA_vect) {
if (current_block != NULL) { if (current_block != NULL) {
// Update endstops state, if enabled // Update endstops state, if enabled
if (check_endstops) update_endstops(); #if ENABLED(HAS_Z_MIN_PROBE)
if (check_endstops || z_probe_is_active) update_endstops();
#else
if (check_endstops) update_endstops();
#endif
// Take multiple steps per interrupt (For high speed moves) // Take multiple steps per interrupt (For high speed moves)
for (int8_t i = 0; i < step_loops; i++) { for (int8_t i = 0; i < step_loops; i++) {

Loading…
Cancel
Save