|
@ -2101,105 +2101,28 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal |
|
|
|
|
|
|
|
|
// Dual/multiple endstops requirements
|
|
|
// Dual/multiple endstops requirements
|
|
|
#if ENABLED(X_DUAL_ENDSTOPS) |
|
|
#if ENABLED(X_DUAL_ENDSTOPS) |
|
|
#if !X2_USE_ENDSTOP |
|
|
#if ENABLED(DELTA) |
|
|
#error "You must set X2_USE_ENDSTOP with X_DUAL_ENDSTOPS." |
|
|
|
|
|
#elif X2_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG) |
|
|
|
|
|
#error "USE_XMIN_PLUG is required when X2_USE_ENDSTOP is _XMIN_." |
|
|
|
|
|
#elif X2_USE_ENDSTOP == _XMAX_ && DISABLED(USE_XMAX_PLUG) |
|
|
|
|
|
#error "USE_XMAX_PLUG is required when X2_USE_ENDSTOP is _XMAX_." |
|
|
|
|
|
#elif X2_USE_ENDSTOP == _YMIN_ && DISABLED(USE_YMIN_PLUG) |
|
|
|
|
|
#error "USE_YMIN_PLUG is required when X2_USE_ENDSTOP is _YMIN_." |
|
|
|
|
|
#elif X2_USE_ENDSTOP == _YMAX_ && DISABLED(USE_YMAX_PLUG) |
|
|
|
|
|
#error "USE_YMAX_PLUG is required when X2_USE_ENDSTOP is _YMAX_." |
|
|
|
|
|
#elif X2_USE_ENDSTOP == _ZMIN_ && DISABLED(USE_ZMIN_PLUG) |
|
|
|
|
|
#error "USE_ZMIN_PLUG is required when X2_USE_ENDSTOP is _ZMIN_." |
|
|
|
|
|
#elif X2_USE_ENDSTOP == _ZMAX_ && DISABLED(USE_ZMAX_PLUG) |
|
|
|
|
|
#error "USE_ZMAX_PLUG is required when X2_USE_ENDSTOP is _ZMAX_." |
|
|
|
|
|
#elif !HAS_X2_MIN && !HAS_X2_MAX |
|
|
|
|
|
#error "X2_USE_ENDSTOP has been assigned to a nonexistent endstop!" |
|
|
|
|
|
#elif ENABLED(DELTA) |
|
|
|
|
|
#error "X_DUAL_ENDSTOPS is not compatible with DELTA." |
|
|
#error "X_DUAL_ENDSTOPS is not compatible with DELTA." |
|
|
|
|
|
#elif !X2_USE_ENDSTOP |
|
|
|
|
|
#error "X2_USE_ENDSTOP must be set with X_DUAL_ENDSTOPS." |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#if ENABLED(Y_DUAL_ENDSTOPS) |
|
|
#if ENABLED(Y_DUAL_ENDSTOPS) |
|
|
#if !Y2_USE_ENDSTOP |
|
|
#if ENABLED(DELTA) |
|
|
#error "You must set Y2_USE_ENDSTOP with Y_DUAL_ENDSTOPS." |
|
|
|
|
|
#elif Y2_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG) |
|
|
|
|
|
#error "USE_XMIN_PLUG is required when Y2_USE_ENDSTOP is _XMIN_." |
|
|
|
|
|
#elif Y2_USE_ENDSTOP == _XMAX_ && DISABLED(USE_XMAX_PLUG) |
|
|
|
|
|
#error "USE_XMAX_PLUG is required when Y2_USE_ENDSTOP is _XMAX_." |
|
|
|
|
|
#elif Y2_USE_ENDSTOP == _YMIN_ && DISABLED(USE_YMIN_PLUG) |
|
|
|
|
|
#error "USE_YMIN_PLUG is required when Y2_USE_ENDSTOP is _YMIN_." |
|
|
|
|
|
#elif Y2_USE_ENDSTOP == _YMAX_ && DISABLED(USE_YMAX_PLUG) |
|
|
|
|
|
#error "USE_YMAX_PLUG is required when Y2_USE_ENDSTOP is _YMAX_." |
|
|
|
|
|
#elif Y2_USE_ENDSTOP == _ZMIN_ && DISABLED(USE_ZMIN_PLUG) |
|
|
|
|
|
#error "USE_ZMIN_PLUG is required when Y2_USE_ENDSTOP is _ZMIN_." |
|
|
|
|
|
#elif Y2_USE_ENDSTOP == _ZMAX_ && DISABLED(USE_ZMAX_PLUG) |
|
|
|
|
|
#error "USE_ZMAX_PLUG is required when Y2_USE_ENDSTOP is _ZMAX_." |
|
|
|
|
|
#elif !HAS_Y2_MIN && !HAS_Y2_MAX |
|
|
|
|
|
#error "Y2_USE_ENDSTOP has been assigned to a nonexistent endstop!" |
|
|
|
|
|
#elif ENABLED(DELTA) |
|
|
|
|
|
#error "Y_DUAL_ENDSTOPS is not compatible with DELTA." |
|
|
#error "Y_DUAL_ENDSTOPS is not compatible with DELTA." |
|
|
|
|
|
#elif !Y2_USE_ENDSTOP |
|
|
|
|
|
#error "Y2_USE_ENDSTOP must be set with Y_DUAL_ENDSTOPS." |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if ENABLED(Z_MULTI_ENDSTOPS) |
|
|
#if ENABLED(Z_MULTI_ENDSTOPS) |
|
|
#if !Z2_USE_ENDSTOP |
|
|
#if ENABLED(DELTA) |
|
|
#error "You must set Z2_USE_ENDSTOP with Z_MULTI_ENDSTOPS when NUM_Z_STEPPER_DRIVERS >= 2." |
|
|
|
|
|
#elif Z2_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG) |
|
|
|
|
|
#error "USE_XMIN_PLUG is required when Z2_USE_ENDSTOP is _XMIN_." |
|
|
|
|
|
#elif Z2_USE_ENDSTOP == _XMAX_ && DISABLED(USE_XMAX_PLUG) |
|
|
|
|
|
#error "USE_XMAX_PLUG is required when Z2_USE_ENDSTOP is _XMAX_." |
|
|
|
|
|
#elif Z2_USE_ENDSTOP == _YMIN_ && DISABLED(USE_YMIN_PLUG) |
|
|
|
|
|
#error "USE_YMIN_PLUG is required when Z2_USE_ENDSTOP is _YMIN_." |
|
|
|
|
|
#elif Z2_USE_ENDSTOP == _YMAX_ && DISABLED(USE_YMAX_PLUG) |
|
|
|
|
|
#error "USE_YMAX_PLUG is required when Z2_USE_ENDSTOP is _YMAX_." |
|
|
|
|
|
#elif Z2_USE_ENDSTOP == _ZMIN_ && DISABLED(USE_ZMIN_PLUG) |
|
|
|
|
|
#error "USE_ZMIN_PLUG is required when Z2_USE_ENDSTOP is _ZMIN_." |
|
|
|
|
|
#elif Z2_USE_ENDSTOP == _ZMAX_ && DISABLED(USE_ZMAX_PLUG) |
|
|
|
|
|
#error "USE_ZMAX_PLUG is required when Z2_USE_ENDSTOP is _ZMAX_." |
|
|
|
|
|
#elif !HAS_Z2_MIN && !HAS_Z2_MAX |
|
|
|
|
|
#error "Z2_USE_ENDSTOP has been assigned to a nonexistent endstop!" |
|
|
|
|
|
#elif ENABLED(DELTA) |
|
|
|
|
|
#error "Z_MULTI_ENDSTOPS is not compatible with DELTA." |
|
|
#error "Z_MULTI_ENDSTOPS is not compatible with DELTA." |
|
|
#endif |
|
|
#elif !Z2_USE_ENDSTOP |
|
|
#if NUM_Z_STEPPER_DRIVERS >= 3 |
|
|
#error "Z2_USE_ENDSTOP must be set with Z_MULTI_ENDSTOPS." |
|
|
#if !Z3_USE_ENDSTOP |
|
|
#elif !Z3_USE_ENDSTOP && NUM_Z_STEPPER_DRIVERS >= 3 |
|
|
#error "You must set Z3_USE_ENDSTOP with Z_MULTI_ENDSTOPS when NUM_Z_STEPPER_DRIVERS >= 3." |
|
|
#error "Z3_USE_ENDSTOP must be set with Z_MULTI_ENDSTOPS and NUM_Z_STEPPER_DRIVERS >= 3." |
|
|
#elif Z3_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG) |
|
|
#elif !Z4_USE_ENDSTOP && NUM_Z_STEPPER_DRIVERS >= 4 |
|
|
#error "USE_XMIN_PLUG is required when Z3_USE_ENDSTOP is _XMIN_." |
|
|
#error "Z4_USE_ENDSTOP must be set with Z_MULTI_ENDSTOPS and NUM_Z_STEPPER_DRIVERS >= 4." |
|
|
#elif Z3_USE_ENDSTOP == _XMAX_ && DISABLED(USE_XMAX_PLUG) |
|
|
|
|
|
#error "USE_XMAX_PLUG is required when Z3_USE_ENDSTOP is _XMAX_." |
|
|
|
|
|
#elif Z3_USE_ENDSTOP == _YMIN_ && DISABLED(USE_YMIN_PLUG) |
|
|
|
|
|
#error "USE_YMIN_PLUG is required when Z3_USE_ENDSTOP is _YMIN_." |
|
|
|
|
|
#elif Z3_USE_ENDSTOP == _YMAX_ && DISABLED(USE_YMAX_PLUG) |
|
|
|
|
|
#error "USE_YMAX_PLUG is required when Z3_USE_ENDSTOP is _YMAX_." |
|
|
|
|
|
#elif Z3_USE_ENDSTOP == _ZMIN_ && DISABLED(USE_ZMIN_PLUG) |
|
|
|
|
|
#error "USE_ZMIN_PLUG is required when Z3_USE_ENDSTOP is _ZMIN_." |
|
|
|
|
|
#elif Z3_USE_ENDSTOP == _ZMAX_ && DISABLED(USE_ZMAX_PLUG) |
|
|
|
|
|
#error "USE_ZMAX_PLUG is required when Z3_USE_ENDSTOP is _ZMAX_." |
|
|
|
|
|
#elif !HAS_Z3_MIN && !HAS_Z3_MAX |
|
|
|
|
|
#error "Z3_USE_ENDSTOP has been assigned to a nonexistent endstop!" |
|
|
|
|
|
#endif |
|
|
|
|
|
#endif |
|
|
|
|
|
#if NUM_Z_STEPPER_DRIVERS >= 4 |
|
|
|
|
|
#if !Z4_USE_ENDSTOP |
|
|
|
|
|
#error "You must set Z4_USE_ENDSTOP with Z_MULTI_ENDSTOPS when NUM_Z_STEPPER_DRIVERS >= 4." |
|
|
|
|
|
#elif Z4_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG) |
|
|
|
|
|
#error "USE_XMIN_PLUG is required when Z4_USE_ENDSTOP is _XMIN_." |
|
|
|
|
|
#elif Z4_USE_ENDSTOP == _XMAX_ && DISABLED(USE_XMAX_PLUG) |
|
|
|
|
|
#error "USE_XMAX_PLUG is required when Z4_USE_ENDSTOP is _XMAX_." |
|
|
|
|
|
#elif Z4_USE_ENDSTOP == _YMIN_ && DISABLED(USE_YMIN_PLUG) |
|
|
|
|
|
#error "USE_YMIN_PLUG is required when Z4_USE_ENDSTOP is _YMIN_." |
|
|
|
|
|
#elif Z4_USE_ENDSTOP == _YMAX_ && DISABLED(USE_YMAX_PLUG) |
|
|
|
|
|
#error "USE_YMAX_PLUG is required when Z4_USE_ENDSTOP is _YMAX_." |
|
|
|
|
|
#elif Z4_USE_ENDSTOP == _ZMIN_ && DISABLED(USE_ZMIN_PLUG) |
|
|
|
|
|
#error "USE_ZMIN_PLUG is required when Z4_USE_ENDSTOP is _ZMIN_." |
|
|
|
|
|
#elif Z4_USE_ENDSTOP == _ZMAX_ && DISABLED(USE_ZMAX_PLUG) |
|
|
|
|
|
#error "USE_ZMAX_PLUG is required when Z4_USE_ENDSTOP is _ZMAX_." |
|
|
|
|
|
#elif !HAS_Z4_MIN && !HAS_Z4_MAX |
|
|
|
|
|
#error "Z4_USE_ENDSTOP has been assigned to a nonexistent endstop!" |
|
|
|
|
|
#endif |
|
|
|
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|