From a2ec8f983c799dea0a6f57ba97431ded54fc6197 Mon Sep 17 00:00:00 2001 From: Nils Fitinghoff Date: Thu, 14 Sep 2023 16:47:52 +0200 Subject: rtic-monotonics: Implement blocking DelayUs from embedded-hal 1 --- rtic-monotonics/src/systick.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'rtic-monotonics/src/systick.rs') diff --git a/rtic-monotonics/src/systick.rs b/rtic-monotonics/src/systick.rs index 9b8fca8..fb4f883 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 { -- cgit v1.2.3