aboutsummaryrefslogtreecommitdiff
path: root/rtic-monotonics/src/stm32.rs
diff options
context:
space:
mode:
authorNils Fitinghoff <nils.fitinghoff@mobilaris.se>2023-09-14 16:47:52 +0200
committerEmil Fresk <emil.fresk@gmail.com>2023-09-19 13:31:09 +0000
commita2ec8f983c799dea0a6f57ba97431ded54fc6197 (patch)
tree6e7f5397f2065d7751f13ff6ad9e825e16fc51d2 /rtic-monotonics/src/stm32.rs
parent54aec9b3989162a60534620b80cde78d2d5cc1ba (diff)
rtic-monotonics: Implement blocking DelayUs from embedded-hal 1
Diffstat (limited to 'rtic-monotonics/src/stm32.rs')
-rw-r--r--rtic-monotonics/src/stm32.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/rtic-monotonics/src/stm32.rs b/rtic-monotonics/src/stm32.rs
index 3232f4a..77d36e4 100644
--- a/rtic-monotonics/src/stm32.rs
+++ b/rtic-monotonics/src/stm32.rs
@@ -230,6 +230,13 @@ macro_rules! make_timer {
}
}
+ impl embedded_hal::delay::DelayUs for $mono_name {
+ fn delay_us(&mut self, us: u32) {
+ let done = Self::now() + (us as u64).micros();
+ while Self::now() < done {}
+ }
+ }
+
impl Monotonic for $mono_name {
type Instant = fugit::TimerInstantU64<TIMER_HZ>;
type Duration = fugit::TimerDurationU64<TIMER_HZ>;