summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2021-02-05 18:39:13 -0700
committerGitHub <noreply@github.com>2021-02-05 18:39:13 -0700
commit3caaf558d39111291ec34dacfecaf0494f0d2be9 (patch)
tree1e69fd9b5efb98a61dd53725869cea80eae3be39
parent01b7af197ca3fbc64c12185820b7e6954f6727c3 (diff)
downloadbcm5719-ortega-3caaf558d39111291ec34dacfecaf0494f0d2be9.tar.gz
bcm5719-ortega-3caaf558d39111291ec34dacfecaf0494f0d2be9.zip
timer: Add a delayMs routine. (#196)
-rw-r--r--libs/Timer/include/Timer.h9
-rw-r--r--libs/Timer/timer.c9
2 files changed, 18 insertions, 0 deletions
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));
+}
OpenPOWER on IntegriCloud