From 8c23e178f3838bcdd13662a2ffefd39ec144e869 Mon Sep 17 00:00:00 2001 From: Finomnis Date: Thu, 11 Apr 2024 00:00:38 +0200 Subject: Monotonic rewrite (#874) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- examples/nrf52840_blinky/src/bin/blinky_timer.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'examples/nrf52840_blinky/src/bin/blinky_timer.rs') diff --git a/examples/nrf52840_blinky/src/bin/blinky_timer.rs b/examples/nrf52840_blinky/src/bin/blinky_timer.rs index c1342f4..ebb20fc 100644 --- a/examples/nrf52840_blinky/src/bin/blinky_timer.rs +++ b/examples/nrf52840_blinky/src/bin/blinky_timer.rs @@ -5,6 +5,9 @@ use nrf52840_blinky::hal; +use rtic_monotonics::nrf::timer::prelude::*; +nrf_timer0_monotonic!(Mono, 8_000_000); + #[rtic::app(device = hal::pac, dispatchers = [SWI0_EGU0])] mod app { use super::*; @@ -12,10 +15,6 @@ mod app { use hal::gpio::{Level, Output, Pin, PushPull}; use hal::prelude::*; - use rtic_monotonics::nrf::timer::Timer0 as Mono; - use rtic_monotonics::nrf::timer::*; - use rtic_monotonics::Monotonic; - #[shared] struct Shared {} @@ -27,8 +26,7 @@ mod app { #[init] fn init(cx: init::Context) -> (Shared, Local) { // Initialize Monotonic - let token = rtic_monotonics::create_nrf_timer0_monotonic_token!(); - Mono::start(cx.device.TIMER0, token); + Mono::start(cx.device.TIMER0); // Setup LED let port0 = hal::gpio::p0::Parts::new(cx.device.P0); -- cgit v1.2.3