aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32f3_blinky/src/main.rs
diff options
context:
space:
mode:
authorFinomnis <Finomnis@users.noreply.github.com>2024-04-11 00:00:38 +0200
committerGitHub <noreply@github.com>2024-04-10 22:00:38 +0000
commit8c23e178f3838bcdd13662a2ffefd39ec144e869 (patch)
treef2d2cefcd6bb2876e74ee6035b5489a4a2d9590f /examples/stm32f3_blinky/src/main.rs
parente4cc5fd17b8a2df332af0ee25c8bd7092e66afb0 (diff)
Monotonic rewrite (#874)
* Rework timer_queue and monotonic architecture Goals: * make Monotonic purely internal * make Monotonic purely tick passed, no fugit involved * create a wrapper struct in the user's code via a macro that then converts the "now" from the tick based monotonic to a fugit based timestamp We need to proxy the delay functions of the timer queue anyway, so we could simply perform the conversion in those proxy functions. * Update cargo.lock * Update readme of rtic-time * CI: ESP32: Redact esp_image: Too volatile * Fixup: Changelog double entry rebase mistake --------- Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
Diffstat (limited to 'examples/stm32f3_blinky/src/main.rs')
-rw-r--r--examples/stm32f3_blinky/src/main.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/examples/stm32f3_blinky/src/main.rs b/examples/stm32f3_blinky/src/main.rs
index 28dc7c2..e8c2e50 100644
--- a/examples/stm32f3_blinky/src/main.rs
+++ b/examples/stm32f3_blinky/src/main.rs
@@ -5,11 +5,13 @@
use panic_rtt_target as _;
use rtic::app;
-use rtic_monotonics::systick::*;
+use rtic_monotonics::systick::prelude::*;
use rtt_target::{rprintln, rtt_init_print};
use stm32f3xx_hal::gpio::{Output, PushPull, PA5};
use stm32f3xx_hal::prelude::*;
+systick_monotonic!(Mono, 1000);
+
#[app(device = stm32f3xx_hal::pac, peripherals = true, dispatchers = [SPI1])]
mod app {
use super::*;
@@ -30,8 +32,7 @@ mod app {
let mut rcc = cx.device.RCC.constrain();
// Initialize the systick interrupt & obtain the token to prove that we did
- let systick_mono_token = rtic_monotonics::create_systick_token!();
- Systick::start(cx.core.SYST, 36_000_000, systick_mono_token); // default STM32F303 clock-rate is 36MHz
+ Mono::start(cx.core.SYST, 36_000_000); // default STM32F303 clock-rate is 36MHz
rtt_init_print!();
rprintln!("init");
@@ -67,7 +68,7 @@ mod app {
cx.local.led.set_low().unwrap();
*cx.local.state = true;
}
- Systick::delay(1000.millis()).await;
+ Mono::delay(1000.millis()).await;
}
}
}