✨ MarkForged YX kinematics (#23163)
This commit is contained in:
committed by
Scott Lahteine
parent
018c7b1cf4
commit
0e60c8b7e0
@ -1079,7 +1079,7 @@
|
||||
#define CORE_AXIS_2 C_AXIS
|
||||
#endif
|
||||
#define CORESIGN(n) (ANY(COREYX, COREZX, COREZY) ? (-(n)) : (n))
|
||||
#elif ENABLED(MARKFORGED_XY)
|
||||
#elif EITHER(MARKFORGED_XY, MARKFORGED_YX)
|
||||
// Markforged kinematics
|
||||
#define CORE_AXIS_1 A_AXIS
|
||||
#define CORE_AXIS_2 B_AXIS
|
||||
|
@ -193,7 +193,7 @@
|
||||
|
||||
// Calibration codes only for non-core axes
|
||||
#if EITHER(BACKLASH_GCODE, CALIBRATION_GCODE)
|
||||
#if EITHER(IS_CORE, MARKFORGED_XY)
|
||||
#if ANY(IS_CORE, MARKFORGED_XY, MARKFORGED_YX)
|
||||
#define CAN_CALIBRATE(A,B) (_AXIS(A) == B)
|
||||
#else
|
||||
#define CAN_CALIBRATE(A,B) true
|
||||
|
@ -914,7 +914,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#if ENABLED(BABYSTEPPING)
|
||||
#if ENABLED(SCARA)
|
||||
#error "BABYSTEPPING is not implemented for SCARA yet."
|
||||
#elif BOTH(MARKFORGED_XY, BABYSTEP_XY)
|
||||
#elif ENABLED(BABYSTEP_XY) && EITHER(MARKFORGED_XY, MARKFORGED_YX)
|
||||
#error "BABYSTEPPING only implemented for Z axis on MarkForged."
|
||||
#elif BOTH(DELTA, BABYSTEP_XY)
|
||||
#error "BABYSTEPPING only implemented for Z axis on deltabots."
|
||||
@ -1461,8 +1461,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
/**
|
||||
* Allow only one kinematic type to be defined
|
||||
*/
|
||||
#if MANY(DELTA, MORGAN_SCARA, MP_SCARA, AXEL_TPARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY, FOAMCUTTER_XYUV)
|
||||
#error "Please enable only one of DELTA, MORGAN_SCARA, MP_SCARA, AXEL_TPARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY, or FOAMCUTTER_XYUV."
|
||||
#if MANY(DELTA, MORGAN_SCARA, MP_SCARA, AXEL_TPARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY, MARKFORGED_YX, FOAMCUTTER_XYUV)
|
||||
#error "Please enable only one of DELTA, MORGAN_SCARA, MP_SCARA, AXEL_TPARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY, MARKFORGED_YX, or FOAMCUTTER_XYUV."
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -1960,8 +1960,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
#if EXTRUDERS < 2
|
||||
#error "DUAL_X_CARRIAGE requires 2 (or more) extruders."
|
||||
#elif ANY(CORE_IS_XY, CORE_IS_XZ, MARKFORGED_XY)
|
||||
#error "DUAL_X_CARRIAGE cannot be used with COREXY, COREYX, COREXZ, COREZX, or MARKFORGED_XY."
|
||||
#elif ANY(CORE_IS_XY, CORE_IS_XZ, MARKFORGED_XY, MARKFORGED_YX)
|
||||
#error "DUAL_X_CARRIAGE cannot be used with COREXY, COREYX, COREXZ, COREZX, MARKFORGED_YX, or MARKFORGED_XY."
|
||||
#elif !GOOD_AXIS_PINS(X2)
|
||||
#error "DUAL_X_CARRIAGE requires X2 stepper pins to be defined."
|
||||
#elif !HAS_X_MAX
|
||||
@ -3203,8 +3203,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#error "CoreXZ requires both X and Z to use sensorless homing if either one does."
|
||||
#elif CORE_IS_YZ && Y_SENSORLESS != Z_SENSORLESS && !HOMING_Z_WITH_PROBE
|
||||
#error "CoreYZ requires both Y and Z to use sensorless homing if either one does."
|
||||
#elif ENABLED(MARKFORGED_XY) && X_SENSORLESS != Y_SENSORLESS
|
||||
#error "MARKFORGED_XY requires both X and Y to use sensorless homing if either one does."
|
||||
#elif EITHER(MARKFORGED_XY, MARKFORGED_YX) && X_SENSORLESS != Y_SENSORLESS
|
||||
#error "MARKFORGED requires both X and Y to use sensorless homing if either one does."
|
||||
#endif
|
||||
|
||||
// Other TMC feature requirements
|
||||
@ -3464,7 +3464,7 @@ static_assert(_PLUS_TEST(4), "HOMING_FEEDRATE_MM_M values must be positive.");
|
||||
#error "BACKLASH_COMPENSATION requires BACKLASH_DISTANCE_MM."
|
||||
#elif !defined(BACKLASH_CORRECTION)
|
||||
#error "BACKLASH_COMPENSATION requires BACKLASH_CORRECTION."
|
||||
#elif ENABLED(MARKFORGED_XY)
|
||||
#elif EITHER(MARKFORGED_XY, MARKFORGED_YX)
|
||||
constexpr float backlash_arr[] = BACKLASH_DISTANCE_MM;
|
||||
static_assert(!backlash_arr[CORE_AXIS_1] && !backlash_arr[CORE_AXIS_2],
|
||||
"BACKLASH_COMPENSATION can only apply to " STRINGIFY(NORMAL_AXIS) " on a MarkForged system.");
|
||||
|
Reference in New Issue
Block a user