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 嵌入式开发

Download history 4299/week @ 2024-01-10 5011/week @ 2024-01-17 5197/week @ 2024-01-24 4477/week @ 2024-01-31 4152/week @ 2024-02-07 4024/week @ 2024-02-14 3697/week @ 2024-02-21 3424/week @ 2024-02-28 3306/week @ 2024-03-06 2874/week @ 2024-03-13 2452/week @ 2024-03-20 2211/week @ 2024-03-27 2138/week @ 2024-04-03 2013/week @ 2024-04-10 2139/week @ 2024-04-17 1800/week @ 2024-04-24

8,397 每月下载量
用于 ockam_transport_ble

MIT/Apache

395KB
5.5K SLoC

BlueNRG

Build Status

此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和两个专用引脚与应用处理器通信

  1. 一个SPI芯片选择引脚,
  2. 一个数据就绪信号。

此crate定义了一个公共结构体,BlueNRG,它拥有芯片选择和数据就绪引脚,以及来自控制器的数据接收缓冲区。它还定义了一个私有结构体,ActiveBlueNRG,它借用SPI总线句柄。 ActiveBlueNRG 实现了 bluetooth_hci::Controller,它提供了对完整蓝牙HCI的访问。

BlueNRG-MS 实现了蓝牙规范第4.1版的部分内容。

使用《BlueNRG》的基本方法是其《with_spi》函数,该函数在《ActiveBlueNRG》上调用闭包,因此发送HCI命令和读取HCI事件只能在闭包内完成。

供应商特定命令

BlueNRG-MS提供了一些供应商特定命令,用于控制控制器的行为。

供应商特定事件

BlueNRG-MS提供了一些供应商特定事件,这些事件提供了与控制器相关的数据。许多这些事件是从链路层转发的,并在蓝牙规范的相关部分进行了说明。

示例

待办事项

依赖项

~590KB