mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-12-24 19:09:33 +01:00
Add documentation for imxrt; other doc fixes
This commit is contained in:
parent
413955fb39
commit
af550483f5
8 changed files with 32 additions and 11 deletions
|
@ -7,6 +7,11 @@ For each category, *Added*, *Changed*, *Fixed* add new entries at the top!
|
|||
|
||||
## Unreleased
|
||||
|
||||
### Fixed
|
||||
|
||||
- Missing documentation for i.MX RT monotonics
|
||||
- Incorrect documentation of systick monotonic timer precision
|
||||
|
||||
## v1.3.0 - 2023-11-08
|
||||
|
||||
### Added
|
||||
|
|
|
@ -16,7 +16,14 @@ description = "A library that provides implementations of the Monotonic trait fr
|
|||
license = "MIT OR Apache-2.0"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
features = ["cortex-m-systick", "rp2040", "nrf52840"]
|
||||
features = [
|
||||
"cortex-m-systick",
|
||||
"rp2040",
|
||||
"nrf52840",
|
||||
"imxrt_gpt1",
|
||||
"imxrt_gpt2",
|
||||
"imxrt-ral/imxrt1011",
|
||||
]
|
||||
rustdoc-flags = ["--cfg", "docsrs"]
|
||||
|
||||
[dependencies]
|
||||
|
@ -51,7 +58,9 @@ imxrt-ral = { version = "0.5.3", optional = true }
|
|||
[build-dependencies]
|
||||
proc-macro2 = { version = "1.0.36", optional = true }
|
||||
quote = { version = "1.0.15", optional = true }
|
||||
stm32-metapac = { version = "14.0.0", default-features = false, features = ["metadata"], optional = true }
|
||||
stm32-metapac = { version = "14.0.0", default-features = false, features = [
|
||||
"metadata",
|
||||
], optional = true }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
//! [`Monotonic`] impl for the i.MX RT.
|
||||
//! [`Monotonic`] implementations for i.MX RT's GPT peripherals.
|
||||
//!
|
||||
//! # Example
|
||||
//!
|
||||
|
@ -55,7 +55,7 @@ macro_rules! __internal_create_imxrt_timer_interrupt {
|
|||
}};
|
||||
}
|
||||
|
||||
/// Register GPT1 interrupt for the monotonic.
|
||||
/// Register the GPT1 interrupt for the monotonic.
|
||||
#[cfg(feature = "imxrt_gpt1")]
|
||||
#[macro_export]
|
||||
macro_rules! create_imxrt_gpt1_token {
|
||||
|
@ -64,7 +64,7 @@ macro_rules! create_imxrt_gpt1_token {
|
|||
}};
|
||||
}
|
||||
|
||||
/// Register GPT2 interrupt for the monotonic.
|
||||
/// Register the GPT2 interrupt for the monotonic.
|
||||
#[cfg(feature = "imxrt_gpt2")]
|
||||
#[macro_export]
|
||||
macro_rules! create_imxrt_gpt2_token {
|
||||
|
@ -98,7 +98,7 @@ fn calc_now(period: u32, counter: u32) -> u64 {
|
|||
|
||||
macro_rules! make_timer {
|
||||
($mono_name:ident, $timer:ident, $period:ident, $tq:ident$(, doc: ($($doc:tt)*))?) => {
|
||||
/// Monotonic timer queue implementation.
|
||||
/// Timer implementing [`Monotonic`] which runs at 1 MHz.
|
||||
$(
|
||||
#[cfg_attr(docsrs, doc(cfg($($doc)*)))]
|
||||
)?
|
||||
|
@ -113,9 +113,11 @@ macro_rules! make_timer {
|
|||
|
||||
impl $mono_name {
|
||||
/// Starts the monotonic timer.
|
||||
///
|
||||
/// - `tick_freq_hz`: The tick frequency of the given timer.
|
||||
/// - `gpt`: The GPT timer register block instance.
|
||||
/// - `_interrupt_token`: Required for correct timer interrupt handling.
|
||||
///
|
||||
/// This method must be called only once.
|
||||
pub fn start(tick_freq_hz: u32, gpt: $timer, _interrupt_token: impl crate::InterruptToken<Self>) {
|
||||
// Find a prescaler that creates our desired tick frequency
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
//! # 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.
|
||||
//!
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! [`Monotonic`] impl for the 32-bit timers of the nRF series.
|
||||
//!
|
||||
//! Not all timers are available on all parts. Ensure that only the available
|
||||
//! timers are exposed by having the correct `nrf52*` feature enabled for `rtic-monotonic`.
|
||||
//! timers are exposed by having the correct `nrf52*` feature enabled for `rtic-monotonics`.
|
||||
//!
|
||||
//! # Example
|
||||
//!
|
||||
|
|
|
@ -31,7 +31,7 @@ use core::future::Future;
|
|||
pub use fugit::{self, ExtU64};
|
||||
use rp2040_pac::{timer, Interrupt, NVIC, RESETS, TIMER};
|
||||
|
||||
/// Timer implementing `rtic_monotonic::Monotonic` which runs at 1 MHz.
|
||||
/// Timer implementing [`Monotonic`] which runs at 1 MHz.
|
||||
pub struct Timer;
|
||||
|
||||
impl Timer {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! [`Monotonic`] impl for the STM32.
|
||||
//!
|
||||
//! Not all timers are available on all parts. Ensure that only available
|
||||
//! timers are exposed by having the correct `stm32*` feature enabled for `rtic-monotonic`.
|
||||
//! timers are exposed by having the correct `stm32*` feature enabled for `rtic-monotonics`.
|
||||
//!
|
||||
//! # Example
|
||||
//!
|
||||
|
@ -137,8 +137,10 @@ macro_rules! make_timer {
|
|||
|
||||
impl $mono_name {
|
||||
/// Starts the monotonic timer.
|
||||
///
|
||||
/// - `tim_clock_hz`: `TIMx` peripheral clock frequency.
|
||||
/// - `_interrupt_token`: Required for correct timer interrupt handling.
|
||||
///
|
||||
/// This method must be called only once.
|
||||
pub fn start(tim_clock_hz: u32, _interrupt_token: impl crate::InterruptToken<Self>) {
|
||||
_generated::$timer::enable();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
//!
|
||||
//! | Feature | Tick rate | Precision |
|
||||
//! |:----------------:|----------:|----------:|
|
||||
//! | (none / default) | 1 Hz | 1 ms |
|
||||
//! | (none / default) | 1 Hz | 1 s |
|
||||
//! | systick-100hz | 100 Hz | 10 ms |
|
||||
//! | systick-10khz | 10 KHz | 0.1 ms |
|
||||
|
||||
|
@ -67,7 +67,7 @@ cfg_if::cfg_if! {
|
|||
}
|
||||
}
|
||||
|
||||
/// Systick implementing `rtic_monotonic::Monotonic` which runs at 1 kHz, 100Hz or 10 kHz.
|
||||
/// Systick implementing [`Monotonic`] which runs at 1 kHz, 100Hz or 10 kHz.
|
||||
pub struct Systick;
|
||||
|
||||
impl Systick {
|
||||
|
|
Loading…
Reference in a new issue