Преглед на файлове

🐛 Update H-bot / Core for 6-axis (#22600)

Followup to #19112
Fjederhaek преди 3 години
родител
ревизия
1903cc23c6
No account linked to committer's email address
променени са 1 файла, в които са добавени 16 реда и са изтрити 5 реда
  1. 16
    5
      Marlin/src/module/planner.cpp

+ 16
- 5
Marlin/src/module/planner.cpp Целия файл

@@ -2002,15 +2002,15 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
2002 2002
   // Number of steps for each axis
2003 2003
   // See https://www.corexy.com/theory.html
2004 2004
   #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)));
2006 2006
   #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)));
2008 2008
   #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)));
2010 2010
   #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)));
2012 2012
   #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)));
2014 2014
   #else
2015 2015
     // default non-h-bot planning
2016 2016
     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,
2208 2208
       if (block->steps.k) ENABLE_AXIS_K()
2209 2209
     );
2210 2210
   #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
2211 2222
 
2212 2223
   // Enable extruder(s)
2213 2224
   #if HAS_EXTRUDERS

Loading…
Отказ
Запис