From de1ec51ca26ae6924cc324231eaa33c1fb24dd3c Mon Sep 17 00:00:00 2001 From: Joseph Coffland Date: Wed, 21 Mar 2018 00:41:28 -0700 Subject: [PATCH] Added peak accel and peak vel vars --- src/avr/src/exec.c | 24 ++++++++++++++++++++++-- src/avr/src/vars.def | 2 ++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/avr/src/exec.c b/src/avr/src/exec.c index 2ffc957..e4231a6 100644 --- a/src/avr/src/exec.c +++ b/src/avr/src/exec.c @@ -47,6 +47,8 @@ static struct { float velocity; float accel; float jerk; + float peak_vel; + float peak_accel; float feed_override; float spindle_override; @@ -77,9 +79,23 @@ void exec_get_position(float p[AXES]) { float exec_get_axis_position(int axis) {return ex.position[axis];} -void exec_set_velocity(float v) {ex.velocity = v;} + + +void exec_set_velocity(float v) { + ex.velocity = v; + if (ex.peak_vel < v) ex.peak_vel = v; +} + + float exec_get_velocity() {return ex.velocity;} -void exec_set_acceleration(float a) {ex.accel = a;} + + +void exec_set_acceleration(float a) { + ex.accel = a; + if (ex.peak_accel < a) ex.peak_accel = a; +} + + float exec_get_acceleration() {return ex.accel;} void exec_set_jerk(float j) {ex.jerk = j;} void exec_set_cb(exec_cb_t cb) {ex.cb = cb;} @@ -117,6 +133,10 @@ float get_axis_position(int axis) {return ex.position[axis];} float get_velocity() {return ex.velocity / VELOCITY_MULTIPLIER;} float get_acceleration() {return ex.accel / ACCEL_MULTIPLIER;} float get_jerk() {return ex.jerk / JERK_MULTIPLIER;} +float get_peak_vel() {return ex.peak_vel / VELOCITY_MULTIPLIER;} +void set_peak_vel(float x) {ex.peak_vel = 0;} +float get_peak_accel() {return ex.peak_accel / ACCEL_MULTIPLIER;} +void set_peak_accel(float x) {ex.peak_accel = 0;} float get_feed_override() {return ex.feed_override;} void set_feed_override(float value) {ex.feed_override = value;} float get_speed_override() {return ex.spindle_override;} diff --git a/src/avr/src/vars.def b/src/avr/src/vars.def index 5e2c19e..c96a0cb 100644 --- a/src/avr/src/vars.def +++ b/src/avr/src/vars.def @@ -118,6 +118,8 @@ VAR(optional_pause, op, b8, 0, 1, 1, "Optional pause state") VAR(velocity, v, f32, 0, 0, 1, "Current velocity") VAR(acceleration, ax, f32, 0, 0, 1, "Current acceleration") VAR(jerk, j, f32, 0, 0, 1, "Current jerk") +VAR(peak_vel, pv, f32, 0, 1, 1, "Peak velocity, set to clear") +VAR(peak_accel, pa, f32, 0, 1, 1, "Peak acceleration, set to clear") VAR(hw_id, hid, str, 0, 0, 1, "Hardware ID") VAR(estop, es, b8, 0, 1, 1, "Emergency stop") VAR(estop_reason, er, pstr, 0, 0, 1, "Emergency stop reason") -- 2.27.0