From 57534fcd132fa22e58f11e818abcfac638ede4d1 Mon Sep 17 00:00:00 2001 From: Rob Giseburt Date: Thu, 14 Nov 2019 11:21:13 -0600 Subject: [PATCH] Ensure spindle ramp starts from 0 to get the timing right --- g2core/spindle.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/g2core/spindle.cpp b/g2core/spindle.cpp index 106b0fe5..de143006 100644 --- a/g2core/spindle.cpp +++ b/g2core/spindle.cpp @@ -126,12 +126,13 @@ void _actually_set_spindle_speed() { if (spindle.speed < speed_lo) { spindle.speed = speed_lo; } - if (spindle.speed_actual < speed_lo) { - spindle.speed_actual = speed_lo; - } + + // allow spindle.speed_actual to start at 0 to match physical spinup + if (spindle.speed > speed_hi) { spindle.speed = speed_hi; } + if (spindle.speed_actual > speed_hi) { spindle.speed_actual = speed_hi; } @@ -423,6 +424,9 @@ bool spindle_speed_ramp_from_systick() { } } pwm_set_duty(PWM_1, _get_spindle_pwm(spindle, pwm)); + } else { + spindle.speed_actual = 0; + pwm_set_duty(PWM_1, _get_spindle_pwm(spindle, pwm)); } return done; #else