diff options
author | 2023-09-14 16:47:52 +0200 | |
---|---|---|
committer | 2023-09-19 13:31:09 +0000 | |
commit | a2ec8f983c799dea0a6f57ba97431ded54fc6197 (patch) | |
tree | 6e7f5397f2065d7751f13ff6ad9e825e16fc51d2 /rtic-monotonics/src/systick.rs | |
parent | 54aec9b3989162a60534620b80cde78d2d5cc1ba (diff) | |
download | rtic-a2ec8f983c799dea0a6f57ba97431ded54fc6197.tar.gz rtic-a2ec8f983c799dea0a6f57ba97431ded54fc6197.tar.zst rtic-a2ec8f983c799dea0a6f57ba97431ded54fc6197.zip |
rtic-monotonics: Implement blocking DelayUs from embedded-hal 1
Diffstat (limited to '')
-rw-r--r-- | rtic-monotonics/src/systick.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/rtic-monotonics/src/systick.rs b/rtic-monotonics/src/systick.rs index 9b8fca8a..fb4f8832 100644 --- a/rtic-monotonics/src/systick.rs +++ b/rtic-monotonics/src/systick.rs @@ -203,6 +203,15 @@ impl embedded_hal_async::delay::DelayUs for Systick { } } +impl embedded_hal::delay::DelayUs for Systick { + fn delay_us(&mut self, us: u32) { + #[cfg(feature = "systick-64bit")] + let us = u64::from(us); + let done = Self::now() + us.micros(); + while Self::now() < done {} + } +} + /// Register the Systick interrupt for the monotonic. #[macro_export] macro_rules! create_systick_token { |