update hid protocol

This commit is contained in:
Steven Dan
2026-03-28 14:11:50 +08:00
parent 7b218d47ac
commit b64f28698f
2 changed files with 71 additions and 12 deletions

View File

@@ -32,6 +32,13 @@
| 0xA4 | SET_SOUND_EFFECT_MODE | 设置音效模式 | 主机→设备 | 设置音效模式0=无音效1=音乐模式2=游戏模式3=AI7.1模式) | | 0xA4 | SET_SOUND_EFFECT_MODE | 设置音效模式 | 主机→设备 | 设置音效模式0=无音效1=音乐模式2=游戏模式3=AI7.1模式) |
| 0xA5 | GET_SOUND_EFFECT_MODE | 获取音效模式 | 主机→设备 | 读取当前音效模式0-3 | | 0xA5 | GET_SOUND_EFFECT_MODE | 获取音效模式 | 主机→设备 | 读取当前音效模式0-3 |
| 0xA6 | GET_FIRMWARE_VERSION | 获取固件版本 | 主机→设备 | 读取设备固件版本号BCD格式主版本.次版本.修订版本) | | 0xA6 | GET_FIRMWARE_VERSION | 获取固件版本 | 主机→设备 | 读取设备固件版本号BCD格式主版本.次版本.修订版本) |
| 0xA7 | FIRMWARE_UPGRADE_START | 开始固件升级 | 主机→设备 |
| 0xA8 | FIRMWARE_UPGRADE_DATA | 传输固件数据块固定57字节 | 主机→设备 |
| 0xA9 | FIRMWARE_UPGRADE_END | 结束固件升级,验证镜像 | 主机→设备 |
| 0xAA | FIRMWARE_UPGRADE_STATUS | 获取升级状态和进度 | 主机→设备 |
| 0xAB | FIRMWARE_UPGRADE_ABORT | 中止固件升级 | 主机→设备 |
| 0xAC | FIRMWARE_UPGRADE_ERASE | 擦除现有升级镜像 | 主机→设备 |
| 0xAE | DEVICE_REBOOT | 设备重启(通用命令) | 主机→设备 |
| 0xB0 | SET_EX3D_CMD | 发送EX3D命令 | 主机→设备 | 发送EX3D设置命令封装所有EX3D SET命令 | | 0xB0 | SET_EX3D_CMD | 发送EX3D命令 | 主机→设备 | 发送EX3D设置命令封装所有EX3D SET命令 |
| 0xB1 | GET_EX3D_CMD | 读取EX3D命令 | 主机→设备 | 读取EX3D参数封装所有EX3D GET命令 | | 0xB1 | GET_EX3D_CMD | 读取EX3D命令 | 主机→设备 | 读取EX3D参数封装所有EX3D GET命令 |
@@ -928,16 +935,6 @@
### 8.1 固件升级命令列表 ### 8.1 固件升级命令列表
| 指令码 | 命令名称 | 功能 | 方向 |
|--------|----------|------|------|
| 0xA7 | FIRMWARE_UPGRADE_START | 开始固件升级 | 主机→设备 |
| 0xA8 | FIRMWARE_UPGRADE_DATA | 传输固件数据块固定57字节 | 主机→设备 |
| 0xA9 | FIRMWARE_UPGRADE_END | 结束固件升级,验证镜像 | 主机→设备 |
| 0xAA | FIRMWARE_UPGRADE_STATUS | 获取升级状态和进度 | 主机→设备 |
| 0xAB | FIRMWARE_UPGRADE_ABORT | 中止固件升级 | 主机→设备 |
| 0xAC | FIRMWARE_UPGRADE_ERASE | 擦除现有升级镜像 | 主机→设备 |
| 0xAE | DEVICE_REBOOT | 设备重启(通用命令) | 主机→设备 |
### 8.2 0xA7 - FIRMWARE_UPGRADE_START ### 8.2 0xA7 - FIRMWARE_UPGRADE_START
**请求**: **请求**:

View File

@@ -11,6 +11,8 @@
| 0x82 | SET_MIC_VOLUME | 设置麦克风增益级别 | 主机→设备 | 设置麦克风PGA增益0=静音, 1-37=0dB~36dB, 1dB/步) | | 0x82 | SET_MIC_VOLUME | 设置麦克风增益级别 | 主机→设备 | 设置麦克风PGA增益0=静音, 1-37=0dB~36dB, 1dB/步) |
| 0x83 | GET_MIC_VOLUME | 获取麦克风增益级别 | 主机→设备 | 读取当前麦克风PGA增益级别0=静音, 1-37=0dB~36dB | | 0x83 | GET_MIC_VOLUME | 获取麦克风增益级别 | 主机→设备 | 读取当前麦克风PGA增益级别0=静音, 1-37=0dB~36dB |
| 0x84 | FACTORY_RESET | 恢复出厂默认设置 | 主机→设备 | 删除Flash中所有已保存参数设备重启后自动恢复出厂默认值 | | 0x84 | FACTORY_RESET | 恢复出厂默认设置 | 主机→设备 | 删除Flash中所有已保存参数设备重启后自动恢复出厂默认值 |
| 0x85 | SET_AI_NOISE_STRENGTH | 设置AI降噪强度 | 主机→设备 | 设置AI降噪强度0=关闭2-100偶数=强度级别步进2100对应最强-200dB |
| 0x86 | GET_AI_NOISE_STRENGTH | 获取AI降噪强度 | 主机→设备 | 读取当前AI降噪强度强度变化含按键切换、开机初始值时设备主动上报 |
| 0x87 | SET_MONITOR_SWITCH | 设置耳返开关 | 主机→设备 | 设置耳返ADC→耳机监听开关0=关闭1=开启保存到Flash | | 0x87 | SET_MONITOR_SWITCH | 设置耳返开关 | 主机→设备 | 设置耳返ADC→耳机监听开关0=关闭1=开启保存到Flash |
| 0x88 | GET_MONITOR_SWITCH | 获取耳返开关状态 | 主机→设备 | 读取当前耳返开关状态0=关闭1=开启) | | 0x88 | GET_MONITOR_SWITCH | 获取耳返开关状态 | 主机→设备 | 读取当前耳返开关状态0=关闭1=开启) |
| 0x8A | SET_EQ_MODE | 切换EQ模式 | 主机→设备 | 切换EQ模式 | | 0x8A | SET_EQ_MODE | 切换EQ模式 | 主机→设备 | 切换EQ模式 |
@@ -149,7 +151,66 @@
- 重启后所有参数将恢复为出厂默认值 - 重启后所有参数将恢复为出厂默认值
- 此操作不可撤销 - 此操作不可撤销
### 2.0d 0x87 - SET_MONITOR_SWITCH (设置耳返开关) ### 2.0d 0x85 - SET_AI_NOISE_STRENGTH (设置AI降噪强度)
**功能**: 设置AI降噪强度级别
**方向**: 主机→设备
**数据包格式**:
```
字节位置 | 长度 | 内容 | 描述
---------|------|------|------
0 | 1 | 0x77 | 同步头1
1 | 1 | 0x85 | 命令码
2 | 1 | uint8 | 强度值 (0=关闭, 2/4/.../100=强度级别, 步进2)
3-62 | 60 | 0x00 | 保留字节
```
**参数说明**:
- **强度值范围**: 0、2、4、6、…、100共51个有效值
- **0**: 关闭AI降噪
- **2-100步进2**: 开启AI降噪强度递增内部dB映射`dB = -(strength × 2)`
- 2 → -4 dB最轻微降噪
- 50 → -100 dB
- 100 → -200 dB最强降噪出厂默认
- **奇数或 >100** 为无效值,固件将拒绝(返回无响应)
**设备端处理**:
- 强度=0关闭AI降噪算法熄灭LED_ANCflag_aidenoise_onoff=0
- 强度=2-100开启AI降噪算法点亮LED_ANCflag_aidenoise_onoff=1更新内部降噪深度
- 设置成功后设备主动上报当前强度0x86格式
- **不保存到Flash**重启后AI降噪恢复为开启强度=100即-200dB最强
**返回值**:
无直接返回设置成功后设备通过0x86格式主动上报当前强度值。
### 2.0e 0x86 - GET_AI_NOISE_STRENGTH (获取AI降噪强度)
**功能**: 读取设备当前AI降噪强度强度变化时设备主动上报
**方向**: 主机→设备(请求),设备→主机(响应/主动上报)
**请求数据包格式**:
```
字节位置 | 长度 | 内容 | 描述
---------|------|------|------
0 | 1 | 0x77 | 同步头1
1 | 1 | 0x86 | 命令码
2-62 | 61 | 0x00 | 保留字节
```
**响应数据包格式**(含主动上报):
```
字节位置 | 长度 | 内容 | 描述
---------|------|------|------
0 | 1 | 0x01 | Report ID
1 | 1 | 0x77 | 同步头1
2 | 1 | 0x86 | 同步头2
3 | 1 | uint8 | 当前强度值 (0=关闭, 2-100=强度级别)
4-62 | 59 | 0x00 | 保留字节
```
**主动上报说明**:
- **开机时**:设备初始化完成后主动上报当前强度(出厂默认=100
- **按键切换**用户按下AI降噪按键时设备主动上报新强度关闭时上报0开启时上报恢复的强度
- **HID SET_AI_NOISE_STRENGTH0x85命令成功执行后**,设备主动上报新强度
### 2.0f 0x87 - SET_MONITOR_SWITCH (设置耳返开关)
**功能**: 设置耳返ADC→耳机监听开关控制是否将麦克风输入实时路由到耳机输出 **功能**: 设置耳返ADC→耳机监听开关控制是否将麦克风输入实时路由到耳机输出
**方向**: 主机→设备 **方向**: 主机→设备
**数据包格式**: **数据包格式**:
@@ -172,6 +233,7 @@
- 若麦克风当前处于静音状态则无论耳返开关为何值reg 0x0035保持0x0000 - 若麦克风当前处于静音状态则无论耳返开关为何值reg 0x0035保持0x0000
- 保存到Flash`monitor_sw`路径),断电重启后自动恢复 - 保存到Flash`monitor_sw`路径),断电重启后自动恢复
- 设置成功后用0x88格式响应当前状态 - 设置成功后用0x88格式响应当前状态
- 出厂默认关闭0
**返回值**: **返回值**:
设置成功后设备回复0x88格式响应。 设置成功后设备回复0x88格式响应。
@@ -187,7 +249,7 @@
4-62 | 59 | 0x00 | 保留字节 4-62 | 59 | 0x00 | 保留字节
``` ```
### 2.0e 0x88 - GET_MONITOR_SWITCH (获取耳返开关状态) ### 2.0g 0x88 - GET_MONITOR_SWITCH (获取耳返开关状态)
**功能**: 读取当前耳返开关状态 **功能**: 读取当前耳返开关状态
**方向**: 主机→设备(请求),设备→主机(响应) **方向**: 主机→设备(请求),设备→主机(响应)
**请求数据包格式**: **请求数据包格式**: