Add USE_PROBE_FOR_Z_HOMING option (#17359)
This commit is contained in:
parent
a794538c54
commit
360e07c90f
@ -824,12 +824,15 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
|
* Enable this option for a probe connected to the Z-MIN pin.
|
||||||
*
|
* The probe replaces the Z-MIN endstop and is used for Z homing.
|
||||||
* Enable this option for a probe connected to the Z Min endstop pin.
|
* (Automatically enables USE_PROBE_FOR_Z_HOMING.)
|
||||||
*/
|
*/
|
||||||
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
|
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
|
||||||
|
|
||||||
|
// Force the use of the probe for Z-axis homing
|
||||||
|
//#define USE_PROBE_FOR_Z_HOMING
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Z_MIN_PROBE_PIN
|
* Z_MIN_PROBE_PIN
|
||||||
*
|
*
|
||||||
@ -1335,7 +1338,6 @@
|
|||||||
*/
|
*/
|
||||||
//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10"
|
//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10"
|
||||||
|
|
||||||
|
|
||||||
// @section homing
|
// @section homing
|
||||||
|
|
||||||
// The center of the bed is at (X=0, Y=0)
|
// The center of the bed is at (X=0, Y=0)
|
||||||
|
@ -583,7 +583,7 @@
|
|||||||
#if DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
|
#if DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
|
||||||
#define HAS_CUSTOM_PROBE_PIN 1
|
#define HAS_CUSTOM_PROBE_PIN 1
|
||||||
#endif
|
#endif
|
||||||
#if Z_HOME_DIR < 0 && !HAS_CUSTOM_PROBE_PIN
|
#if Z_HOME_DIR < 0 && (!HAS_CUSTOM_PROBE_PIN || ENABLED(USE_PROBE_FOR_Z_HOMING))
|
||||||
#define HOMING_Z_WITH_PROBE 1
|
#define HOMING_Z_WITH_PROBE 1
|
||||||
#endif
|
#endif
|
||||||
#ifndef Z_PROBE_LOW_POINT
|
#ifndef Z_PROBE_LOW_POINT
|
||||||
|
@ -1815,8 +1815,10 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
|||||||
* Endstop Tests
|
* Endstop Tests
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _PLUG_UNUSED_TEST(AXIS,PLUG) (DISABLED(USE_##PLUG##MIN_PLUG, USE_##PLUG##MAX_PLUG) && !(ENABLED(AXIS##_DUAL_ENDSTOPS) && WITHIN(AXIS##2_USE_ENDSTOP, _##PLUG##MAX_, _##PLUG##MIN_)))
|
#define _PLUG_UNUSED_TEST(A,P) (DISABLED(USE_##P##MIN_PLUG, USE_##P##MAX_PLUG) \
|
||||||
#define _AXIS_PLUG_UNUSED_TEST(AXIS) (_PLUG_UNUSED_TEST(AXIS,X) && _PLUG_UNUSED_TEST(AXIS,Y) && _PLUG_UNUSED_TEST(AXIS,Z))
|
&& !(ENABLED(A##_DUAL_ENDSTOPS) && WITHIN(A##2_USE_ENDSTOP, _##P##MAX_, _##P##MIN_)) \
|
||||||
|
&& !(ENABLED(A##_MULTI_ENDSTOPS) && WITHIN(A##2_USE_ENDSTOP, _##P##MAX_, _##P##MIN_)) )
|
||||||
|
#define _AXIS_PLUG_UNUSED_TEST(A) (_PLUG_UNUSED_TEST(A,X) && _PLUG_UNUSED_TEST(A,Y) && _PLUG_UNUSED_TEST(A,Z))
|
||||||
|
|
||||||
// At least 3 endstop plugs must be used
|
// At least 3 endstop plugs must be used
|
||||||
#if _AXIS_PLUG_UNUSED_TEST(X)
|
#if _AXIS_PLUG_UNUSED_TEST(X)
|
||||||
@ -1841,8 +1843,12 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
|||||||
#error "Enable USE_YMAX_PLUG when homing Y to MAX."
|
#error "Enable USE_YMAX_PLUG when homing Y to MAX."
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#if Z_HOME_DIR < 0 && DISABLED(USE_ZMIN_PLUG)
|
|
||||||
|
// Z homing direction and plug usage flags
|
||||||
|
#if Z_HOME_DIR < 0 && NONE(USE_ZMIN_PLUG, HOMING_Z_WITH_PROBE)
|
||||||
#error "Enable USE_ZMIN_PLUG when homing Z to MIN."
|
#error "Enable USE_ZMIN_PLUG when homing Z to MIN."
|
||||||
|
#elif Z_HOME_DIR > 0 && ENABLED(USE_PROBE_FOR_Z_HOMING)
|
||||||
|
#error "Z_HOME_DIR must be -1 when homing Z with the probe."
|
||||||
#elif Z_HOME_DIR > 0 && DISABLED(USE_ZMAX_PLUG)
|
#elif Z_HOME_DIR > 0 && DISABLED(USE_ZMAX_PLUG)
|
||||||
#error "Enable USE_ZMAX_PLUG when homing Z to MAX."
|
#error "Enable USE_ZMAX_PLUG when homing Z to MAX."
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user