stm32wb-hci

Crates.iostm32wb-hci
lib.rsstm32wb-hci
version0.17.2
sourcesrc
created_at2023-06-22 21:59:00.658505
updated_at2024-01-17 15:41:13.427201
descriptionImplementation of the Bluetooth HCI for the STM32WB family
homepage
repositoryhttps://github.com/OueslatiGhaith/stm32wb-hci
max_upload_size
id897828
size779,797
Ghaith Oueslati (OueslatiGhaith)

documentation

README

STM32WB-HCI

forked from bluetooth_hci

Build Status

This crate defines a pure Rust implementation of the Bluetooth Host-Controller Interface for the STM32WB family of microcontrollers. It defines commands and events from the specification, and vendor-specific commands and events.

Version

This crate aims to match the latest firmware binaries released by ST. The minor version number of this crate should indicate the appropriate firmware version to use, refer to this table in unclear:

crate version firmware version
0.17.2 1.17.1
0.17.0 1.17.0
0.16.0 1.16.0
older 1.15.0

Usage

This crate defines a trait (Controller) that should be implemented for a specific BLE chip. Any implementor can then be used as a host::uart::UartHci to read and write to the chip.

impl stm32wb_hci::Controller for MyController {
    async fn controller_write(&mut self, header: &[u8], payload: &[u8]) -> Result<(), Self::Error> {
        // implementation...
    }
    async fn controller_read_into(&mut self, buffer: &mut [u8]) -> Result<(), Self::Error> {
        // implementation...
    }
}

The entire Bluetooth HCI is implemented in terms of these functions that handle the low-level I/O.

Commit count: 217

cargo fmt