🚸 Support CoreXY without Z (#25630)
This commit is contained in:
@@ -1972,7 +1972,7 @@ bool Planner::_populate_block(
|
|||||||
#if ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
|
#if ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
|
||||||
if (da < 0) SBI(dm, X_HEAD); // Save the toolhead's true direction in X
|
if (da < 0) SBI(dm, X_HEAD); // Save the toolhead's true direction in X
|
||||||
if (db < 0) SBI(dm, Y_HEAD); // ...and Y
|
if (db < 0) SBI(dm, Y_HEAD); // ...and Y
|
||||||
if (dc < 0) SBI(dm, Z_AXIS);
|
TERN_(HAS_Z_AXIS, if (dc < 0) SBI(dm, Z_AXIS));
|
||||||
#endif
|
#endif
|
||||||
#if IS_CORE
|
#if IS_CORE
|
||||||
#if CORE_IS_XY
|
#if CORE_IS_XY
|
||||||
@@ -2096,7 +2096,7 @@ bool Planner::_populate_block(
|
|||||||
#if ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
|
#if ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
|
||||||
steps_dist_mm.head.x = da * mm_per_step[A_AXIS];
|
steps_dist_mm.head.x = da * mm_per_step[A_AXIS];
|
||||||
steps_dist_mm.head.y = db * mm_per_step[B_AXIS];
|
steps_dist_mm.head.y = db * mm_per_step[B_AXIS];
|
||||||
steps_dist_mm.z = dc * mm_per_step[Z_AXIS];
|
TERN_(HAS_Z_AXIS, steps_dist_mm.z = dc * mm_per_step[Z_AXIS]);
|
||||||
#endif
|
#endif
|
||||||
#if IS_CORE
|
#if IS_CORE
|
||||||
#if CORE_IS_XY
|
#if CORE_IS_XY
|
||||||
@@ -2244,7 +2244,7 @@ bool Planner::_populate_block(
|
|||||||
stepper.enable_axis(X_AXIS);
|
stepper.enable_axis(X_AXIS);
|
||||||
stepper.enable_axis(Y_AXIS);
|
stepper.enable_axis(Y_AXIS);
|
||||||
}
|
}
|
||||||
#if DISABLED(Z_LATE_ENABLE)
|
#if HAS_Z_AXIS && DISABLED(Z_LATE_ENABLE)
|
||||||
if (block->steps.z) stepper.enable_axis(Z_AXIS);
|
if (block->steps.z) stepper.enable_axis(Z_AXIS);
|
||||||
#endif
|
#endif
|
||||||
#elif CORE_IS_XZ
|
#elif CORE_IS_XZ
|
||||||
|
@@ -3276,7 +3276,7 @@ void Stepper::_set_position(const abce_long_t &spos) {
|
|||||||
#if CORE_IS_XY
|
#if CORE_IS_XY
|
||||||
// corexy positioning
|
// corexy positioning
|
||||||
// these equations follow the form of the dA and dB equations on https://www.corexy.com/theory.html
|
// these equations follow the form of the dA and dB equations on https://www.corexy.com/theory.html
|
||||||
count_position.set(spos.a + spos.b, CORESIGN(spos.a - spos.b), spos.c);
|
count_position.set(spos.a + spos.b, CORESIGN(spos.a - spos.b) OPTARG(HAS_Z_AXIS, spos.c));
|
||||||
#elif CORE_IS_XZ
|
#elif CORE_IS_XZ
|
||||||
// corexz planning
|
// corexz planning
|
||||||
count_position.set(spos.a + spos.c, spos.b, CORESIGN(spos.a - spos.c));
|
count_position.set(spos.a + spos.c, spos.b, CORESIGN(spos.a - spos.c));
|
||||||
|
Reference in New Issue
Block a user