#cortex-m #async #no-alloc #time #no-std #systick

no-std synch

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

1 unstable release

new 0.1.1 Jan 9, 2025
0.1.0 Jan 9, 2025

#482 in Asynchronous

Download history 112/week @ 2025-01-04

112 downloads per month

MIT/Apache

15KB
243 lines

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.

Dependencies

~1–1.6MB
~26K SLoC