From dce9971aa9ea75c56d6762ec1978e01006951e94 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Sun, 11 Apr 2021 12:11:03 -0400 Subject: [PATCH] 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 --- klippy/chelper/stepcompress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/klippy/chelper/stepcompress.c b/klippy/chelper/stepcompress.c index 8622df21..09fedf7a 100644 --- a/klippy/chelper/stepcompress.c +++ b/klippy/chelper/stepcompress.c @@ -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;