Quad Z stepper support (#16277)
This commit is contained in:
committed by
Scott Lahteine
parent
f36f084465
commit
0fcf2b1110
@@ -426,6 +426,28 @@
|
||||
#error "HOME_USING_SPREADCYCLE is now obsolete. Please remove it from Configuration_adv.h."
|
||||
#elif defined(DGUS_LCD)
|
||||
#error "DGUS_LCD is now DGUS_LCD_UI_(ORIGIN|FYSETC|HIPRECY). Please update your configuration."
|
||||
#elif defined(X_DUAL_ENDSTOPS_ADJUSTMENT)
|
||||
#error "X_DUAL_ENDSTOPS_ADJUSTMENT is now X2_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h."
|
||||
#elif defined(Y_DUAL_ENDSTOPS_ADJUSTMENT)
|
||||
#error "Y_DUAL_ENDSTOPS_ADJUSTMENT is now Y2_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h."
|
||||
#elif defined(Z_DUAL_ENDSTOPS_ADJUSTMENT)
|
||||
#error "Z_DUAL_ENDSTOPS_ADJUSTMENT is now Z2_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h."
|
||||
#elif defined(Z_TRIPLE_ENDSTOPS_ADJUSTMENT2) || defined(Z_TRIPLE_ENDSTOPS_ADJUSTMENT3)
|
||||
#error "Z_TRIPLE_ENDSTOPS_ADJUSTMENT[23] is now Z[23]_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h."
|
||||
#elif defined(Z_QUAD_ENDSTOPS_ADJUSTMENT2) || defined(Z_QUAD_ENDSTOPS_ADJUSTMENT3) || defined(Z_QUAD_ENDSTOPS_ADJUSTMENT4)
|
||||
#error "Z_QUAD_ENDSTOPS_ADJUSTMENT[234] is now Z[234]_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h."
|
||||
#elif defined(Z_DUAL_STEPPER_DRIVERS)
|
||||
#error "Z_DUAL_STEPPER_DRIVERS is now NUM_Z_STEPPER_DRIVERS with a value of 2. Please update Configuration_adv.h."
|
||||
#elif defined(Z_TRIPLE_STEPPER_DRIVERS)
|
||||
#error "Z_TRIPLE_STEPPER_DRIVERS is now NUM_Z_STEPPER_DRIVERS with a value of 3. Please update Configuration_adv.h."
|
||||
#elif defined(Z_QUAD_STEPPER_DRIVERS)
|
||||
#error "Z_QUAD_STEPPER_DRIVERS is now NUM_Z_STEPPER_DRIVERS with a value of 4. Please update Configuration_adv.h."
|
||||
#elif defined(Z_DUAL_ENDSTOPS)
|
||||
#error "Z_DUAL_ENDSTOPS is now Z_MULTI_ENDSTOPS. Please update Configuration_adv.h."
|
||||
#elif defined(Z_TRIPLE_ENDSTOPS)
|
||||
#error "Z_TRIPLE_ENDSTOPS is now Z_MULTI_ENDSTOPS. Please update Configuration_adv.h."
|
||||
#elif defined(Z_QUAD_ENDSTOPS)
|
||||
#error "Z_QUAD_ENDSTOPS is now Z_MULTI_ENDSTOPS. Please update Configuration_adv.h."
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -473,22 +495,27 @@
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Dual / Triple Stepper Drivers
|
||||
* Multiple Stepper Drivers Per Axis
|
||||
*/
|
||||
#if BOTH(X_DUAL_STEPPER_DRIVERS, DUAL_X_CARRIAGE)
|
||||
#error "DUAL_X_CARRIAGE is not compatible with X_DUAL_STEPPER_DRIVERS."
|
||||
#elif ENABLED(X_DUAL_STEPPER_DRIVERS) && !(HAS_X2_ENABLE && HAS_X2_STEP && HAS_X2_DIR)
|
||||
#error "X_DUAL_STEPPER_DRIVERS requires X2 pins (and an extra E plug)."
|
||||
#elif ENABLED(Y_DUAL_STEPPER_DRIVERS) && !(HAS_Y2_ENABLE && HAS_Y2_STEP && HAS_Y2_DIR)
|
||||
#error "Y_DUAL_STEPPER_DRIVERS requires Y2 pins (and an extra E plug)."
|
||||
#elif ENABLED(Z_DUAL_STEPPER_DRIVERS)
|
||||
#if ENABLED(Z_TRIPLE_STEPPER_DRIVERS)
|
||||
#error "Please select either Z_TRIPLE_STEPPER_DRIVERS or Z_DUAL_STEPPER_DRIVERS, not both."
|
||||
#elif !(HAS_Z2_ENABLE && HAS_Z2_STEP && HAS_Z2_DIR)
|
||||
#error "Z_DUAL_STEPPER_DRIVERS requires Z2 pins (and an extra E plug)."
|
||||
#define GOOD_AXIS_PINS(A) (HAS_##A##_ENABLE && HAS_##A##_STEP && HAS_##A##_DIR)
|
||||
#if ENABLED(X_DUAL_STEPPER_DRIVERS)
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
#error "DUAL_X_CARRIAGE is not compatible with X_DUAL_STEPPER_DRIVERS."
|
||||
#elif !GOOD_AXIS_PINS(X)
|
||||
#error "X_DUAL_STEPPER_DRIVERS requires X2 pins to be defined."
|
||||
#endif
|
||||
#elif ENABLED(Z_TRIPLE_STEPPER_DRIVERS) && !(HAS_Z2_ENABLE && HAS_Z2_STEP && HAS_Z2_DIR && HAS_Z3_ENABLE && HAS_Z3_STEP && HAS_Z3_DIR)
|
||||
#error "Z_TRIPLE_STEPPER_DRIVERS requires Z3 pins (and two extra E plugs)."
|
||||
#endif
|
||||
|
||||
#if ENABLED(Y_DUAL_STEPPER_DRIVERS) && !GOOD_AXIS_PINS(Y)
|
||||
#error "Y_DUAL_STEPPER_DRIVERS requires Y2 pins to be defined."
|
||||
#elif !WITHIN(NUM_Z_STEPPER_DRIVERS, 1, 4)
|
||||
#error "NUM_Z_STEPPER_DRIVERS must be an integer from 1 to 4."
|
||||
#elif NUM_Z_STEPPER_DRIVERS == 2 && !GOOD_AXIS_PINS(Z2)
|
||||
#error "If NUM_Z_STEPPER_DRIVERS is 2, you must define stepper pins for Z2."
|
||||
#elif NUM_Z_STEPPER_DRIVERS == 3 && !(GOOD_AXIS_PINS(Z2) && GOOD_AXIS_PINS(Z3))
|
||||
#error "If NUM_Z_STEPPER_DRIVERS is 3, you must define stepper pins for Z2 and Z3."
|
||||
#elif NUM_Z_STEPPER_DRIVERS == 4 && !(GOOD_AXIS_PINS(Z2) && GOOD_AXIS_PINS(Z3) && GOOD_AXIS_PINS(Z4))
|
||||
#error "If NUM_Z_STEPPER_DRIVERS is 4, you must define stepper pins for Z2, Z3, and Z4."
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -1393,7 +1420,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#error "DUAL_X_CARRIAGE requires 2 (or more) extruders."
|
||||
#elif CORE_IS_XY || CORE_IS_XZ
|
||||
#error "DUAL_X_CARRIAGE cannot be used with COREXY, COREYX, COREXZ, or COREZX."
|
||||
#elif !(HAS_X2_ENABLE && HAS_X2_STEP && HAS_X2_DIR)
|
||||
#elif !GOOD_AXIS_PINS(X2)
|
||||
#error "DUAL_X_CARRIAGE requires X2 stepper pins to be defined."
|
||||
#elif !HAS_X_MAX
|
||||
#error "DUAL_X_CARRIAGE requires USE_XMAX_PLUG and an X Max Endstop."
|
||||
@@ -1404,6 +1431,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef GOOD_AXIS_PINS
|
||||
|
||||
/**
|
||||
* Make sure auto fan pins don't conflict with the fan pin
|
||||
*/
|
||||
@@ -1695,7 +1724,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#error "Enable USE_ZMAX_PLUG when homing Z to MAX."
|
||||
#endif
|
||||
|
||||
// Dual endstops requirements
|
||||
// Dual/multiple endstops requirements
|
||||
#if ENABLED(X_DUAL_ENDSTOPS)
|
||||
#if !X2_USE_ENDSTOP
|
||||
#error "You must set X2_USE_ENDSTOP with X_DUAL_ENDSTOPS."
|
||||
@@ -1738,9 +1767,10 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#error "Y_DUAL_ENDSTOPS is not compatible with DELTA."
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(Z_DUAL_ENDSTOPS)
|
||||
|
||||
#if ENABLED(Z_MULTI_ENDSTOPS)
|
||||
#if !Z2_USE_ENDSTOP
|
||||
#error "You must set Z2_USE_ENDSTOP with Z_DUAL_ENDSTOPS."
|
||||
#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)
|
||||
@@ -1756,47 +1786,45 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#elif !HAS_Z2_MIN && !HAS_Z2_MAX
|
||||
#error "Z2_USE_ENDSTOP has been assigned to a nonexistent endstop!"
|
||||
#elif ENABLED(DELTA)
|
||||
#error "Z_DUAL_ENDSTOPS is not compatible with DELTA."
|
||||
#error "Z_MULTI_ENDSTOPS is not compatible with DELTA."
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(Z_TRIPLE_ENDSTOPS)
|
||||
#if !Z2_USE_ENDSTOP
|
||||
#error "You must set Z2_USE_ENDSTOP with Z_TRIPLE_ENDSTOPS."
|
||||
#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_TRIPLE_ENDSTOPS is not compatible with DELTA."
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 3
|
||||
#if !Z3_USE_ENDSTOP
|
||||
#error "You must set Z3_USE_ENDSTOP with Z_MULTI_ENDSTOPS when NUM_Z_STEPPER_DRIVERS >= 3."
|
||||
#elif Z3_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG)
|
||||
#error "USE_XMIN_PLUG is required when Z3_USE_ENDSTOP is _XMIN_."
|
||||
#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 !Z3_USE_ENDSTOP
|
||||
#error "You must set Z3_USE_ENDSTOP with Z_TRIPLE_ENDSTOPS."
|
||||
#elif Z3_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG)
|
||||
#error "USE_XMIN_PLUG is required when Z3_USE_ENDSTOP is _XMIN_."
|
||||
#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!"
|
||||
#elif ENABLED(DELTA)
|
||||
#error "Z_TRIPLE_ENDSTOPS is not compatible with DELTA."
|
||||
#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
|
||||
|
||||
@@ -2321,12 +2349,12 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
|
||||
#endif
|
||||
|
||||
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||
#if !Z_MULTI_STEPPER_DRIVERS
|
||||
#error "Z_STEPPER_AUTO_ALIGN requires Z_DUAL_STEPPER_DRIVERS or Z_TRIPLE_STEPPER_DRIVERS."
|
||||
#if NUM_Z_STEPPER_DRIVERS <= 1
|
||||
#error "Z_STEPPER_AUTO_ALIGN requires NUM_Z_STEPPER_DRIVERS greater than 1."
|
||||
#elif !HAS_BED_PROBE
|
||||
#error "Z_STEPPER_AUTO_ALIGN requires a Z-bed probe."
|
||||
#elif ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) && DISABLED(Z_TRIPLE_STEPPER_DRIVERS)
|
||||
#error "Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS requires Z_TRIPLE_STEPPER_DRIVERS."
|
||||
#elif ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) && NUM_Z_STEPPER_DRIVERS != 3
|
||||
#error "Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS requires NUM_Z_STEPPER_DRIVERS to be 3."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user