hci.h
//分配内存,应用程序不应该调用这个函数.
void *HCI_bm_alloc( uint16 size );
//检查连接时间参数和连接时间参数的组合是否有效
uint8 HCI_ValidConnTimeParams( uint16 connIntervalMin,
uint16 connIntervalMax,
uint16 connLatency,
uint16 connTimeout );
//HCI vendor specific registration for HCI Test Application
void HCI_TestAppTaskRegister( uint8 taskID );
// HCI vendor specific registration for Host GAP.
void HCI_GAPTaskRegister( uint8 taskID );
//HCI vendor specific registration for Host L2CAP.
void HCI_L2CAPTaskRegister( uint8 taskID );
//HCI vendor specific registration for Host SMP.
void HCI_SMPTaskRegister( uint8 taskID );
// HCI vendor specific registration for Host extended commands.
void HCI_ExtTaskRegister( uint8 taskID );
//发送一个ACL数据包
hciStatus_t HCI_SendDataPkt( uint16 connHandle,
uint8 pbFlag,
uint16 pktLen,
uint8 *pData );
//中断连接
hciStatus_t HCI_DisconnectCmd( uint16 connHandle,
uint8 reason );
//请求得到版本信息
hciStatus_t HCI_ReadRemoteVersionInfoCmd( uint16 connHandle );
//设置消息蒙版,确定支持哪些消息
hciStatus_t HCI_SetEventMaskCmd( uint8 *pMask );
//重置连接层
hciStatus_t HCI_ResetCmd( void );
//读取发射功率
hciStatus_t HCI_ReadTransmitPowerLevelCmd( uint16 connHandle,
uint8 txPwrType );
//主机用来开关流量控制(控制器法向主机的)
hciStatus_t HCI_SetControllerToHostFlowCtrlCmd( uint8 flowControlEnable );
//This BT API is used by the Host to notify the Controller of the maximum size ACL buffer size the Controller can send to the Host.
hciStatus_t HCI_HostBufferSizeCmd( uint16 hostAclPktLen,
uint8 hostSyncPktLen,
uint16 hostTotalNumAclPkts,
uint16 hostTotalNumSyncPkts );
//This BT API is used by the Host to notify the Controller of the number of HCI data packets that have been completed for each connection handle since this command was previously sent to the controller.
hciStatus_t HCI_HostNumCompletedPktCmd( uint8 numHandles,
uint16 *connHandles,
uint16 *numCompletedPkts );
//读取本地版本信息
hciStatus_t HCI_ReadLocalVersionInfoCmd( void );
//读取本地支持的命令
hciStatus_t HCI_ReadLocalSupportedCommandsCmd( void );
//读取本地支持的特性
hciStatus_t HCI_ReadLocalSupportedFeaturesCmd( void );
//读取设备的BLE地址
hciStatus_t HCI_ReadBDADDRCmd( void );
//读取最后一个包的RSSI
hciStatus_t HCI_ReadRssiCmd( uint16 connHandle );
//设置HCI LE时间蒙版,确定支持哪些事件
hciStatus_t HCI_LE_SetEventMaskCmd( uint8 *pEventMask );
//取得最大ACL数据包大小
hciStatus_t HCI_LE_ReadBufSizeCmd( void );
//取得本地支持的特性
hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd( void );
//设置设别随机地址
hciStatus_t HCI_LE_SetRandomAddressCmd( uint8 *pRandAddr );
//设置广播参数
hciStatus_t HCI_LE_SetAdvParamCmd( uint16 advIntervalMin,
uint16 advIntervalMax,
uint8 advType,
uint8 ownAddrType,
uint8 directAddrType,
uint8 *directAddr,
uint8 advChannelMap,
uint8 advFilterPolicy );
//设置广播数据
hciStatus_t HCI_LE_SetAdvDataCmd( uint8 dataLen,
uint8 *pData );
//设置广播搜索响应数据
hciStatus_t HCI_LE_SetScanRspDataCmd( uint8 dataLen,
uint8 *pData );
//开关广播
hciStatus_t HCI_LE_SetAdvEnableCmd( uint8 advEnable );
//读取广播时的发射功率
hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd( void );
//设置搜索参数
hciStatus_t HCI_LE_SetScanParamCmd( uint8 scanType,
uint16 scanInterval,
uint16 scanWindow,
uint8 ownAddrType,
uint8 filterPolicy );
//开关搜索
hciStatus_t HCI_LE_SetScanEnableCmd( uint8 scanEnable,
uint8 filterDuplicates );
//建立连接
hciStatus_t HCI_LE_CreateConnCmd( uint16 scanInterval,
uint16 scanWindow,
uint8 initFilterPolicy,
uint8 addrTypePeer,
uint8 *peerAddr,
uint8 ownAddrType,
uint16 connIntervalMin,
uint16 connIntervalMax,
uint16 connLatency,
uint16 connTimeout,
uint16 minLen,
uint16 maxLen );
//取消创建连接
hciStatus_t HCI_LE_CreateConnCancelCmd( void );
//读取白名单
hciStatus_t HCI_LE_ReadWhiteListSizeCmd( void );
//清除白名单
hciStatus_t HCI_LE_ClearWhiteListCmd( void );
//添加一条白名单
hciStatus_t HCI_LE_AddWhiteListCmd( uint8 addrType,
uint8 *devAddr );
//移除一条白名单
hciStatus_t