From 4e6d1ae0eaafb64d04ae6a5e00d2ef41623248cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20=C5=BDupa?= Date: Sat, 1 Feb 2020 10:17:28 +0100 Subject: [PATCH] Fix timer_elapsed() overflow issue for STM32F103 and other ChibiOS boards (#7595) * fixed strange space cadet timer owerflow on STM32F103 * Moved elapsed time fix to timer.c --- tmk_core/common/chibios/timer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tmk_core/common/chibios/timer.c b/tmk_core/common/chibios/timer.c index 1ce9d1d17..66c4a6458 100644 --- a/tmk_core/common/chibios/timer.c +++ b/tmk_core/common/chibios/timer.c @@ -28,6 +28,10 @@ uint32_t timer_read32(void) { return current_time_ms; } -uint16_t timer_elapsed(uint16_t last) { return timer_read() - last; } +uint16_t timer_elapsed(uint16_t last) { + return TIMER_DIFF_16(timer_read(), last); +} -uint32_t timer_elapsed32(uint32_t last) { return timer_read32() - last; } +uint32_t timer_elapsed32(uint32_t last) { + return TIMER_DIFF_32(timer_read32(), last); +}