diff --git a/Marlin/Conditionals.h b/Marlin/Conditionals.h index 4583a0a5f..4541c857c 100644 --- a/Marlin/Conditionals.h +++ b/Marlin/Conditionals.h @@ -315,11 +315,17 @@ * CoreXY and CoreXZ */ #if ENABLED(COREXY) + #define CORE_AXIS_1 A_AXIS // XY from A + B #define CORE_AXIS_2 B_AXIS - #define CORE_AXIS_3 Z_AXIS + #define CORE_AXIS_3 Z_AXIS // normal axis #elif ENABLED(COREXZ) + #define CORE_AXIS_1 A_AXIS // XZ from A + C #define CORE_AXIS_2 C_AXIS - #define CORE_AXIS_3 Y_AXIS + #define CORE_AXIS_3 Y_AXIS // normal axis + #elif ENABLED(COREYZ) + #define CORE_AXIS_1 B_AXIS // YZ from B + C + #define CORE_AXIS_2 C_AXIS + #define CORE_AXIS_3 X_AXIS // normal axis #endif /** diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index c499c2c96..718022ff7 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -387,6 +387,16 @@ #endif +/** + * Don't set more than one kinematic type + */ +#if (ENABLED(DELTA) && (ENABLED(SCARA) || ENABLED(COREXY) || ENABLED(COREXZ) || ENABLED(COREYZ))) \ + || (ENABLED(SCARA) && (ENABLED(COREXY) || ENABLED(COREXZ) || ENABLED(COREYZ))) \ + || (ENABLED(COREXY) && (ENABLED(COREXZ) || ENABLED(COREYZ))) \ + || (ENABLED(COREXZ) && ENABLED(COREYZ)) + #error "Please enable only one of DELTA, SCARA, COREXY, COREXZ, or COREYZ." +#endif + /** * Allen Key Z probe requires Auto Bed Leveling grid and Delta */