9.3 KiB
Executable file
Specification of the 048d:5711 Integrated Technology Express, Inc. GIGABYTE Device
Structure description
USB control transfer used (and usbhid 🤓)
Endpoint: 0x00, Direction: OUT
- bmRequestType: 0x21
- bRequest: 9
- wValue: 0x03cc
- wIndex: 1 (0x0001)
- wLength: 64
- Data fragment: as described below. Trailing zeroes trimmed in this document however must be defined within actual data interaction. Therefore 'wLength: 64' is imperative'.
In libusb semantic:
unsigned char message[64] = { 0XCC, 0X60, }; // example 'cc60'
int returned_value = libusb_control_transfer(dev_handle, 0x21, 9, 0x03cc, 1, message, 64, TIMEOUT);
Endpoint: 0x80, Direction: IN
- bmRequestType: 0xa1
- bRequest: 1
- wValue: 0x03cc
- wIndex: 1 (0x0001)
- wLength: 64
In libusb semantic:
unsigned char buf[64] = {};
int returned_value = libusb_control_transfer(dev_handle, 0xa1, 1, 0x03cc, 1, buf, sizeof(buf), TIMEOUT);
NOTE: input values below marked with prefix "INPUT << "
Interaction could be split on three phases: Application startup, command transmission, ending
Application initial flow:
cc60 ↓↓↓↓↓↓↓↓ version in hex
INPUT << cc01000100001802000000034954353731312d47494741425954452056302e302e32342e320000000000000002000100020001000001020000c01157
cc60 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ ascii text: 'IT5711-GIGABYTE V0.0.24.2'
INPUT << cc01000100001802000000034954353731312d47494741425954452056302e302e32342e320000000000000002000100020001000001020000c01157
cc34
cc48
INPUT << cc
cc61
in? << cc000000020001000200010002000100020001
cc3c
cc3e
INPUT << cc
cc34
cc3d
cc3f
INPUT << cc
cc34
cc38
Commands
NOTE: Переходы между изменениями цвета в sync режимах идут без следующих пред-последовательностей. Но переход от отдельных к синхронизированному - через стандартные ппоследовательности
There are two types of commands:
- syncronized - applies same setting to everything
- separate - adjusts settings separately
Commands sent before actual directive. Structure is always the same
cc20
cc21
cc22
cc23
cc24
cc25
cc26
cc27
cc90
cc91
cc92
cc28ff07
Turn off backlight - Applies to everything!
cc20ff070000000000000001ff
cc28ff07
EXAMPLE:
cc20ff070000000000000001ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Turn off backlight (user selects: channel)
cc2204000000000000000001ff ← 1 |‾‾|‾‾‾‾‾‾‾‾‾‾‾1|
cc2410000000000000000001ff ← 2 | 6| |‾‾| |||| |
cc2520000000000000000001ff ← 3 | | ‾‾ |||| |
cc2640000000000000000001ff ← 4 |__| |‾‾‾| |
cc2780000000000000000001ff ← 5 | |_4_| |
cc9100020000000000000001ff ← 6 |___2_3_5_______|
cc28ff07
EXAMPLE:
cc2204000000000000000001ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Wave 1 - Applies to everything!
cc20ff070000000000000001ff ← turns off backlight
cc28ff07
cc220000000000000000000964000000000000000000260200000000000007
cc2804
EXAMPLE:
cc220000000000000000000964000000000000000000260200000000000007000000000000000000000000000000000000000000000000000000000000000000
Wave 2 - Applies to everything!
cc20ff070000000000000001ff ← turns off backlight
cc28ff07
cc220000000000000000000a640000000000000000007d0000000000000020
cc2804
EXAMPLE:
cc220000000000000000000a640000000000000000007d0000000000000020000000000000000000000000000000000000000000000000000000000000000000
Individually set static color (user selects: color, brightness)
↓↓↓↓↓↓ → Color as RGB
cc2204000000000000000001__00______
cc2410000000000000000001__00______
cc2520000000000000000001__00______
cc2640000000000000000001__00______
cc2780000000000000000001__00______
cc9100020000000000000001__00______
cc28ff07 ↑↑
ff → Brightness max
b3 -1
80 -2
4d -3
1a -4
EXAMPLE:
cc2204000000000000000001ff00ffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Synchronized static color (user selects: color) - Applies to everything!
↓↓↓↓↓↓ - Color as RGB
cc20ff070000000000000001ff00______
cc28ff07
EXAMPLE:
cc20ff070000000000000001ff00ffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Impulse (user selects: color, intensity)
↓↓↓↓↓↓ - Color as RGB
cc22040000000000000000026400______0000000000____________00000001
cc24100000000000000000026400______0000000000____________00000001
cc25200000000000000000026400______0000000000____________00000001
cc26400000000000000000026400______0000000000____________00000001
cc27800000000000000000026400______0000000000____________00000001
cc91000200000000000000026400______0000000000____________00000001
cc28ff07 ↑↑↑↑↑↑↑↑↑↑↑↑
f401f401fa00 → Intensity max
bc02bc025e01 - 1
84038403c201 - 2
b004b004f401 - 3
400640062003 - 4
EXAMPLE:
cc220400000000000000000264000040fe0000000000b004b004f401000000010000000000000000000000000000000000000000000000000000000000000000
Flash (user selects: intensity, color and brightness)
↓↓↓↓↓↓ - Color RGB or BGR
cc2204000000000000000003__00______000000000064006400____0000000101
cc2410000000000000000003__00______000000000064006400____0000000101
cc2520000000000000000003__00______000000000064006400____0000000101
cc2640000000000000000003__00______000000000064006400____0000000101
cc2780000000000000000003__00______000000000064006400____0000000101
cc9100020000000000000003__00______000000000064006400____0000000101
cc28ff07 ↑↑ ↑↑↑↑
ff → Intensity max 2003 → Brightness max
b3 -1 b004 -1
80 -2 4006 -2
4d -3 d007 -3
1a -4 6009 -4
EXAMPLE:
cc2204000000000000000003ff00ffffff0000000000640064002003000000010100000000000000000000000000000000000000000000000000000000000000
Flash-double (user selects: brightness, color and intensity)
↓↓↓↓↓↓ - Color RGB
cc2204000000000000000003__00______000000000064006400____0000000102
cc2410000000000000000003__00______000000000064006400____0000000102
cc2520000000000000000003__00______000000000064006400____0000000102
cc2640000000000000000003__00______000000000064006400____0000000102
cc2780000000000000000003__00______000000000064006400____0000000102
cc9100020000000000000003__00______000000000064006400____0000000102
cc28ff07 ↑↑ ↑↑↑↑
ff → Brightness max e803 → Intensity max
b3 -1 7805 -1
80 -2 0807 -2
4d -3 9808 -3
1a -4 280a -4
EXAMPLE:
cc2204000000000000000003ff00fd00fe000000000064006400e803000000010200000000000000000000000000000000000000000000000000000000000000
Cycle (user selects: intensive and brightness)
↓↓↓↓↓↓- Old values; doesn't make any difference
cc2204000000000000000004__00fd00fe0000000000________0000000007
cc2410000000000000000004__00fd00fe0000000000________0000000007
cc2520000000000000000004__00fd00fe0000000000________0000000007
cc2640000000000000000004__00fd00fe0000000000________0000000007
cc2780000000000000000004__00fd00fe0000000000________0000000007
cc9100020000000000000004__00fd00fe0000000000________0000000007
cc28ff07 ↑↑ ↑↑↑↑↑↑↑↑
ff → Bright. max 9001c800 → Intensive max
b3 -1 58029001 -1
80 -2 2602c201 -2
4d -3 5203ee02 -3
1a -4 7805b004 -4
EXAMPLE:
cc91000200000000000000041a00f0f0f000000000007805b0040000000007000000000000000000000000000000000000000000000000000000000000000000
Termination
[repeat last setup request for some reason]
cc4701