Crate rtic

source ·
Expand description

Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers.

IMPORTANT: This crate is published as cortex-m-rtic on crates.io but the name of the library is rtic.

The user level documentation can be found here.

Don’t forget to check the documentation of the #[app] attribute (listed under the reexports section), which is the main component of the framework.

Minimum Supported Rust Version (MSRV)

This crate is compiled and tested with the latest toolchain (rolling) as of the release date. If you run into compilation errors, try the latest stable release of the rust toolchain.

Semantic Versioning

Like the Rust project, this crate adheres to SemVer: breaking changes in the API and semantics require a semver bump (since 1.0.0 a new major version release), with the exception of breaking changes that fix soundness issues – those are considered bug fixes and can be landed in a new patch release.

Re-exports

Modules

  • module mutex::prelude provides Mutex and multi-lock variants. Recommended over mutex_prelude
  • Makes locks work on N-tuples, locks the mutexes from left-to-right in the tuple. These are used to reduce rightward drift in code and to help make intentions clearer.

Structs

  • Newtype over &'a mut T that implements the Mutex trait
  • Internal replacement for static mut T

Traits

  • A monotonic clock / counter definition.
  • Memory safe access to shared resources

Functions

  • Sets the given interrupt as pending

Attribute Macros

  • Attribute used to declare a RTIC application