Crate rtic_monotonics

source ·
Expand description

In-tree implementations of the rtic_time::Monotonic (reexported) trait for timers & clocks found on commonly used microcontrollers.

If you are using a microcontroller where CAS operations are not available natively, you might have to enable the critical-section or unsafe-assume-single-core feature of the portable-atomic dependency yourself for this dependency to compile.

To enable the implementations, you must enable a feature for the specific MCU you’re targeting.

§Cortex-M Systick

The systick monotonic works on all cortex-M parts, and requires that the feature cortex-m-systick is enabled.

§RP2040

The RP2040 monotonics require that the rp2040 feature is enabled.

§i.MX RT

The i.MX RT monotonics require that the feature imxrt_gpt1 or imxrt_gpt2 is enabled.

§nRF

nRF monotonics require that one of the available nrf52* features is enabled.

All implementations of timers for the nRF52 family are documented here. Monotonics that are not available on all parts in this family will have an Available on crate features X only tag, describing what parts do support that monotonic. Monotonics without an Available on crate features X only tag are available on any nrf52* feature.

§Priority of interrupt handlers

The priority of timer interrupts are based on RTIC_ASYNC_MAX_LOGICAL_PRIO generated by RTIC. It is calculated to be 1 less than the maximum hardware task priority (to not have impact on hardware tasks), or, if no hardware task is available, is set to the maximum priority in the system.

Re-exports§

Modules§

  • Monotonic implementations for i.MX RT’s GPT peripherals.
  • Monotonic implementations for the nRF series of MCUs.
  • Monotonic implementation for RP2040’s Timer peripheral.
  • Monotonic implementations for STM32 chips.
  • Monotonic based on Cortex-M SysTick. Note: this implementation is inefficient as it ticks and generates interrupts at a constant rate.

Macros§

Structs§

Traits§