diff --git a/Marlin/src/gcode/motion/G2_G3.cpp b/Marlin/src/gcode/motion/G2_G3.cpp index 47868bb0c6617fe2810c27c4d893a63bace0c46e..2596e6ca8dbdc5f09e193a6330653aafe1e2d7cd 100644 --- a/Marlin/src/gcode/motion/G2_G3.cpp +++ b/Marlin/src/gcode/motion/G2_G3.cpp @@ -226,7 +226,7 @@ void plan_arc( // As far as the parser is concerned, the position is now == target. In reality the // motion control system might still be processing the action and the real tool position // in any intermediate location. - set_current_from_destination(); + COPY(current_position, cart); } // plan_arc /** diff --git a/Marlin/src/gcode/motion/G5.cpp b/Marlin/src/gcode/motion/G5.cpp index 684646941597978b4b0ef3aa218104d82d6dcc83..01980e37c916cf215d6162ad9b31323eaa4e602b 100644 --- a/Marlin/src/gcode/motion/G5.cpp +++ b/Marlin/src/gcode/motion/G5.cpp @@ -27,13 +27,13 @@ #include "../../module/motion.h" #include "../../module/planner_bezier.h" -void plan_cubic_move(const float (&offset)[4]) { - cubic_b_spline(current_position, destination, offset, MMS_SCALED(feedrate_mm_s), active_extruder); +void plan_cubic_move(const float (&cart)[XYZE], const float (&offset)[4]) { + cubic_b_spline(current_position, cart, offset, MMS_SCALED(feedrate_mm_s), active_extruder); // As far as the parser is concerned, the position is now == destination. In reality the // motion control system might still be processing the action and the real tool position // in any intermediate location. - set_current_from_destination(); + COPY(current_position, cart); } /** @@ -69,7 +69,7 @@ void GcodeSuite::G5() { parser.linearval('Q') }; - plan_cubic_move(offset); + plan_cubic_move(destination, offset); } }