【0x005B】HCI_Write_Default_Erroneous_Data_Reporting命令详解
目录
2.1. HCI_Write_Default_Erroneous_Data_Reporting命令格式
HCI_Write_Default_Erroneous_Data_Reporting
命令允许主机(Host)设置蓝牙BR/EDR(Basic Rate/Enhanced Data Rate)控制器在接收到错误数据时的报告行为。这个设置决定了控制器是否会在HCI数据包的状态标志中反映数据包的错误状态。
一、命令概述
当执行此命令时,蓝牙BR/EDR控制器会根据Erroneous_Data_Reporting
参数的值来决定是否在同步数据包的Packet_Status_Flag
中设置错误状态。这个设置不会影响已经存在的同步连接,仅对命令执行后新建立的连接有效。
- 如果Erroneous_Data_Reporting参数被设置为启用错误数据报告,那么当控制器接收到错误数据包时,它会在相应的HCI数据包的状态标志中设置Packet_Status_Flag,以指示数据包存在错误。
- 如果Erroneous_Data_Reporting参数被设置为禁用错误数据报告,那么即使控制器接收到错误数据包,它也不会在HCI数据包的状态标志中反映这一错误状态。
二、命令格式及参数
2.1. HCI_Write_Default_Erroneous_Data_Reporting
命令格式
HCI_Write_Default_Erroneous_Data_Reporting
命令遵循蓝牙核心规范中定义的HCI命令结构。
通常包括命令操作码(Opcode)、参数长度(Parameter Length)和参数(Parameters)三部分。
- 命令操作码(Opcode):
- OGF(操作码组字段):通常为0x03,表示这是HCI Control and Baseband commands的一部分。
- OCF(操作码命令字段):对于HCI_Write_Default_Erroneous_Data_Reporting命令,OCF为0x005B。
- 参数长度(Parameter Length):表示随后参数部分的字节数。对于此命令,参数长度通常为1个字节。
- 参数(Parameters):即要设置的Erroneous_Data_Reporting参数值。这个值决定了控制器的错误数据报告行为。
2.2. Erroneous_Data_Reporting
Erroneous_Data_Reporting参数用于指定当数据包出现错误时,蓝牙控制器是否应该在HC数据包的状态标志中设置Packet_Status_Flag
。这个参数的值决定了控制器的行为。
- 0x00:错误数据报告禁用(默认)。当设置为这个值时,蓝牙控制器在接收到错误数据包时,会在HCI数据包的状态标志中设置相应的错误状态。允许主机检测到这些错误数据包,并可以采取适当的行动,如重传、记录日志或通知用户。
- 0x01:错误数据报告启用。当设置为这个值时,蓝牙控制器在接收到错误数据包时,不会在HCI数据包的状态标志中设置错误状态。意味着主机不会收到关于这些错误数据包的通知。
- All other values Reserved for future use:除了0x00和0x01之外的所有值都保留给蓝牙核心规范的未来版本使用。
三、生成事件及参数
3.1. HCI_Command_Complete
事件
当HCI_Write_Default_Erroneous_Data_Reporting
命令执行完毕后,蓝牙控制器会生成一个HCI_Command_Complete
事件(除非该事件被屏蔽)。这个事件是HCI通信协议的一部分,用于通知主机命令已成功执行、遇到错误或需要进一步的响应。
-
事件代码:
HCI_Command_Complete
事件有一个固定的事件代码,用于标识它是一个命令完成事件。 -
参数长度:指定了随后参数部分的字节数。对于
HCI_Command_Complete
事件,参数长度通常包括状态码、命令操作码(Opcode)的返回部分
原文地址:https://blog.csdn.net/weixin_37800531/article/details/145081240
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!