当前位置: 首页 > article >正文

【0x005B】HCI_Write_Default_Erroneous_Data_Reporting命令详解

目录

一、命令概述

二、命令格式及参数

2.1. HCI_Write_Default_Erroneous_Data_Reporting命令格式

2.2. Erroneous_Data_Reporting

三、生成事件及参数

3.1. HCI_Command_Complete事件

3.2. 状态码(Status) 

四、命令执行流程

4.1. 命令发起阶段(主机端)

4.2. 命令接收与验证阶段(控制器端)

4.3. 命令执行阶段(控制器端)

4.4. 返回结果阶段

4.5. 主机处理响应阶段

4.6. 示例代码

五、命令使用场景

5.1. 蓝牙音频传输场景

5.2. 蓝牙文件传输场景

5.3. 蓝牙设备固件更新场景

六、注意事项

6.1. 参数范围与限制

6.2. 命令执行与结果检查

6.3. 对通信与功耗的影响

6.4. 设备兼容性与规范遵循

6.5. 其他注意事项


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)的返回部分


http://www.kler.cn/a/503205.html

相关文章:

  • MMDetection框架下的常见目标检测与分割模型综述与实践指南
  • Ubuntu上,ffmpeg如何使用cuda硬件解码、编码、转码加速
  • 【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集
  • <论文>时序大模型如何应用于金融领域?
  • 力扣经典练习题之70.爬楼梯
  • React Fiber框架中的Render渲染阶段——workLoop(performUnitOfWork【beginWork与completeWork】)
  • 【Pandas】pandas Series radd
  • 基于Springboot + vue实现的文档管理系统
  • flutter 装饰类【BoxDecoration】
  • 上传自己的镜像到docker hub详细教程
  • 浅谈云计算06 | 云管理系统架构
  • 论文阅读:《Whole-animal connectomes of both Caenorhabditis elegans sexes》
  • 7.STM32F407ZGT6-RTC
  • 施耐德M241与MR20-MT-1616的组态过程
  • python-leetcode-矩阵置零
  • 当自动包布机遇上Profinet转ModbusTCP网关,“妙啊”,工业智能“前景无限
  • SpiderFlow平台v0.5.0之引入selenium插件
  • linux 文件权限设置详解
  • 一些实用的工具
  • Termora跨平台 SSH/SFTP/Terminal 客户端工具
  • 如何给即将满的 C 盘添加磁盘空间
  • 《AI发展的双重困境:技术扩展性与用户体验的矛盾,以及AGI理想与现实的差距》
  • 重新定义数据分析:LLM如何让人专注真正的思考
  • YOLOv11 GPU环境搭建与问题分析
  • Vim复制当前文件的全路径到系统剪贴板
  • 【安全帽头盔检测】基于YOLOV11+pytorch+Flask+SpringBoot+Vue+MySQL的安全帽头盔检测识别系统