stepcompress: Improve numerical stability of step+dir+step filter
Apply the step+dir+step filter even if, for some reason, a negative time is found. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
a93d09cdf4
commit
dce9971aa9
|
@ -499,7 +499,7 @@ stepcompress_append(struct stepcompress *sc, int sdir
|
|||
// Flush previous pending step (if any)
|
||||
if (sc->next_step_clock) {
|
||||
if (unlikely(sdir != sc->next_step_dir)) {
|
||||
double diff = step_clock - sc->next_step_clock;
|
||||
double diff = (int64_t)(step_clock - sc->next_step_clock);
|
||||
if (diff < SDS_FILTER_TIME * sc->mcu_freq) {
|
||||
// Rollback last step to avoid rapid step+dir+step
|
||||
sc->next_step_clock = 0;
|
||||
|
|
Loading…
Reference in New Issue