mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2025-01-31 14:12:52 +00:00
🩹 Misc. extra axis updates
This commit is contained in:
parent
88de52210f
commit
23e2cb0c53
2 changed files with 42 additions and 30 deletions
|
@ -190,22 +190,22 @@
|
|||
#define XY_CENTER { X_CENTER, Y_CENTER }
|
||||
#endif
|
||||
#if HAS_I_AXIS
|
||||
#define I_CENTER TERN(BED_CENTER_AT_0_0, 0, _I_HALF_BED)
|
||||
#define I_CENTER _I_HALF_BED
|
||||
#endif
|
||||
#if HAS_J_AXIS
|
||||
#define J_CENTER TERN(BED_CENTER_AT_0_0, 0, _J_HALF_BED)
|
||||
#define J_CENTER _J_HALF_BED
|
||||
#endif
|
||||
#if HAS_K_AXIS
|
||||
#define K_CENTER TERN(BED_CENTER_AT_0_0, 0, _K_HALF_BED)
|
||||
#define K_CENTER _K_HALF_BED
|
||||
#endif
|
||||
#if HAS_U_AXIS
|
||||
#define U_CENTER TERN(BED_CENTER_AT_0_0, 0, _U_HALF_BED)
|
||||
#define U_CENTER _U_HALF_BED
|
||||
#endif
|
||||
#if HAS_V_AXIS
|
||||
#define V_CENTER TERN(BED_CENTER_AT_0_0, 0, _V_HALF_BED)
|
||||
#define V_CENTER _V_HALF_BED
|
||||
#endif
|
||||
#if HAS_W_AXIS
|
||||
#define W_CENTER TERN(BED_CENTER_AT_0_0, 0, _W_HALF_BED)
|
||||
#define W_CENTER _W_HALF_BED
|
||||
#endif
|
||||
|
||||
// Get the linear boundaries of the bed
|
||||
|
|
|
@ -1580,18 +1580,18 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
|
|||
#endif
|
||||
|
||||
/**
|
||||
* Features that require a min/max/specific NUM_AXES
|
||||
* Features that require a min/max/specific steppers / axes to be enabled.
|
||||
*/
|
||||
#if HAS_LEVELING && !HAS_Z_AXIS
|
||||
#error "Leveling in Marlin requires three or more axes, with Z as the vertical axis."
|
||||
#elif ENABLED(CNC_WORKSPACE_PLANES) && !HAS_Z_AXIS
|
||||
#error "CNC_WORKSPACE_PLANES currently requires NUM_AXES >= 3"
|
||||
#error "CNC_WORKSPACE_PLANES currently requires a Z axis"
|
||||
#elif ENABLED(DIRECT_STEPPING) && NUM_AXES > XYZ
|
||||
#error "DIRECT_STEPPING currently requires NUM_AXES 3"
|
||||
#elif ENABLED(FOAMCUTTER_XYUV) && NUM_AXES < 5
|
||||
#error "FOAMCUTTER_XYUV requires NUM_AXES >= 5."
|
||||
#error "DIRECT_STEPPING does not currently support more than 3 axes (i.e., XYZ)."
|
||||
#elif ENABLED(FOAMCUTTER_XYUV) && !(HAS_I_AXIS && HAS_J_AXIS)
|
||||
#error "FOAMCUTTER_XYUV requires I and J steppers to be enabled."
|
||||
#elif ENABLED(LINEAR_ADVANCE) && HAS_I_AXIS
|
||||
#error "LINEAR_ADVANCE currently requires NUM_AXES <= 3."
|
||||
#error "LINEAR_ADVANCE does not currently support the inclusion of an I axis."
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -1599,11 +1599,13 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
|
|||
*/
|
||||
#if HAS_I_AXIS
|
||||
#if !defined(I_MIN_POS) || !defined(I_MAX_POS)
|
||||
#error "I_MIN_POS and I_MAX_POS are required with NUM_AXES >= 4."
|
||||
#error "I_MIN_POS and I_MAX_POS are required for the I axis."
|
||||
#elif !defined(I_HOME_DIR)
|
||||
#error "I_HOME_DIR is required with NUM_AXES >= 4."
|
||||
#error "I_HOME_DIR is required for the I axis."
|
||||
#elif HAS_I_ENABLE && !defined(I_ENABLE_ON)
|
||||
#error "I_ENABLE_ON is required for your I driver with NUM_AXES >= 4."
|
||||
#error "I_ENABLE_ON is required for the I stepper."
|
||||
#elif !defined(INVERT_I_DIR)
|
||||
#error "INVERT_I_DIR is required for the I stepper."
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_J_AXIS
|
||||
|
@ -1612,11 +1614,13 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
|
|||
#elif ENABLED(AXIS5_ROTATES) && DISABLED(AXIS4_ROTATES)
|
||||
#error "AXIS5_ROTATES requires AXIS4_ROTATES."
|
||||
#elif !defined(J_MIN_POS) || !defined(J_MAX_POS)
|
||||
#error "J_MIN_POS and J_MAX_POS are required with NUM_AXES >= 5."
|
||||
#error "J_MIN_POS and J_MAX_POS are required for the J axis."
|
||||
#elif !defined(J_HOME_DIR)
|
||||
#error "J_HOME_DIR is required with NUM_AXES >= 5."
|
||||
#error "J_HOME_DIR is required for the J axis."
|
||||
#elif HAS_J_ENABLE && !defined(J_ENABLE_ON)
|
||||
#error "J_ENABLE_ON is required for your J driver with NUM_AXES >= 5."
|
||||
#error "J_ENABLE_ON is required for the J stepper."
|
||||
#elif !defined(INVERT_J_DIR)
|
||||
#error "INVERT_J_DIR is required for the J stepper."
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_K_AXIS
|
||||
|
@ -1625,11 +1629,13 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
|
|||
#elif ENABLED(AXIS6_ROTATES) && DISABLED(AXIS5_ROTATES)
|
||||
#error "AXIS6_ROTATES requires AXIS5_ROTATES."
|
||||
#elif !defined(K_MIN_POS) || !defined(K_MAX_POS)
|
||||
#error "K_MIN_POS and K_MAX_POS are required with NUM_AXES >= 6."
|
||||
#error "K_MIN_POS and K_MAX_POS are required for the K axis."
|
||||
#elif !defined(K_HOME_DIR)
|
||||
#error "K_HOME_DIR is required with NUM_AXES >= 6."
|
||||
#error "K_HOME_DIR is required for the K axis."
|
||||
#elif HAS_K_ENABLE && !defined(K_ENABLE_ON)
|
||||
#error "K_ENABLE_ON is required for your K driver with NUM_AXES >= 6."
|
||||
#error "K_ENABLE_ON is required for the K stepper."
|
||||
#elif !defined(INVERT_K_DIR)
|
||||
#error "INVERT_K_DIR is required for the K stepper."
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_U_AXIS
|
||||
|
@ -1638,11 +1644,13 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
|
|||
#elif ENABLED(AXIS7_ROTATES) && DISABLED(AXIS6_ROTATES)
|
||||
#error "AXIS7_ROTATES requires AXIS6_ROTATES."
|
||||
#elif !defined(U_MIN_POS) || !defined(U_MAX_POS)
|
||||
#error "U_MIN_POS and U_MAX_POS are required with NUM_AXES >= 7."
|
||||
#error "U_MIN_POS and U_MAX_POS are required for the U axis."
|
||||
#elif !defined(U_HOME_DIR)
|
||||
#error "U_HOME_DIR is required with NUM_AXES >= 7."
|
||||
#error "U_HOME_DIR is required for the U axis."
|
||||
#elif HAS_U_ENABLE && !defined(U_ENABLE_ON)
|
||||
#error "U_ENABLE_ON is required for your U driver with NUM_AXES >= 7."
|
||||
#error "U_ENABLE_ON is required for the U stepper."
|
||||
#elif !defined(INVERT_U_DIR)
|
||||
#error "INVERT_U_DIR is required for the U stepper."
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_V_AXIS
|
||||
|
@ -1651,11 +1659,13 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
|
|||
#elif ENABLED(AXIS8_ROTATES) && DISABLED(AXIS7_ROTATES)
|
||||
#error "AXIS8_ROTATES requires AXIS7_ROTATES."
|
||||
#elif !defined(V_MIN_POS) || !defined(V_MAX_POS)
|
||||
#error "V_MIN_POS and V_MAX_POS are required with NUM_AXES >= 8."
|
||||
#error "V_MIN_POS and V_MAX_POS are required for the V axis."
|
||||
#elif !defined(V_HOME_DIR)
|
||||
#error "V_HOME_DIR is required with NUM_AXES >= 8."
|
||||
#error "V_HOME_DIR is required for the V axis."
|
||||
#elif HAS_V_ENABLE && !defined(V_ENABLE_ON)
|
||||
#error "V_ENABLE_ON is required for your V driver with NUM_AXES >= 8."
|
||||
#error "V_ENABLE_ON is required for the V stepper."
|
||||
#elif !defined(INVERT_V_DIR)
|
||||
#error "INVERT_V_DIR is required for the V stepper."
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_W_AXIS
|
||||
|
@ -1664,11 +1674,13 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
|
|||
#elif ENABLED(AXIS9_ROTATES) && DISABLED(AXIS8_ROTATES)
|
||||
#error "AXIS9_ROTATES requires AXIS8_ROTATES."
|
||||
#elif !defined(W_MIN_POS) || !defined(W_MAX_POS)
|
||||
#error "W_MIN_POS and W_MAX_POS are required with NUM_AXES >= 9."
|
||||
#error "W_MIN_POS and W_MAX_POS are required for the W axis."
|
||||
#elif !defined(W_HOME_DIR)
|
||||
#error "W_HOME_DIR is required with NUM_AXES >= 9."
|
||||
#error "W_HOME_DIR is required for the W axis."
|
||||
#elif HAS_W_ENABLE && !defined(W_ENABLE_ON)
|
||||
#error "W_ENABLE_ON is required for your W driver with NUM_AXES >= 9."
|
||||
#error "W_ENABLE_ON is required for the W stepper."
|
||||
#elif !defined(INVERT_W_DIR)
|
||||
#error "INVERT_W_DIR is required for the W stepper."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue