update
update
This commit is contained in:
@@ -51,6 +51,15 @@ search:
|
||||
- 同步头 0x77 固定在第 1 字节(第 0 字节为 Report ID = 0x01)
|
||||
- 建议命令间隔5ms以上,避免设备处理不及时
|
||||
|
||||
### 1.4 数据包结构
|
||||
|
||||
!!! note "64字节数据包约定"
|
||||
- PC发送与设备响应均使用固定长度 64 字节
|
||||
- 第0字节固定为 `report_id = 0x01`
|
||||
- 第1字节固定为 `sync_header = 0x77`
|
||||
- 第2字节为 `cmd_header`(命令头)
|
||||
- 其余未使用字节填充 0
|
||||
|
||||
## 二、协议命令集 :material-code-tags:
|
||||
|
||||
### 2.1 命令分类概览
|
||||
@@ -71,6 +80,28 @@ search:
|
||||
| 0x8E | GET_EQ_PARAMS | 读取单个滤波器的参数 | PC ↔ 设备 |
|
||||
| 0x8F | GET_DEVICE_INFO | 获取设备基础信息(PID/VID/SN) | PC ↔ 设备 |
|
||||
| 0x90 | RESET_EQ_PARAMS | 复位 EQ 参数(恢复预设) | PC ↔ 设备 |
|
||||
| 0x91 | GET_EQ_MODE_COUNT | 获取 EQ 模式数量信息 | PC ↔ 设备 |
|
||||
| 0x92 | SET_AND_SAVE_EQ_MODE | 设置并保存 EQ 模式 | PC ↔ 设备 |
|
||||
| 0x93 | SET_VOLUME | 设置设备音量级别 | PC → 设备 |
|
||||
| 0x94 | GET_VOLUME | 获取设备音量级别 | PC ↔ 设备 |
|
||||
| 0x95 | GET_LED_INFO | 获取 LED 信息(索引与名称) | PC ↔ 设备 |
|
||||
| 0x96 | SET_LED_SWITCH | 设置 LED 开关 | PC ↔ 设备 |
|
||||
| 0x97 | GET_LED_SWITCH | 获取 LED 开关状态 | PC ↔ 设备 |
|
||||
| 0x98 | GET_LED_STATUS | 获取 LED 状态(RGB/显示状态) | PC ↔ 设备 |
|
||||
| 0x99 | GET_LED_COUNT | 获取 LED 总数 | PC ↔ 设备 |
|
||||
| 0x9A | GET_UAC_MODE_INFO | 获取 UAC 模式信息(数量与名称) | PC ↔ 设备 |
|
||||
| 0x9B | SET_UAC_MODE | 设置 UAC 模式 | PC → 设备 |
|
||||
| 0x9C | GET_CURRENT_UAC_MODE | 获取当前 UAC 模式 | PC ↔ 设备 |
|
||||
| 0x9D | SET_EQ_ENABLE | 设置 EQ 使能开关 | PC ↔ 设备 |
|
||||
| 0x9E | GET_EQ_ENABLE | 获取 EQ 使能开关 | PC ↔ 设备 |
|
||||
| 0x9F | GET_SAMPLE_FORMAT | 获取采样率与格式 | PC ↔ 设备 |
|
||||
| 0xA0 | SET_GAIN_MODE | 设置增益模式 | PC → 设备 |
|
||||
| 0xA1 | GET_GAIN_MODE | 获取增益模式 | PC ↔ 设备 |
|
||||
| 0xA2 | SET_FILTER_MODE | 设置滤波器模式 | PC → 设备 |
|
||||
| 0xA3 | GET_FILTER_MODE | 获取滤波器模式 | PC ↔ 设备 |
|
||||
| 0xA4 | SET_GAME_MODE | 设置游戏模式 | PC → 设备 |
|
||||
| 0xA5 | GET_GAME_MODE | 获取游戏模式 | PC ↔ 设备 |
|
||||
| 0xA6 | GET_FIRMWARE_VERSION | 获取固件版本号 | PC ↔ 设备 |
|
||||
|
||||
### 2.2 详细命令格式
|
||||
|
||||
@@ -85,7 +116,7 @@ search:
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x8A |
|
||||
| 3 | 1 | mode | 模式值(0-5: 预设, 6-8: 用户, 9: Bypass) |
|
||||
| 3 | 1 | mode | 模式值(0-6 为预设模式,7-9 为用户模式) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.2 获取当前 EQ 模式信息(0x8B)
|
||||
@@ -99,7 +130,8 @@ search:
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x8B |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
| 3 | 1 | mode | 模式值(0-9: 指定模式;0xFF: 获取当前模式信息) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
@@ -113,6 +145,11 @@ search:
|
||||
| 8-23 | 16 | name | 模式名称(UTF-8 字符串) |
|
||||
| 24-63 | 40 | reserved | 保留字段(填充0) |
|
||||
|
||||
**使用说明**:
|
||||
|
||||
- 发送 `mode = 0xFF` 时,返回当前激活的 EQ 模式信息
|
||||
- 发送 `mode = 0-9` 时,返回指定模式的增益与名称(不切换当前模式)
|
||||
|
||||
#### 2.2.3 设置模式整体增益和名称(0x8C)
|
||||
|
||||
**功能说明**: 设置目标模式的整体增益和名称
|
||||
@@ -248,7 +285,517 @@ search:
|
||||
| 3 | 1 | status | 状态码(0x00=成功, 0x01=失败) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
|
||||
#### 2.2.8 获取 EQ 模式数量信息(0x91)
|
||||
|
||||
**功能说明**: 获取 EQ 模式总数与预定义模式数量(不包含禁用模式)
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x91 |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x91(回显) |
|
||||
| 3 | 1 | total | 模式总数(示例:包含 0-9 共 10 个模式) |
|
||||
| 4 | 1 | preset_total | 预定义模式数量(示例:包含 0-6 共 7 个预设模式) |
|
||||
| 5-63 | 59 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.9 设置并保存 EQ 模式(0x92)
|
||||
|
||||
**功能说明**: 设置当前 EQ 模式并保存到 Flash,开机时自动恢复
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x92 |
|
||||
| 3 | 1 | mode | 模式值(文档示例:0-9;0-6预设,7-9用户) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x92(回显) |
|
||||
| 3 | 1 | status | 状态码(0x00=成功, 0x01=失败) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.10 设置音量级别(0x93)
|
||||
|
||||
**功能说明**: 设置设备输出音量级别
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x93 |
|
||||
| 3 | 1 | volume | 音量级别(0-60) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
**参数说明**:
|
||||
|
||||
- 音量级别范围:0-60(共61级)
|
||||
- 0:最小音量(约 -127.5dB)
|
||||
- 60:最大音量(0dB)
|
||||
|
||||
#### 2.2.11 获取音量级别(0x94)
|
||||
|
||||
**功能说明**: 读取设备当前音量级别
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x94 |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x94(回显) |
|
||||
| 3 | 1 | volume | 当前音量级别(0-60) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.12 获取 LED 信息(0x95)
|
||||
|
||||
**功能说明**: 读取 LED 索引与 LED 名称
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x95 |
|
||||
| 3 | 1 | led_index | LED 索引(0-7) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x95(回显) |
|
||||
| 3 | 1 | led_index | LED 索引(0-7) |
|
||||
| 4-19 | 16 | led_name | LED 名称(UTF-8 字符串) |
|
||||
| 20-63 | 44 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.13 设置 LED 开关(0x96)
|
||||
|
||||
**功能说明**: 设置 LED 开关状态
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x96 |
|
||||
| 3 | 1 | led_index | LED 索引(0-7) |
|
||||
| 4 | 1 | onoff | LED 开关(0=OFF, 1=ON) |
|
||||
| 5-63 | 59 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x96(回显) |
|
||||
| 3 | 1 | status | 状态码(0x00=成功, 0x01=失败) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.14 获取 LED 开关状态(0x97)
|
||||
|
||||
**功能说明**: 读取 LED 开关状态
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x97 |
|
||||
| 3 | 1 | led_index | LED 索引(0-7) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x97(回显) |
|
||||
| 3 | 1 | led_index | LED 索引(0-7) |
|
||||
| 4 | 1 | onoff | LED 开关(0=OFF, 1=ON) |
|
||||
| 5-63 | 59 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.15 获取 LED 状态(0x98)
|
||||
|
||||
**功能说明**: 读取 LED 的 RGB 颜色与显示状态
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x98 |
|
||||
| 3 | 1 | led_index | LED 索引(0-7) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x98(回显) |
|
||||
| 3 | 1 | led_index | LED 索引(0-7) |
|
||||
| 4 | 1 | r | R 颜色值(0-255) |
|
||||
| 5 | 1 | g | G 颜色值(0-255) |
|
||||
| 6 | 1 | b | B 颜色值(0-255) |
|
||||
| 7 | 1 | led_status | LED 状态(0=熄灭, 1=常亮, 2=慢闪, 3=快闪, 4=呼吸) |
|
||||
| 8-63 | 56 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.16 获取 LED 总数(0x99)
|
||||
|
||||
**功能说明**: 读取设备支持的 LED 总数
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x99 |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x99(回显) |
|
||||
| 3 | 1 | led_total | LED 总数 |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.17 获取 UAC 模式信息(0x9A)
|
||||
|
||||
**功能说明**: 读取 UAC 模式数量与名称列表
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9A |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9A(回显) |
|
||||
| 3 | 1 | count | UAC 模式总数(示例:2) |
|
||||
| 4-11 | 8 | name0 | 模式0名称(UTF-8,最大8字节) |
|
||||
| 12-19 | 8 | name1 | 模式1名称(UTF-8,最大8字节) |
|
||||
| 20-63 | 44 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.18 设置 UAC 模式(0x9B)
|
||||
|
||||
**功能说明**: 设置 UAC 模式(UAC1.0/UAC2.0)
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9B |
|
||||
| 3 | 1 | uac_mode | UAC 模式值(0=UAC2.0, 1=UAC1.0) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
**设备端处理**:
|
||||
|
||||
- 注意:设备重启后不会返回响应
|
||||
|
||||
#### 2.2.19 获取当前 UAC 模式(0x9C)
|
||||
|
||||
**功能说明**: 读取当前 UAC 模式与名称
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9C |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9C(回显) |
|
||||
| 3 | 1 | uac_mode | 当前 UAC 模式值(0=UAC2.0, 1=UAC1.0) |
|
||||
| 4-11 | 8 | uac_name | 当前 UAC 模式名称(UTF-8,最大8字节) |
|
||||
| 12-63 | 52 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.20 设置 EQ 使能开关(0x9D)
|
||||
|
||||
**功能说明**: 设置 EQ 使能开关(启用/禁用)
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9D |
|
||||
| 3 | 1 | enable | EQ使能(0=OFF, 1=ON) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9D(回显) |
|
||||
| 3 | 1 | status | 状态码(0x00=成功, 0x01=失败) |
|
||||
| 4 | 1 | enable | 当前 EQ 使能状态(0=OFF, 1=ON) |
|
||||
| 5-63 | 59 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.21 获取 EQ 使能开关(0x9E)
|
||||
|
||||
**功能说明**: 读取 EQ 使能开关状态
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9E |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9E(回显) |
|
||||
| 3 | 1 | enable | EQ使能(0=OFF, 1=ON) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.22 获取采样率与格式(0x9F)
|
||||
|
||||
**功能说明**: 读取当前采样率与 DSD 模式
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9F |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0x9F(回显) |
|
||||
| 3-6 | 4 | sam_freq | 采样率(uint32,小端序,单位 Hz) |
|
||||
| 7 | 1 | dsd_mode | DSD模式(0=PCM, 1=DOP, 2=Native DSD) |
|
||||
| 8-63 | 56 | reserved | 保留字段(填充0) |
|
||||
|
||||
**自动上报机制**:
|
||||
|
||||
- 设备在采样率或 DSD 模式发生变化时,可自动上报对应的 `0x9F` 响应数据包
|
||||
|
||||
#### 2.2.23 设置增益模式(0xA0)
|
||||
|
||||
**功能说明**: 设置增益模式
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA0 |
|
||||
| 3 | 1 | gain_mode | 增益模式(0=低阻, 1=高阻) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.24 获取增益模式(0xA1)
|
||||
|
||||
**功能说明**: 读取设备当前增益模式
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA1 |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA1(回显) |
|
||||
| 3 | 1 | gain_mode | 当前增益模式(0=低阻, 1=高阻) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.25 设置滤波器模式(0xA2)
|
||||
|
||||
**功能说明**: 设置滤波器模式(0-7,共8种)
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA2 |
|
||||
| 3 | 1 | filter_mode | 滤波器模式值(0-7) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
**滤波器模式值定义**:
|
||||
|
||||
- 0: Minimum Phase filter (default)
|
||||
- 1: Linear Phase Apodizing Fast Roll-off filter
|
||||
- 2: Linear phase fast roll-off filter
|
||||
- 3: Linear Phase Fast Roll-off low-ripple filter
|
||||
- 4: Linear phase slow roll-off filter
|
||||
- 5: Minimum phase fast roll-off filter
|
||||
- 6: Minimum phase slow roll-off filter
|
||||
- 7: Minimum Phase Fast Roll-Off Low Dispersion
|
||||
|
||||
#### 2.2.26 获取滤波器模式(0xA3)
|
||||
|
||||
**功能说明**: 读取设备当前滤波器模式
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA3 |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA3(回显) |
|
||||
| 3 | 1 | filter_mode | 当前滤波器模式(0-7) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.27 设置游戏模式(0xA4)
|
||||
|
||||
**功能说明**: 设置游戏模式
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA4 |
|
||||
| 3 | 1 | game_mode | 游戏模式(0=无音效, 1=FPS, 2=虚拟7.1) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.28 获取游戏模式(0xA5)
|
||||
|
||||
**功能说明**: 读取设备当前游戏模式
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA5 |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA5(回显) |
|
||||
| 3 | 1 | game_mode | 当前游戏模式(0=无音效, 1=FPS, 2=虚拟7.1) |
|
||||
| 4-63 | 60 | reserved | 保留字段(填充0) |
|
||||
|
||||
#### 2.2.29 获取固件版本号(0xA6)
|
||||
|
||||
**功能说明**: 读取设备固件版本号(BCD 格式)
|
||||
|
||||
**请求格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA6 |
|
||||
| 3-63 | 61 | reserved | 保留字段(填充0) |
|
||||
|
||||
**响应格式(64 字节)**:
|
||||
|
||||
| 偏移 | 长度 | 字段名 | 描述 |
|
||||
|:----:|:----:|:------:|:----:|
|
||||
| 0 | 1 | report_id | 固定为 0x01 |
|
||||
| 1 | 1 | sync_header | 同步头: 0x77 |
|
||||
| 2 | 1 | cmd_header | 命令头: 0xA6(回显) |
|
||||
| 3 | 1 | major_bcd | 主版本号(BCD,例如 0x01 表示 1) |
|
||||
| 4 | 1 | minor_bcd | 次版本号(BCD,例如 0x00 表示 0) |
|
||||
| 5 | 1 | patch_bcd | 修订版本号(BCD,例如 0x0C 表示 12) |
|
||||
| 6-63 | 58 | reserved | 保留字段(填充0) |
|
||||
|
||||
**版本号格式说明**:
|
||||
|
||||
- 版本号采用 BCD(Binary Coded Decimal)格式
|
||||
- 例如:`0x01 0x00 0x0C` 表示版本 `1.0.12`
|
||||
|
||||
## 三、数据流程和时序 :material-timeline-clock:
|
||||
|
||||
@@ -283,7 +830,7 @@ search:
|
||||
**硬件限制**
|
||||
|
||||
- **滤波器数量**: 固定 8 个滤波器(MAX_EQ_BANDS = 8)
|
||||
- **模式数量**: 0-5 为预设模式,6-8 为用户模式,9 为 Bypass 模式
|
||||
- **模式数量**: 支持 0-9 共 10 个模式(模式含义以固件定义为准)
|
||||
- **采样率支持**: 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz, 192kHz(设备能力,与协议字段独立)
|
||||
|
||||
**参数范围**
|
||||
@@ -302,21 +849,52 @@ search:
|
||||
|
||||
| 模式索引 | 模式名称 | 用途描述 | 类型 |
|
||||
|:--------:|:--------:|:--------:|:----:|
|
||||
| 0 | Flat/Linear | 平坦响应,无 EQ 处理 | 预设模式 |
|
||||
| 1 | Pop/Rock | 流行摇滚音乐优化 | 预设模式 |
|
||||
| 2 | Classical | 古典音乐优化 | 预设模式 |
|
||||
| 3 | Jazz | 爵士音乐优化 | 预设模式 |
|
||||
| 4 | Vocal | 人声增强 | 预设模式 |
|
||||
| 5 | Bass Boost | 低音增强 | 预设模式 |
|
||||
| 6 | User 1 | 用户自定义模式1 | 用户模式 |
|
||||
| 7 | User 2 | 用户自定义模式2 | 用户模式 |
|
||||
| 8 | User 3 | 用户自定义模式3 | 用户模式 |
|
||||
| 9 | Bypass | EQ 功能旁路 | 特殊模式 |
|
||||
| 0 | JAZZ | 爵士音乐优化 | 预设模式 |
|
||||
| 1 | POP | 流行音乐优化 | 预设模式 |
|
||||
| 2 | ROCK | 摇滚音乐优化 | 预设模式 |
|
||||
| 3 | ClASIC | 古典音乐优化 | 预设模式 |
|
||||
| 4 | R&B | 节奏音乐优化 | 预设模式 |
|
||||
| 5 | 3A Game | 3A游戏音乐优化 | 预设模式 |
|
||||
| 6 | FPS | FPS游戏音乐优化 | 预设模式 |
|
||||
| 7 | User 1 | 用户自定义模式1 | 用户模式 |
|
||||
| 8 | User 2 | 用户自定义模式2 | 用户模式 |
|
||||
| 9 | User 3 | 用户自定义模式3 | 用户模式 |
|
||||
|
||||
!!! info "模式特性说明"
|
||||
- **预设模式**: 出厂预设,不可修改,针对特定音乐类型优化
|
||||
- **用户模式**: 支持用户自定义参数,可保存和重置
|
||||
- **旁路模式**: 完全关闭 EQ 处理,音频信号直通(Bypass)
|
||||
|
||||
## 五、关键特性 :material-star:
|
||||
|
||||
### 5.1 设备端系数计算
|
||||
|
||||
- 主机只发送参数(`freq`/`q`/`bw`/`gain`)
|
||||
- 设备端根据参数实时计算滤波器系数
|
||||
|
||||
### 5.2 参数格式
|
||||
|
||||
- 浮点参数:`freq`、`q`、`bw`、`gain` 使用 IEEE 754 `float`(小端序)
|
||||
- 整体增益:`int32`(小端序,范围 `-50dB ~ 0dB`)
|
||||
|
||||
### 5.3 错误处理
|
||||
|
||||
- 数据包长度检查
|
||||
- 同步头验证
|
||||
- 参数范围检查
|
||||
- 滤波器索引边界检查
|
||||
|
||||
### 5.4 模式管理
|
||||
|
||||
- 支持 EQ 模式切换与保存
|
||||
- 模式切换后建议通过读取命令进行状态同步
|
||||
|
||||
## 六、注意事项 :material-alert:
|
||||
|
||||
1. **时序要求**: 发送参数后需要等待设备处理完成再发送下一条命令
|
||||
2. **数据完整性**: 所有8个滤波器的参数都需要发送,即使某些滤波器未使用
|
||||
3. **模式同步**: 设置模式后建议调用读取模式确保数据同步
|
||||
4. **错误恢复**: 通信失败时需要重新建立连接并重试
|
||||
5. **参数验证**: 设备端会验证参数范围,超出范围的值会被限制或拒绝
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user