13 releases (7 breaking)
0.8.0 | Sep 17, 2024 |
---|---|
0.7.0 | May 30, 2022 |
0.6.2 | Nov 15, 2021 |
0.5.1 | May 15, 2021 |
0.3.0 | Dec 28, 2020 |
#1609 in Embedded development
4,452 downloads per month
Used in 51 crates
(19 directly)
270KB
8K
SLoC
bxCAN peripheral driver
This crate implements a driver for the bxCAN peripheral found in many low- to middle-end STM32 microcontrollers.
Please refer to the changelog to see what changed in the last releases.
Usage
Add an entry to your Cargo.toml
:
[dependencies]
bxcan = "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–280KB