Bluetooth HCI for STMicro's BlueNRG-MS Bluetooth controllers.
Note: This crate does not provide support for the BlueNRG-1 or BlueNRG-2 SoCs.
The BlueNRG-MS is an external Bluetooth Radio Controller that communicates with the application processor over SPI and two dedicated pins:
- A SPI chip select pin, and
- A data ready signal.
This crate defines a public struct,
BlueNRG that owns the chip select and data ready
pins, and a receive buffer for the data that comes from the controller. It also defines a
ActiveBlueNRG that borrows a handle to the SPI bus.
bluetooth_hci::Controller, which provides access to the full Bluetooth HCI.
BlueNRG-MS implements parts of version 4.1 of the Bluetooth specification.
The fundamental way to use the
BlueNRG is its
which invokes its closure on at
ActiveBlueNRG, so sending HCI commands and reading HCI
events can only be done from within that closure.
BlueNRG-MS provides several vendor-specific commands that control the behavior of the controller.
BlueNRG-MS provides several vendor-specific events that provide data related to the controller. Many of these events are forwarded from the link layer, and these are documented with a reference to the appropriate section of the Bluetooth specification.
Vendor-specific events for BlueNRG controllers.
GAP commands and types needed for those commands.
GATT commands and types needed for those commands.
Vendor-specific HCI commands and types needed for those commands.
L2Cap-specific commands and types needed for those commands.
Handle for actively communicating with the controller over the SPI bus.
Handle for interfacing with the BlueNRG-MS.
Specify vendor-specific extensions for the BlueNRG.
Error type for TryFrom
Vendor-specific interpretation of the local version information from the controller.
Possible filter policies used for undirected advertising.
The advertising type is used in the
Hardware event codes returned by the HardwareError HCI event.
Indicates the type of address being used in the advertising packets.