From bf333a3225818eec11c0dd389efe1c81e79e929d Mon Sep 17 00:00:00 2001 From: Joseph Coffland Date: Fri, 18 Aug 2017 13:27:13 -0700 Subject: [PATCH] Working on jog limits --- src/avr/src/plan/jog.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/avr/src/plan/jog.c b/src/avr/src/plan/jog.c index d846949..53a3c94 100644 --- a/src/avr/src/plan/jog.c +++ b/src/avr/src/plan/jog.c @@ -95,6 +95,29 @@ static bool _axis_velocity_target(int axis) { } +#if 0 +static float _compute_deccel_dist(float vel, float accel, float jerk) { + float dist = 0; + float Ad = jerk * SEGMENT_TIME; // Delta accel + + while (true) { + // Compute next accel + float At2 = -jerk * vel; + if (accel * accel < At2) accel += Ad; + else accel -= Ad; + + // Compute next velocity + vel += accel * SEGMENT_TIME; + if (vel <= 0) break; + + // Compute distance traveled + dist += vel * SEGMENT_TIME; + } + + return dist; +} + +#else static float _compute_deccel_dist(float vel, float accel, float jerk) { float dist = 0; @@ -124,6 +147,7 @@ static float _compute_deccel_dist(float vel, float accel, float jerk) { return dist; } +#endif static float _limit_position(int axis, float p) { -- 2.27.0