4 个版本
0.1.0 | 2020年5月8日 |
---|---|
0.0.3 | 2018年9月16日 |
0.0.2 | 2018年9月15日 |
0.0.1 | 2018年9月4日 |
#957 in 嵌入式开发
8,397 每月下载量
用于 ockam_transport_ble
395KB
5.5K SLoC
BlueNRG
此crate提供了STMicro BlueNRG系列蓝牙射频模块的供应商特定的蓝牙HCI。它通过供应商特定的命令和事件(及其相关错误)扩展了bluetooth-hci。
BlueNRG 和 BlueNRG-MS
此crate支持较旧的BlueNRG版本的HCI,以及较新的BlueNRG-MS版本。默认情况下,crate实现BlueNRG-MS。
工作正在进行中...
如您所注意到的,文档非常缺乏。这仍然(截至2018年4月)处于积极开发中,所以还有更多内容将陆续到来!
lib.rs
:
STMicro BlueNRG-MS 蓝牙控制器的蓝牙HCI。
注意:此crate不提供对BlueNRG-1或BlueNRG-2 SoC的支持。
设计
BlueNRG-MS 是一个外部蓝牙射频控制器,通过SPI和两个专用引脚与应用处理器通信
- 一个SPI芯片选择引脚,
- 一个数据就绪信号。
此crate定义了一个公共结构体,BlueNRG
,它拥有芯片选择和数据就绪引脚,以及来自控制器的数据接收缓冲区。它还定义了一个私有结构体,ActiveBlueNRG
,它借用SPI总线句柄。 ActiveBlueNRG
实现了 bluetooth_hci::Controller
,它提供了对完整蓝牙HCI的访问。
BlueNRG-MS 实现了蓝牙规范第4.1版的部分内容。
使用《BlueNRG》的基本方法是其《with_spi》函数,该函数在《ActiveBlueNRG》上调用闭包,因此发送HCI命令和读取HCI事件只能在闭包内完成。
供应商特定命令
BlueNRG-MS提供了一些供应商特定命令,用于控制控制器的行为。
供应商特定事件
BlueNRG-MS提供了一些供应商特定事件,这些事件提供了与控制器相关的数据。许多这些事件是从链路层转发的,并在蓝牙规范的相关部分进行了说明。
示例
待办事项
依赖项
~590KB