From c56fb1c1820248f256b4255de175eab854591d49 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 20 Apr 2022 04:29:39 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Minimize=20block->steps.set?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/module/planner.cpp | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index a7b6bf09fd..10511ca5ed 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -1976,22 +1976,24 @@ bool Planner::_populate_block( // Number of steps for each axis // See https://www.corexy.com/theory.html - #if CORE_IS_XY - block->steps.set(LINEAR_AXIS_LIST(ABS(da + db), ABS(da - db), ABS(dc), ABS(di), ABS(dj), ABS(dk))); - #elif CORE_IS_XZ - block->steps.set(LINEAR_AXIS_LIST(ABS(da + dc), ABS(db), ABS(da - dc), ABS(di), ABS(dj), ABS(dk))); - #elif CORE_IS_YZ - block->steps.set(LINEAR_AXIS_LIST(ABS(da), ABS(db + dc), ABS(db - dc), ABS(di), ABS(dj), ABS(dk))); - #elif ENABLED(MARKFORGED_XY) - block->steps.set(LINEAR_AXIS_LIST(ABS(da + db), ABS(db), ABS(dc), ABS(di), ABS(dj), ABS(dk))); - #elif ENABLED(MARKFORGED_YX) - block->steps.set(LINEAR_AXIS_LIST(ABS(da), ABS(db + da), ABS(dc), ABS(di), ABS(dj), ABS(dk))); - #elif IS_SCARA - block->steps.set(LINEAR_AXIS_LIST(ABS(da), ABS(db), ABS(dc), ABS(di), ABS(dj), ABS(dk))); - #else - // default non-h-bot planning - block->steps.set(LINEAR_AXIS_LIST(ABS(da), ABS(db), ABS(dc), ABS(di), ABS(dj), ABS(dk))); - #endif + block->steps.set(LINEAR_AXIS_LIST( + #if CORE_IS_XY + ABS(da + db), ABS(da - db), ABS(dc) + #elif CORE_IS_XZ + ABS(da + dc), ABS(db), ABS(da - dc) + #elif CORE_IS_YZ + ABS(da), ABS(db + dc), ABS(db - dc) + #elif ENABLED(MARKFORGED_XY) + ABS(da + db), ABS(db), ABS(dc) + #elif ENABLED(MARKFORGED_YX) + ABS(da), ABS(db + da), ABS(dc) + #elif IS_SCARA + ABS(da), ABS(db), ABS(dc) + #else // default non-h-bot planning + ABS(da), ABS(db), ABS(dc) + #endif + , ABS(di), ABS(dj), ABS(dk) + )); /** * This part of the code calculates the total length of the movement.