7.4 KiB
7.4 KiB
title, description, keywords
| title | description | keywords |
|---|---|---|
| Zero-Code Firmware Series EQ HID Control Protocol and Command Set | EQ HID control protocol for zero-code firmware series devices, including message structure, command set, and field descriptions for mode switching, parameter read/write, and device information retrieval. | EQ, HID, Control Protocol, Command Set, USB HID, XU316, Zero-Code Firmware, Phaten Audio |
--8<-- "common/phaten_xmos_support_img.md"
Zero-Code Firmware Series EQ HID Control Protocol and Command Set
1. Protocol Foundation Specifications
1.1 Underlying Communication Protocol
Based on USB HID (Human Interface Device) protocol.
| Parameter | Value |
|---|---|
| Report ID | 0x01 |
| Packet Size | 64 bytes |
| Transfer Direction | Bidirectional (Host <-> Device) |
1.2 Message Format and Data Transmission
Common Message Format All commands and responses follow the Report structure below:
| Field | Bytes | Description |
|---|---|---|
| Report ID | 1 | Fixed as 0x01 |
| Sync Header | 1 | Fixed as 0x77 (command start identifier) |
| Command Code | 1 | Indicates specific operation (e.g., 0x8A) |
| Data Area | 61 | Specific data content (unused bytes typically filled with 0) |
Data Transmission Notes
- Byte Order: All multi-byte data is transmitted in Little Endian mode.
- Floating Point: Follows IEEE 754 float format.
2. Protocol Command Set
2.1 Command Classification Overview
| Command Code | Command Description | Direction | Function |
|---|---|---|---|
| 0x8A | SET_EQ_MODE | Host→Device | Switch current EQ mode |
| 0x8B | GET_EQ_MODE | Host→Device | Get current EQ mode information (mode number, gain, name) |
| 0x8C | SET_MODE_GAIN_AND_NAME | Host→Device | Set overall gain and name for specified mode |
| 0x8D | SET_EQ_PARAMS | Host→Device | Send single filter parameters |
| 0x8E | GET_EQ_PARAMS | Host→Device | Read single filter parameters |
| 0x8F | GET_DEVICE_INFO | Host→Device | Get device basic information (PID, VID, SN, etc.) |
| 0x90 | RESET_EQ_PARAMS | Host→Device | Reset EQ parameters (restore presets) |
3. Basic Function Command Details
3.1 Switch EQ Mode (0x8A)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header |
| 2 | 1 | 0x8A |
Command code |
| 3 | 1 | Mode |
Mode value 0-5: Preset modes 6-8: User modes 9: Bypass |
| 4-63 | 60 | Reserved |
Reserved bytes (0x00) |
3.2 Get Current EQ Mode Information (0x8B)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header |
| 2 | 1 | 0x8B |
Command code |
| 3-63 | 61 | Reserved |
Reserved bytes (0x00) |
Device Returns (Response)
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header 1 |
| 2 | 1 | 0x8B |
Sync header 2 (echo command code) |
| 3 | 1 | Mode |
Current mode value |
| 4-7 | 4 | Gain |
Overall gain (int32, little endian, range 0~-50dB) |
| 8-23 | 16 | Name |
Mode name (UTF-8 string) |
| 24-63 | 40 | Reserved |
Reserved bytes |
3.3 Set Mode Overall Gain and Name (0x8C)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header |
| 2 | 1 | 0x8C |
Command code |
| 3 | 1 | Mode |
Target mode value (0-9) |
| 4-7 | 4 | Gain |
Overall gain (int32, little endian) |
| 8-23 | 16 | Name |
Mode name (UTF-8 string) |
| 24-63 | 40 | Reserved |
Reserved bytes |
3.4 Send EQ Parameters (0x8D)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header |
| 2 | 1 | 0x8D |
Command code |
| 3 | 1 | Mode |
Mode value (0-9) |
| 4 | 1 | Band |
Filter index (0-7) |
| 5 | 1 | Type |
Filter type (see table below) |
| 6-9 | 4 | Freq |
Center frequency Hz (float, little endian) |
| 10-13 | 4 | Q |
Q value (float, little endian) |
| 14-17 | 4 | BW |
Bandwidth Hz (float, little endian) |
| 18-21 | 4 | Gain |
Gain dB (float, little endian) |
| 22-63 | 42 | Reserved |
Reserved bytes |
Filter Type Codes
| Code | Type | Code | Type |
|---|---|---|---|
| 0x00 | Bypass | 0x06 | Band Reject |
| 0x01 | All Pass | 0x07 | Notch |
| 0x02 | Peak | 0x08 | Constant Q |
| 0x03 | Low Pass | 0x09 | Low Shelf |
| 0x04 | High Pass | 0x0A | High Shelf |
| 0x05 | Band Pass |
3.5 Read EQ Parameters (0x8E)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header |
| 2 | 1 | 0x8E |
Command code |
| 3 | 1 | Mode |
Mode value (0-9) |
| 4 | 1 | Band |
Filter index (0-7) |
| 5-63 | 59 | Reserved |
Reserved bytes |
Device Returns (Response)
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header 1 |
| 2 | 1 | 0x8E |
Sync header 2 (echo command code) |
| 3 | 1 | Mode |
Mode value |
| 4 | 1 | Band |
Filter index |
| 5 | 1 | Type |
Filter type |
| 6-9 | 4 | Freq |
Center frequency (float, little endian) |
| 10-13 | 4 | Q |
Q value (float, little endian) |
| 14-17 | 4 | BW |
Bandwidth (float, little endian) |
| 18-21 | 4 | Gain |
Gain (float, little endian) |
| 22-63 | 41 | Reserved |
Reserved bytes |
3.6 Get Device Information (0x8F)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header |
| 2 | 1 | 0x8F |
Command code |
| 3-63 | 61 | Reserved |
Reserved bytes |
Device Returns (Response)
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header 1 |
| 2 | 1 | 0x8F |
Sync header 2 (echo command code) |
| 3-4 | 2 | PID |
Product ID (uint16, little endian) |
| 5-6 | 2 | VID |
Vendor ID (uint16, little endian) |
| 7-22 | 16 | Product |
Product string (UTF-8) |
| 23-38 | 16 | Vendor |
Vendor string (UTF-8) |
| 39-54 | 16 | SN |
Serial number string (UTF-8) |
| 55-63 | 9 | Reserved |
Reserved bytes |
3.7 Reset EQ Parameters (0x90)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header |
| 2 | 1 | 0x90 |
Command code |
| 3 | 1 | Mode |
Mode number (0-9)0xFF indicates reset all modes |
| 4-63 | 60 | Reserved |
Reserved bytes |
Device Returns (Response)
| Byte Position | Length | Content | Description |
|---|---|---|---|
| 0 | 1 | 0x01 |
Report ID |
| 1 | 1 | 0x77 |
Sync header 1 |
| 2 | 1 | 0x90 |
Sync header 2 (echo command code) |
| 3 | 1 | Status |
Status code (0x00=success, 0x01=failure) |
| 4-63 | 60 | Reserved |
Reserved bytes |
Inquiries and Feedback
Click to expand inquiry and feedback form
--8<-- "common/customer_form.md"