基于QCA4020 QCLI 的操作(1)“””

BLE
BLE演示主要在演示Qualcomm®BluetopiaTM(蓝牙协议栈)的操作以及如何使用其API。 

InitializeBluetooth
此命令初始化蓝牙协议栈,必须在BLE演示中的任何其他命令之前调用。
此命令将初始化GATT配置文件并注册/配置以下内容
基于GATT的服务:设备信息服务(DIS),通用接入配置文件服务(GAPS)和传输功率服务(TPS)。
如果初始化成功,该命令将打印出蓝牙协议栈的初始化信息。 这包括已初始化的蓝牙协议栈的蓝牙堆栈ID,本地蓝牙地址和蓝牙控制器版本等信息。

ShutdownBluetooth
此命令关闭蓝牙协议Stack.No命令可以在使用此命令后在BLE演示中调用。

QueryVersion
此命令用于查询蓝牙控制器的版本。

SetBLERadio
此命令选择蓝牙协议栈使用的BLE无线电。

SetDiscoverabilityMode
此命令设置本地设备通告时使用的GAP LE可发现性模式。 初始化蓝牙协议栈时,默认GAP LE可发现模式默认设置为“常规可发现”。

SetPairabilityMode
此命令设置将在本地设备通告时使用的GAP LE可用性模式。 初始化蓝牙协议栈时,默认GAP LE Pairability Mode默认设置为“Pairable w / Secure Connections”。
'Pairable w / Secure Connections'也被称为'Pairable w / Extended Events'

ChangePairingParameters
此命令设置配对期间使用的GAP LE配对参数。
初始化蓝牙协议栈时,默认GAP LE I / O功能默认设置为“无输入/输出”。
初始化蓝牙协议栈时,默认情况下,默认GAP LE MITM要求设置为“是”。
初始化蓝牙协议栈时,默认情况下,默认的GAP LE安全连接要求设置为“是”。 要进行安全连接配对,本地和远程设备都必须支持蓝牙4.2,并且GAP LE可用性模式必须设置为“Painrably w / Secure Connections”。

LEPasskeyResponse
如果需要密钥响应,此命令将清除/设置配对期间使用的固定GAP LE密钥。

GetLocalAddress
此命令用于查询本地蓝牙控制器的蓝牙地址。

AdvertiseLE
此命令启用/禁用GAP LE广告。 如果启用了广告,则此命令用于启用未定向或定向广告。
必须将GAP LE Connectability Mode设置为“Direct Connectable”才能使用直接广告。
如果不是这种情况,则此命令将恢复为非直接广告。
如果指定了可选的Direct BD_ADDR并且满足上述定向广告要求,则此命令将启用定向广告。

ScanLE
此命令启用/禁用GAP LE扫描。
如果Filter Policy参数未选择指定过滤策略,则此命令使用“无过滤器”的过滤策略。
如果指定了过滤策略参数,则可以使用该参数根据已添加到蓝牙控制器中的白名单和/或解析列表中的远程设备过滤广告。

ConnectLE
此命令将GAP LE连接请求发送到远程设备。
如果启用了使用白名单参数,则不会使用BD_ADDR和ADDR类型参数。蓝牙控制器中白名单中的远程设备的第一个蓝牙地址将接收连接请求。
如果禁用“使用白名单”参数,则必须使用BD_ADDR和ADDR类型参数来指定将接收连接请求的远程设备。
以下基于GATT的服务:在与远程设备建立连接后,无法注册/取消注册AIOS,BAS,HOGP,SCPS和SPPLE。
 如果连接请求成功,则全局远程设备连接计数将递增,并且所选远程设备将更新为刚刚连接的远程设备。由于用户希望为刚刚连接的远程设备执行命令,因此已实现此行为。一个例子是在连接(如果没有重新建立安全性)之后与远程设备配对的“PairLE”命令或用于发现远程设备支持的基于GATT的服务的“DiscoverServices”命令。
可以使用“SelectRemoteDevice”命令显式更新所选远程设备。

DisconnectLE
此命令断开所选远程设备的连接。
如果连接了远程设备,则所选远程设备将始终设置为当前所选远程设备的地址。
如果断开连接请求成功,则将减少全局远程设备连接计数。 如果仍有远程设备已连接,则所选远程设备将更新为找到的第一个连接的远程设备。 可以使用“SelectRemoteDevice”命令显式更新所选远程设备。

CancelConnectLE
此命令取消已发送到远程设备的未完成连接请求。

DiscoverServices
此命令启动一个进程,以发现所选远程设备上的所有GATT服务。 必须先发现GATT服务,然后才能为服务的特征和描述符发出读/写请求。

PairLE
此命令开始与所选远程设备配对。
默认情况下,长期密钥(LTK)和身份解析密钥(IRK)将在配对期间进行交换。
如果已经交换了IRK,则还交换了身份信息。 这包括身份地址和身份地址类型。 它们存储在远程设备信息中,需要将远程设备添加到蓝牙控制器中的解析列表中。
在当前配对过程成功完成或超时之前,可能无法启动另一个配对过程。

SelectRemoteDevice
此命令将连接的远程设备显式设置为所选的远程设备。 由于可以连接多个远程设备,因此许多BLE命令将该设备用作目标远程设备。
要确定连接的远程设备的GATT连接ID,请执行以下操作:
使用'DisplayRemoteDevices'命令。如果显示的GATT连接ID为零,则表示未连接远程设备(GATT连接ID是唯一的,正的和非零的)。通过GATT连接事件接收GATT连接ID。
如果连接请求成功,则全局远程设备连接计数将递增,并且所选远程设备将更新为刚刚连接的远程设备。
由于用户希望为刚刚连接的远程设备执行命令,因此实现了此行为。一个例子是在连接之后(如果没有重新建立安全性)与“远程设备”配对的“PairLE”命令,或者用于发现远程设备支持的基于GATT的服务的“DiscoverServices”命令。
如果断开请求成功,则递减全局远程设备连接计数。如果仍有远程设备已连接,则所选远程设备将更新为找到的第一个连接的远程设备。

struct qapi_BLE_GAP_LE_Connectability_Parameters_t
表示可以传递到qapi_BLE_GAP_LE_Advertising_Enable()函数的可连接性参数类型的结构。
仅当设置了Connectability_Mode字段时,才使用Direct_Address_Type和Direct_Address字段
到QAPI_BLE_LCM_DIRECT_CONNECTABLE_E或QAPI_BLE_LCM_LOW_DUTY_CYCLE_DIRECT_CONNECTABLE_E。
以下枚举类型可与Own_Address_Type成员一起使用:
• QAPI_BLE_LAT_PUBLIC_E
• QAPI_BLE_LAT_RANDOM_E
• QAPI_BLE_LAT_RESOLVABLE_FALLBACK_PUBLIC_E
• QAPI_BLE_LAT_RESOLVABLE_FALLBACK_PRIVATE_E
最后两种类型(QAPI_BLE_LAT_RESOLVABLE_FALLBACK_XXX)表示控制器应根据控制器解析列表中的本地IRK生成可解析的专用地址。 如果未找到指定设备的本地IRK,则控制器将回退到使用公共地址(QAPI_BLE_LAT_RESOLVABLE_FALLBACK_PUBLIC_E)或使用通过qapi_BLE_GAP_LE_Set_Random_Address()API函数(QAPI_BLE_LAT_RESOLVABLE_FALLBACK_PRIVATE_E)设置的随机地址。
如果使用Own_Address_Type成员指定了QAPI_BLE_LAT_RESOLVABLE_FALLBACK_PUBLIC_E或QAPI_BLE_LAT_RES-OLVABLE_FALLBACK_PRIVATE_E类型中的任何一个,则必须指定Direct_Address_Type和Direct_Address成员,并且必须对应于控制器可用于搜索解析列表的对等方的地址类型和地址。
以下枚举类型可与Direct_Address_Type成员一起使用:
• QAPI_BLE_LAT_PUBLIC_E
• QAPI_BLE_LAT_RANDOM_E
• QAPI_BLE_LAT_PUBLIC_IDENTITY_E
• QAPI_BLE_LAT_RANDOM_IDENTITY_E
QAPI_BLE_LAT_PUBLIC_IDENTITY_E和QAPI_BLE_LAT_RANDOM_IDENTITY_E
指示Direct_Address成员是在成功的LE配对过程中从远程设备(以及远程设备的IRK)接收的身份地址(可用于指代设备的半永久性地址)。
如果本地蓝牙控制器是版本4.0或版本4.1兼容的控制器,对于Own_Address_Type和Direct_Address_Type成员,唯一有效的枚举类型是QAPI_BLE_LAT_PUBLIC_E和QAPI_BLE_LAT_RANDOM_E枚举类型。

struct qapi_BLE_GAP_LE_Advertising_Parameters_t
表示可以传递到qapi_BLE_GAP_LE_Set_Advertising_Enable()函数的广告参数类型的结构。
以下类型不能与以下结构的Scan_Request_Filter和Connect_Request_Filter成员一起使用:
• QAPI_BLE_FP_NO_WHITE_LIST_DIRECTED_RPA_E
• QAPI_BLE_FP_WHITE_LIST_DIRECTED_RPA_E

struct qapi_BLE_GAP_LE_Connection_Parameters_t
表示可以传递到qapi_BLE_GAP_LE_Create_Connection()函数的连接参数类型的结构。
除Slave_Latency之外,此结构的所有成员都以毫秒为单位指定,Slave_Latency由连接事件的数量指定。

struct qapi_BLE_GAP_LE_Current_Connection_Parameters_t
该结构是用于所有LE连接的所有连接参数的容器结构。
除Slave_Latency之外,此结构的所有成员都以毫秒为单位指定,Slave_Latency由连接间隔的数量指定。

struct qapi_BLE_GAP_LE_White_List_Entry_t
表示与此模块中的白名单管理功能一起使用的白名单条目的数据结构的结构。
以下枚举类型可与Address_Type成员一起使用:
•QAPI_BLE_LAT_PUBLIC_E
•QAPI_BLE_LAT_RANDOM_E
•QAPI_BLE_LAT_PUBLIC_IDENTITY_E
•QAPI_BLE_LAT_RANDOM_IDENTITY_E
QAPI_BLE_LAT_PUBLIC_IDENTITY_E和QAPI_BLE_LAT_RANDOM_IDENTITY_E
指示地址成员是在成功的LE配对过程中从远程设备(以及远程设备的IRK)接收的身份地址(可用于指代设备的半永久性地址)。

 

 


版权声明:本文为weixin_42619157原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。