蓝牙HCI指令
1. snoop日志
2.HCI指令
2.1Reset command
描述:
HCI_Reset命令将重置BR/EDR控制器上的控制器和链路管理器、AMP控制器上的PAL或LE控制器上的链路层。如果控制器同时支持BR/EDR和LE,则HCI_Reset命令将重置链路管理器,基带和链路层。HCI_复位命令不应影响所使用的HCI传输层,因为HCI传输层可能有自己的复位机制。复位完成后,当前操作状态将丢失,控制器将进入待机模式,控制器将自动恢复到规范中定义的参数默认值。
注意:HCI_Reset命令不一定执行硬件复位。
在AMP控制器上,HCI_Reset命令应将逻辑HCI处提供的服务重置为其初始状态,但除此之外,对控制器设备的确切影响由实现定义,不应中断提供给其他协议栈的服务。
在接收到与HCI_Reset命令相关的HCI_Command_Complete事件之前,主机不得发送其他HCI命令。
命令参数:
None
返回参数:
生成的事件(除非隐藏):
执行复位后,应生成HCI_Command_Complete事件。
实例:
发送:
2.2返回:
2.2 Read Buffer Size command
描述:
HCI_Read_Buffer_Size命令用于读取从主机发送到控制器的HCI ACL和同步数据包的数据部分的最大大小。主机将根据这些大小对要从主机发送到控制器的数据进行分段,因此HCI数据包将包含具有这些大小的数据。HCI_Read_Buffer_大小命令还返回可以存储在控制器的数据缓冲区中的HCI ACL和同步数据包的总数。主机应在向控制器发送任何数据之前发出HCI_Read_Buffer_Size命令。
对于支持BR/EDR和LE的设备,如果HCI_LE_Read_Buffer_Size命令返回的缓冲区数量为零,则Read_Buffer_Size返回的缓冲区将在BR/EDR和LE之间共享。
在仅支持LE的主控制器上,不应支持HCI_Read_Buffer_Size命令(在这种情况下使用HCI_LE_Read_Buffer_Size命令)。
ACL_Data_Packet_Length返回参数将用于确定ACL数据包中包含的L2CAP段的大小,同步数据包长度返回参数用于确定HCI同步数据包的最大大小。Total_Data_ACL_Data_Length Packets返回参数包含可以存储在控制器的数据缓冲区中的HCI ACL数据包的总数。主机将确定如何在不同的Connection_Handle之间划分缓冲区。Total_Synchronous_Data_数据包返回参数给出了相同的信息,但HCI同步数据包。
注意:ACL_Data_Packet_Length和Synchronous_Data_ Packet_Length返回参数不包括HCI数据包头的长度。