Skip to content

Commit e19c9f5

Browse files
FjederhaekDarred
authored andcommitted
🐛 Update H-bot / Core for 6-axis (MarlinFirmware#22600)
Followup to MarlinFirmware#19112
1 parent 0567dbf commit e19c9f5

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

Marlin/src/module/planner.cpp

+16-5
Original file line numberDiff line numberDiff line change
@@ -2002,15 +2002,15 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
20022002
// Number of steps for each axis
20032003
// See https://www.corexy.com/theory.html
20042004
#if CORE_IS_XY
2005-
block->steps.set(ABS(da + db), ABS(da - db), ABS(dc));
2005+
block->steps.set(LINEAR_AXIS_LIST(ABS(da + db), ABS(da - db), ABS(dc), ABS(di), ABS(dj), ABS(dk)));
20062006
#elif CORE_IS_XZ
2007-
block->steps.set(ABS(da + dc), ABS(db), ABS(da - dc));
2007+
block->steps.set(LINEAR_AXIS_LIST(ABS(da + dc), ABS(db), ABS(da - dc), ABS(di), ABS(dj), ABS(dk)));
20082008
#elif CORE_IS_YZ
2009-
block->steps.set(ABS(da), ABS(db + dc), ABS(db - dc));
2009+
block->steps.set(LINEAR_AXIS_LIST(ABS(da), ABS(db + dc), ABS(db - dc), ABS(di), ABS(dj), ABS(dk)));
20102010
#elif ENABLED(MARKFORGED_XY)
2011-
block->steps.set(ABS(da + db), ABS(db), ABS(dc));
2011+
block->steps.set(LINEAR_AXIS_LIST(ABS(da + db), ABS(db), ABS(dc), ABS(di), ABS(dj), ABS(dk)));
20122012
#elif IS_SCARA
2013-
block->steps.set(ABS(da), ABS(db), ABS(dc));
2013+
block->steps.set(LINEAR_AXIS_LIST(ABS(da), ABS(db), ABS(dc), ABS(di), ABS(dj), ABS(dk)));
20142014
#else
20152015
// default non-h-bot planning
20162016
block->steps.set(LINEAR_AXIS_LIST(ABS(da), ABS(db), ABS(dc), ABS(di), ABS(dj), ABS(dk)));
@@ -2208,6 +2208,17 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
22082208
if (block->steps.k) ENABLE_AXIS_K()
22092209
);
22102210
#endif
2211+
#if EITHER(IS_CORE, MARKFORGED_XY)
2212+
#if LINEAR_AXES >= 4
2213+
if (block->steps.i) ENABLE_AXIS_I();
2214+
#endif
2215+
#if LINEAR_AXES >= 5
2216+
if (block->steps.j) ENABLE_AXIS_J();
2217+
#endif
2218+
#if LINEAR_AXES >= 6
2219+
if (block->steps.k) ENABLE_AXIS_K();
2220+
#endif
2221+
#endif
22112222

22122223
// Enable extruder(s)
22132224
#if HAS_EXTRUDERS

0 commit comments

Comments
 (0)