1 unstable release
0.8.0 | Aug 3, 2024 |
---|
#1491 in Embedded development
42 downloads per month
Used in 2 crates
275KB
8K
SLoC
bxCAN peripheral driver
This crate implements a driver for the bxCAN peripheral found in many low- to middle-end STM32 and STM32-like microcontrollers.
Please refer to the changelog to see what changed in the last releases.
Usage
Add an entry to your Cargo.toml
:
[dependencies]
bxcan-ng = "0.8.0"
Check the API Documentation for how to use the crate's functionality.
Rust version support
This crate supports at least the 3 latest stable Rust releases. Bumping the minimum supported Rust version (MSRV) is not considered a breaking change as long as these 3 versions are still supported.
lib.rs
:
Driver for the STM32 bxCAN peripheral.
This crate provides a reusable driver for the bxCAN peripheral found in many low- to middle-end STM32 microcontrollers. HALs for compatible chips can reexport this crate and implement its traits to easily expose a featureful CAN driver.
Features
- Supports both single- and dual-peripheral configurations (where one bxCAN instance manages the filters of a secondary instance).
- Handles standard and extended frames, and data and remote frames.
- Support for interrupts emitted by the bxCAN peripheral.
- Transmission respects CAN IDs and protects against priority inversion (a lower-priority frame may be dequeued when enqueueing a higher-priority one).
- Implements the
embedded-hal
traits for interoperability. - Support for both RX FIFOs (as [
Rx0
] and [Rx1
]).
Limitations
- Support for querying error states and handling error interrupts is incomplete.
Cargo Features
Feature | Description |
---|---|
unstable-defmt |
Implements defmt 's Format trait for the types in this crate.[^1] |
[^1]: The specific version of defmt is unspecified and may be updated in a patch release.
Dependencies
~110–290KB