说明
ConnectLE 命令负责连接到 LE 设备。如果成功,此命令将返回零;如果发生错误,则返回负值。此命令使用 ConnectLEDevice (BluetoothStackID, BD_ADDR, FALSE) 调用 ConnectLEDevice (unsigned in BluetoothStackID, BD_ADDR_t BD_ADDR, Boolean_t UseWhiteList) 函数。
参数
唯一需要的参数是远程设备的蓝牙地址。如果在扫描期间广播设备位于附近,则可以使用 StartScanning 命令轻松找到该地址。
命令调用示例
- “ConnectLE 001bdc05b617”尝试向 BD_ADDR 为 001bdc05b617 的蓝牙设备发送连接请求。
- “ConnectLE 000275e126FF”尝试向 BD_ADDR 为 000275e126FF 的蓝牙设备发送连接请求。
可能的返回值
- (0) 成功设置可配对性模式
- (-4) FUNCTION_ERROR
- (-6) INVALID_PARAMETERS_ERROR
- (-8) INVALID_STACK_ID_ERROR
- (-116) BTPS_ERROR_RANDOM_ADDRESS_IN_USE
- (-111) BTPS_ERROR_CREATE_CONNECTION_OUTSTANDING
- (-66) BTPS_ERROR_INSUFFICIENT_RESOURCES
- (-2) BTPS_ERROR_INVALID_BLUETOOTH_STACK_ID
- (-1) BTPS_ERROR_INVALID_PARAMETER
- (-56) BTPS_ERROR_GAP_NOT_INITIALIZED
- (-104) BTPS_ERROR_LOCAL_CONTROLLER_DOES_NOT_SUPPORT_LE
- (-57) BTPS_ERROR_DEVICE_HCI_ERROR
- GAP_LE_ERROR_WHITE_LIST_IN_USE
API 调用
- GAP_LE_Create_Connection(BluetoothStackID, 100, 100, Result?fpNoFilter:fpWhiteList, latPublic, Result?&BD_ADDR:NULL, latPublic, &ConnectionParameters,GAP_LE_Event_Callback, 0)
- GAP_LE_Remove_Device_From_White_List(BluetoothStackID, 1, &WhiteListEntry, &WhiteListChanged)
- GAP_LE_Add_Device_To_White_List(BluetoothStackID, 1, &WhiteListEntry, &WhiteListChanged)
注: 通常可以忽略这两个 API,除非在对 ConnectLEDevice 的调用中启用了白名单。
API 原型
- int BTPSAPI GAP_LE_Create_Connection(unsigned int BluetoothStackID, unsigned int ScanInterval, unsigned int ScanWindow, GAP_LE_Filter_Policy_t InitatorFilterPolicy,GAP_LE_Address_Type_t RemoteAddressType, BD_ADDR_t *RemoteDevice, GAP_LE_Address_Type_t LocalAddressType, GAP_LE_Connection_Parameters_t*ConnectionParameters, GAP_LE_Event_Callback_t GAP_LE_Event_Callback, unsigned long CallbackParameter)
- int BTPSAPI GAP_LE_Remove_Device_From_White_List( unsigned int BluetoothStackID, unsigned int DeviceCount, GAP_LE_White_List_Entry_t *WhiteListEntries, unsigned int*RemovedDeviceCount)
- int BTPSAPI GAP_LE_Add_Device_To_White_List(unsigned int BluetoothStackID, unsigned int DeviceCount, GAP_LE_White_List_Entry_t *WhiteListEntries, unsigned int*AddedDeviceCount)
API 说明
提供的 GAP_LE_Create_Connection 函数使本地主机能够使用低功耗蓝牙无线电创建与远程设备的连接。连接过程本质上是异步的,当连接完成时,将通过 GAP LE 事件回调函数(在目前讨论的这个函数中指定)通知调用方。如果成功,此函数返回零;如果出现错误情况,则返回负的错误代码。提供的 GAP_LE_Remove_Device_From_White_List 函数使本地主机能够从本地设备维护的白名单中删除一个(或多个)设备。此函数尝试(从指定的列表中)删除尽可能多的设备,并返回已删除的设备数量。GAP_LE_Read_White_List_Size 函数可用于确定本地设备在白名单中(同时)支持多少设备。