|
|
@ -1877,6 +1877,15 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
|
|
|
" A:", target.a, " (", da, " steps)"
|
|
|
|
" A:", target.a, " (", da, " steps)"
|
|
|
|
" B:", target.b, " (", db, " steps)"
|
|
|
|
" B:", target.b, " (", db, " steps)"
|
|
|
|
" C:", target.c, " (", dc, " steps)"
|
|
|
|
" C:", target.c, " (", dc, " steps)"
|
|
|
|
|
|
|
|
#if LINEAR_AXES >= 4
|
|
|
|
|
|
|
|
" " AXIS4_STR ":", target.i, " (", di, " steps)"
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if LINEAR_AXES >= 5
|
|
|
|
|
|
|
|
" " AXIS5_STR ":", target.j, " (", dj, " steps)"
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if LINEAR_AXES >= 6
|
|
|
|
|
|
|
|
" " AXIS6_STR ":", target.k, " (", dk, " steps)"
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#if HAS_EXTRUDERS
|
|
|
|
#if HAS_EXTRUDERS
|
|
|
|
" E:", target.e, " (", de, " steps)"
|
|
|
|
" E:", target.e, " (", de, " steps)"
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
@ -1953,6 +1962,19 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
|
|
|
if (dk < 0) SBI(dm, K_AXIS)
|
|
|
|
if (dk < 0) SBI(dm, K_AXIS)
|
|
|
|
);
|
|
|
|
);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if IS_CORE
|
|
|
|
|
|
|
|
#if LINEAR_AXES >= 4
|
|
|
|
|
|
|
|
if (di < 0) SBI(dm, I_AXIS);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if LINEAR_AXES >= 5
|
|
|
|
|
|
|
|
if (dj < 0) SBI(dm, J_AXIS);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if LINEAR_AXES >= 6
|
|
|
|
|
|
|
|
if (dk < 0) SBI(dm, K_AXIS);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_EXTRUDERS
|
|
|
|
#if HAS_EXTRUDERS
|
|
|
|
if (de < 0) SBI(dm, E_AXIS);
|
|
|
|
if (de < 0) SBI(dm, E_AXIS);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
@ -2004,7 +2026,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
struct DistanceMM : abce_float_t {
|
|
|
|
struct DistanceMM : abce_float_t {
|
|
|
|
#if EITHER(IS_CORE, MARKFORGED_XY)
|
|
|
|
#if EITHER(IS_CORE, MARKFORGED_XY)
|
|
|
|
xyz_pos_t head;
|
|
|
|
struct { float x, y, z; } head;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
} steps_dist_mm;
|
|
|
|
} steps_dist_mm;
|
|
|
|
#if IS_CORE
|
|
|
|
#if IS_CORE
|
|
|
@ -2027,6 +2049,15 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
|
|
|
steps_dist_mm.b = (db + dc) * steps_to_mm[B_AXIS];
|
|
|
|
steps_dist_mm.b = (db + dc) * steps_to_mm[B_AXIS];
|
|
|
|
steps_dist_mm.c = CORESIGN(db - dc) * steps_to_mm[C_AXIS];
|
|
|
|
steps_dist_mm.c = CORESIGN(db - dc) * steps_to_mm[C_AXIS];
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if LINEAR_AXES >= 4
|
|
|
|
|
|
|
|
steps_dist_mm.i = di * steps_to_mm[I_AXIS];
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if LINEAR_AXES >= 5
|
|
|
|
|
|
|
|
steps_dist_mm.j = dj * steps_to_mm[J_AXIS];
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if LINEAR_AXES >= 6
|
|
|
|
|
|
|
|
steps_dist_mm.k = dk * steps_to_mm[K_AXIS];
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#elif ENABLED(MARKFORGED_XY)
|
|
|
|
#elif ENABLED(MARKFORGED_XY)
|
|
|
|
steps_dist_mm.head.x = da * steps_to_mm[A_AXIS];
|
|
|
|
steps_dist_mm.head.x = da * steps_to_mm[A_AXIS];
|
|
|
|
steps_dist_mm.head.y = db * steps_to_mm[B_AXIS];
|
|
|
|
steps_dist_mm.head.y = db * steps_to_mm[B_AXIS];
|
|
|
|