Browse Source

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

Followup to #19112
Fjederhaek 3 years ago
parent
commit
1903cc23c6
No account linked to committer's email address
1 changed files with 16 additions and 5 deletions
  1. 16
    5
      Marlin/src/module/planner.cpp

+ 16
- 5
Marlin/src/module/planner.cpp View File

2002
   // Number of steps for each axis
2002
   // Number of steps for each axis
2003
   // See https://www.corexy.com/theory.html
2003
   // See https://www.corexy.com/theory.html
2004
   #if CORE_IS_XY
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
   #elif CORE_IS_XZ
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
   #elif CORE_IS_YZ
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
   #elif ENABLED(MARKFORGED_XY)
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
   #elif IS_SCARA
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
   #else
2014
   #else
2015
     // default non-h-bot planning
2015
     // default non-h-bot planning
2016
     block->steps.set(LINEAR_AXIS_LIST(ABS(da), ABS(db), ABS(dc), ABS(di), ABS(dj), ABS(dk)));
2016
     block->steps.set(LINEAR_AXIS_LIST(ABS(da), ABS(db), ABS(dc), ABS(di), ABS(dj), ABS(dk)));
2208
       if (block->steps.k) ENABLE_AXIS_K()
2208
       if (block->steps.k) ENABLE_AXIS_K()
2209
     );
2209
     );
2210
   #endif
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
   // Enable extruder(s)
2223
   // Enable extruder(s)
2213
   #if HAS_EXTRUDERS
2224
   #if HAS_EXTRUDERS

Loading…
Cancel
Save