BLE
此模块包含用于 BLE 主机通信的平台抽象。
摘要
平台需要实现蓝牙 LE 4.2 或更高版本。
类型定义符 |
|
---|---|
otBleRadioPacket
|
typedefstruct otBleRadioPacket
表示 BLE 数据包。 |
函数 |
|
---|---|
otPlatBleDisable(otInstance *aInstance)
|
禁用蓝牙低功耗无线电。
|
otPlatBleEnable(otInstance *aInstance)
|
启用蓝牙低功耗无线电。
|
otPlatBleGapAdvStart(otInstance *aInstance, uint16_t aInterval)
|
启动 BLE 通告程序。
|
otPlatBleGapAdvStop(otInstance *aInstance)
|
停止 BLE 通告程序。
|
otPlatBleGapDisconnect(otInstance *aInstance)
|
断开 BLE 连接。
|
otPlatBleGapOnConnected(otInstance *aInstance, uint16_t aConnectionId)
|
void
BLE 驱动程序调用此方法来通知 OpenThread 已连接 BLE 中央设备。
|
otPlatBleGapOnDisconnected(otInstance *aInstance, uint16_t aConnectionId)
|
void
BLE 驱动程序调用此方法来通知 OpenThread,其 BLE 中央设备已断开连接。
|
otPlatBleGattMtuGet(otInstance *aInstance, uint16_t *aMtu)
|
读取操作目前使用 ATT_MTU 值。
|
otPlatBleGattOnMtuUpdate(otInstance *aInstance, uint16_t aMtu)
|
void
BLE 驱动程序会调用此方法,以通知 OpenThread 已更新 ATT_MTU。
|
otPlatBleGattServerIndicate(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
|
发送 ATT 句柄值指示。
|
otPlatBleGattServerOnWriteRequest(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
|
void
BLE 驱动程序会调用此方法,以通知 OpenThread 已收到 ATT 写入请求数据包。
|
结构体 |
|
---|---|
otBleRadioPacket |
表示 BLE 数据包。 |
类型定义符
函数
otPlatBleDisable
otError otPlatBleDisable( otInstance *aInstance )
禁用蓝牙低功耗无线电。
停用后,BLE 堆栈将刷新事件队列,并且不会生成新事件。BLE 外围设备已关闭或进入低功耗休眠状态。堆栈使用的任何动态内存都应释放,但静态内存可以保留。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otPlatBleEnable
otError otPlatBleEnable( otInstance *aInstance )
启用蓝牙低功耗无线电。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otPlatBleGapAdvStart
otError otPlatBleGapAdvStart( otInstance *aInstance, uint16_t aInterval )
启动 BLE 通告程序。
BLE 设备应使用未应用过滤器的无定向通告。必须在所有广告通道(37、38 和 39)上发送一个 BLE 通告包。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otPlatBleGapAdvStop
otError otPlatBleGapAdvStop( otInstance *aInstance )
停止 BLE 通告程序。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otPlatBleGapDisconnect
otError otPlatBleGapDisconnect( otInstance *aInstance )
断开 BLE 连接。
在与对等 BLE 设备断开连接时,BLE 设备应使用远程用户终止连接 (0x13) 原因代码。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otPlatBleGapOnConnected
void otPlatBleGapOnConnected( otInstance *aInstance, uint16_t aConnectionId )
BLE 驱动程序调用此方法来通知 OpenThread 已连接 BLE 中央设备。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otPlatBleGapOnDisconnected
void otPlatBleGapOnDisconnected( otInstance *aInstance, uint16_t aConnectionId )
BLE 驱动程序调用此方法来通知 OpenThread,其 BLE 中央设备已断开连接。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otPlatBleGattMtuGet
otError otPlatBleGattMtuGet( otInstance *aInstance, uint16_t *aMtu )
读取操作目前使用 ATT_MTU 值。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otPlatBleGattOnMtuUpdate
void otPlatBleGattOnMtuUpdate( otInstance *aInstance, uint16_t aMtu )
BLE 驱动程序会调用此方法,以通知 OpenThread 已更新 ATT_MTU。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otPlatBleGattServerIndicate
otError otPlatBleGattServerIndicate( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket )
发送 ATT 句柄值指示。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otPlatBleGattServerOnWriteRequest
void otPlatBleGattServerOnWriteRequest( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket )
BLE 驱动程序会调用此方法,以通知 OpenThread 已收到 ATT 写入请求数据包。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
宏
OT_BLE_ADV_INTERVAL_DEFAULT
OT_BLE_ADV_INTERVAL_DEFAULT 100
通告包的默认时间间隔(毫秒)。
OT_BLE_ADV_INTERVAL_MAX
OT_BLE_ADV_INTERVAL_MAX 0x4000
允许通告包的最长间隔时间,以 OT_BLE_ADV_INTERVAL_UNIT 为单位(10.24 秒)。
OT_BLE_ADV_INTERVAL_MIN
OT_BLE_ADV_INTERVAL_MIN 0x0020
允许通告包的最小间隔,以 OT_BLE_ADV_INTERVAL_UNIT 为单位(20 毫秒)。
OT_BLE_ADV_INTERVAL_UNIT
OT_BLE_ADV_INTERVAL_UNIT OT_BLE_TIMESLOT_UNIT
用于计算间隔时长的单位(0.625 毫秒)。
OT_BLE_ATT_MTU_MAX
OT_BLE_ATT_MTU_MAX 67
允许的 ATT MTU 大小上限(必须大于等于 23)。
OT_BLE_DEFAULT_POWER
OT_BLE_DEFAULT_POWER 0
BLE 的默认功率值。
OT_BLE_TIMESLOT_UNIT
OT_BLE_TIMESLOT_UNIT 625
PHY 层上的时段时长,以微秒为单位(0.625 毫秒)。
资源
OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源。