From ee91c915eece273e3bdcac4eb11c681489fdade0 Mon Sep 17 00:00:00 2001 From: Tom Brazier Date: Sun, 17 Jul 2022 17:11:42 +0100 Subject: [PATCH] Return FLOOR() on the offchance that a float rounding error results in a slightly negative decelerate_steps_float --- Marlin/src/module/planner.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index de1351babf..b4455ca5ec 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -806,7 +806,7 @@ void Planner::calculate_trapezoid_for_block(block_t * const block, const_float_t float accelerate_steps_float = (nominal_rate_sq - sq(float(initial_rate))) * (0.5f / accel); accelerate_steps = CEIL(accelerate_steps_float); const float decelerate_steps_float = (nominal_rate_sq - sq(float(final_rate))) * (0.5f / accel); - decelerate_steps = decelerate_steps_float; + decelerate_steps = FLOOR(decelerate_steps_float); // Steps between acceleration and deceleration, if any plateau_steps -= accelerate_steps + decelerate_steps;