From 3caaf558d39111291ec34dacfecaf0494f0d2be9 Mon Sep 17 00:00:00 2001 From: Evan Lojewski Date: Fri, 5 Feb 2021 18:39:13 -0700 Subject: timer: Add a delayMs routine. (#196) --- libs/Timer/include/Timer.h | 9 +++++++++ libs/Timer/timer.c | 9 +++++++++ 2 files changed, 18 insertions(+) (limited to 'libs') diff --git a/libs/Timer/include/Timer.h b/libs/Timer/include/Timer.h index a443bb6..91c81fb 100644 --- a/libs/Timer/include/Timer.h +++ b/libs/Timer/include/Timer.h @@ -109,4 +109,13 @@ uint32_t Timer_getCurrentTime1MHz(void); */ bool Timer_didTimeElapsed1MHz(uint32_t startTime, uint32_t checkTime); +/** + * @fn void Timer_delayMs(uint32_t milliseconds); + * + * @brief Sleep for the specified time, in milliseconds. + * + * @param milliseconds The number of milliseconds to delay. + */ +void Timer_delayMs(uint32_t milliseconds); + #endif /* TIMER_H */ diff --git a/libs/Timer/timer.c b/libs/Timer/timer.c index 632148a..dd59267 100644 --- a/libs/Timer/timer.c +++ b/libs/Timer/timer.c @@ -83,3 +83,12 @@ bool Timer_didTimeElapsed1MHz(uint32_t startTime, uint32_t checkTime) { return (APE.Tick1mhz.r32 - startTime) > checkTime; } + +void Timer_delayMs(uint32_t milliseconds) +{ + uint32_t startTime = Timer_getCurrentTime1KHz(); + do + { + // Spin + } while (!Timer_didTimeElapsed1KHz(startTime, milliseconds)); +} -- cgit v1.2.1