You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SiLabs Simplicity Studio V5中修改GATT报告映射特征添加Digitizer descriptor咨询

解决EFR32BG22中添加HID Digitizer Report Map的驱动识别问题

一、正确修改Report Map特征初始值添加Digitizer Descriptor的步骤

1. 按照HID 1.11规范编写Digitizer Report Map段

Digitizer的Report Map必须严格遵循HID规范,不能随意拼接。以下是一个基础的Pen类型Digitizer Report Map示例(可根据需求调整参数):

050D0902A1018502094215002501750195018102
0930150026FF03750A950181020931150026FF03
750A95018102C0

对应的规范解释:

  • 050D:Usage Page(Digitizer)
  • 0902:Usage(Pen)
  • A101:Collection(Application)
  • 8502:Report ID(2,需和后续Report特征对应)
  • 后续定义了Tip Switch、X/Y轴坐标的输入报告格式,最后以C0闭合Collection

将这段Hex代码追加到原有鼠标Report Map的Hex字符串末尾,确保原有鼠标的Report Map结构完整(每个Collection都正确闭合)。

2. 在GATT配置器中更新初始值

  • 打开项目的.sclp文件(GATT Configurator),找到UUID为0x2A4B的「Report Map」特征。
  • 点击「Initial Value」字段,将拼接好的完整Hex字符串填入(不要包含空格或换行)。
  • 核对Report Map的总字节数,确保和输入的Hex长度一致(每两个字符对应一个字节)。

3. 验证Report Map合法性

使用Simplicity Studio内置的HID Descriptor Tool(路径:Tools > Bluetooth > HID Descriptor Tool),将编写的Report Map Hex导入,检查是否有格式错误或规范冲突。

二、Simplicity Studio中的关键配置与排查步骤

1. BLE栈配置调整

打开Bluetooth Stack Configurator,确认以下设置:

  • 启用「HID Service」,并勾选「Multiple Reports」选项(匹配多报告HID示例的基础配置)。
  • 将「Max Mtu Size」设为256,确保能完整传输Report Map数据。
  • 增大「Attribute Database Size」(比如设为2048),避免因新增Report Map导致数据库溢出。

2. GATT配置器的配套设置

  • 不要直接修改.sclp的源代码,必须通过GATT Configurator UI操作,确保工具生成的代码无兼容性问题。
  • 添加Digitizer对应的Report特征:新增UUID为0x2A4D的「HID Report」特征,设置Report ID为之前定义的0x02,并开启「Read」和「Notify」属性。
  • 检查「HID Information」特征(UUID 0x2A4A):设置「Country Code」为0x00(通用),「HID Version」为0x0111(对应HID 1.11规范)。

3. 编译与验证

  • 修改配置后,点击GATT Configurator顶部的「Generate」按钮,确保配置同步到项目代码中。
  • 烧录固件后,用Simplicity Studio的Bluetooth Explorer连接设备,查看GATT数据库:
    • 确认Report Map的内容与编写的一致。
    • 确认Digitizer Report特征已正确添加。
  • 若主机仍报驱动错误,打开主机设备管理器,查看HID设备的错误日志(如错误代码10),针对性排查Report Map的规范问题。

内容的提问来源于stack exchange,提问作者Himani Pathak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:12:02