Riing Quad Controller
Common
| VID | PID (start) | PID (end) |
|---|---|---|
0x264a |
0x2260 |
0x2270 |
| Name | Description |
|---|---|
| STATUS_BYTE | Byte where 0xfc means success and 0xfe failure |
| LED_COUNT | Number of leds supported by a device connected to a port |
| PORT | Id of the port Starts from 1 to the number of ports on the controller |
| RGB_MODE | Byte value indicating which RGB mode to use Check below for specific values |
| SPEED | Byte value indicating speed in percent From 0 to 100 Speeds from 1 to 19 are ignored |
| COLOR | 3 byte color [g, r, b] |
| COLORS | List of COLOR bytes [g, r, b, g, r, b, ...] |
Commands
Values enclosed in
<...>means they are optional
Read Bytesof each command starts with[<REPORT_ID>, FIRST_WRITE_BYTE, SECOND_WRITE_BYTE]but are skipped to improve readability.REPORT_IDis always0x00and is optional depending on the hid library
Write Bytesof each command have to begin with theREPORT_ID(0x00) but it’s skipped to improve readability. Might be optional depending on the hid library
| Name | Write Bytes | Read Bytes | Description |
|---|---|---|---|
| Init | [0xfe, 0x33] |
STATUS_BYTE |
Initializes the controller |
| Get Firmware Version | [0x33, 0x50] |
[MAJOR, MINOR, PATCH] |
Gets controller firmware version Returns 3 bytes that make the version |
| Get Data | [0x33, 0x51, PORT] |
[PORT, UNKNOWN, SPEED, RPM_L, RPM_H] |
Get data for PORTRPM is calculated as RPM_H << 8 + RPM_L |
| Set Speed | [0x32, 0x51, PORT, 0x01, SPEED] |
STATUS_BYTE |
Sets speed on PORT to SPEED |
| Set RGB | [0x32, 0x52, PORT, RGB_MODE, COLORS] |
STATUS_BYTE |
Sets rgb on PORT to COLORS |
RGB_MODE
| Name | Value | Description |
|---|---|---|
| PER_LED | 0x24 |
Requires COLORS list with LED_COUNT colors |
Unknown commands
[0x32, 0x53]: Save profile?, reported controller freeze[0x32, 0x52, PORT, 0x24, ????, ????, ????, ...?]Set RGB[0x32, 0x52, PORT, 0x24, 0x03, 0x01, 0x00, ...?]Set RGB[0x32, 0x52, PORT, 0x24, 0x03, 0x02, 0x00, ...?]Set RGB[0x32, 0x52, PORT, 0x18, ????, ????, ????, ...?]Set RGB[0x32, 0x52, PORT, 0x18, 0x03, 0x01, 0x00, ...?]Set RGB[0x32, 0x52, PORT, 0x18, 0x03, 0x02, 0x00, ...?]Set RGB[0x32, 0x52, PORT, 0x18, 0x0a, 0x03, 0x01, ...?]Set RGB[0x32, 0x52, PORT, 0x18, 0x0a, 0x03, 0x02, ...?]Set RGB[0x32, 0x52, PORT, 0x18, 0x0c, 0x03, 0x01, ...?]Set RGB[0x32, 0x52, PORT, 0x18, 0x0c, 0x03, 0x02, ...?]Set RGB