A basic asynchronous timer implementation that uses the cortex-m SysTick peripheral.
Find a file
2025-04-04 12:42:06 +13:00
src Remove log macro usage 2025-01-09 21:19:00 +13:00
.gitignore Prepare release 2025-01-09 21:03:27 +13:00
Cargo.lock Update defmt to 1.0 2025-04-04 12:42:06 +13:00
Cargo.toml Update defmt to 1.0 2025-04-04 12:42:06 +13:00
LICENSE-APACHE Prepare release 2025-01-09 21:03:27 +13:00
LICENSE-MIT Prepare release 2025-01-09 21:03:27 +13:00
README.md Fix docs 2025-01-09 21:14:14 +13:00

A basic asynchronous timer implementation that uses the cortex-m SysTick peripheral.

Usage

Construct a new [Timer] instance using the SysTick peripheral. The timer can then be used to create timeouts, tickers, and trackers.

Enable the defmt feature to automatically implement the defmt timestamp feature, as well as derive defmt::Format for all relevant types.

Useful traits from [fugit] are re-exported for convenience.

Important Notes

  • This crate does not implement or manage wakers at all. [Timer] is designed to be used in conjunction with an executor like cassette, that is, a simple polling-based loop.
  • The SysTick exception is implemented within this crate to catch timer overflows and should not be used elsewhere.
  • PRs are welcome to add more functionality (or fix bugs!), but the goal is to keep this crate as simple as possible for easy plug-and-play time functionality.