Merge rework of IT8297, IT5702, IT5711 driver code. Adds new controller IT82950.
Merge Request Description
This is my MR to update support for the Gigabyte USB controller motherboards supporting the IT8297, IT82950, IT5702, and IT5711 motherboards.
Here is a summary of changes:
- Adds over 250 Gigabyte motherboards to the layouts*.
- Fixes calibration routines to use hardware informed data.
- Adds support for all four ARGB headers on IT5711 based boards (high end).
- Separated board layouts and board IDs into their own files to keep controller code clean.
Added many comments describing what most routines and structs do.- Reworked JSON handling so it is written and read in one place (in the high-level controller, where it belongs).
Added version tracking to seamlessly update to new versions (useful when changing board layouts and adding new features).- Added support for LampArray (MSDL) handling so it will automatically be turned off until OpenRGB supports it.
- Reworked handling of LED counts, calibration, and effects to be faster by avoiding redundant packets.
- Added basic routines that will be helpful when adding multi-controller layouts (future support).
- Separated board layouts into groups categorized by controller to allow identical board names to have different layouts based on controller.
- Adds support for Wave (legacy), Wave1, Wave2, Random, and Wave3/Wave4 (alternate Wave1/Wave2 modes)**.
Note:* Some board layouts may be incorrect, but being incorrect is harmless — they can be fixed as they crop up, and mostly relate to boards with multiple controllers.
Note:** Effects support varies by motherboard and controller. (So some will appear to do nothing on certain boards).
Added Motherboard Layouts
Click to expand full list grouped by chipset
A620
- A620I AX
- A620M C
- A620M D2H
- A620M DS3H
- A620M GAMING X
- A620M GAMING X AX
- A620M H
- A620M S2H
B550
- B550 AORUS ELITE
- B550 AORUS PRO
- B550I AORUS PRO AX
B650
- B650 AERO G
- B650 AORUS ELITE
- B650 AORUS ELITE AX
- B650 AORUS ELITE AX ICE
- B650 AORUS ELITE AX V2
- B650 AORUS ELITE V2
- B650 AORUS PRO AX
- B650 EAGLE
- B650 EAGLE AX
- B650 GAMING X
- B650 GAMING X AX
- B650 GAMING X AX V2
- B650 GAMING X V2
- B650 UD AC
- B650 UD AX
- B650E AORUS ELITE X AX ICE
- B650E AORUS MASTER
- B650E AORUS PRO X USB4
- B650E AORUS TACHYON
- B650E AORUS STEALTH ICE
- B650I AORUS ULTRA
- B650I AX
- B650M AORUS ELITE
- B650M AORUS ELITE AX
- B650M AORUS ELITE AX ICE
- B650M AORUS PRO
- B650M AORUS PRO AX
- B650M C V2
- B650M C V3
- B650M D2H
- B650M D2HP
- B650M D3HP
- B650M D3HP AX
- B650M DS3H
- B650M GAMING PLUS WIFI
- B650M GAMING WIFI
- B650M GAMING WIFI6
- B650M GAMING X AX
- B650M H
- B650M K
- B650M S2H
B760
- B760 AORUS ELITE
- B760 AORUS ELITE AX
- B760 AORUS MASTER DDR4
- B760 DS3H
- B760 DS3H AC
- B760 DS3H AC DDR4
- B760 DS3H AX
- B760 DS3H AX DDR4
- B760 DS3H AX V2
- B760 DS3H DDR4
- B760 GAMING X
- B760 GAMING X AX
- B760 GAMING X AX DDR4
- B760 GAMING X DDR4
- B760 DS3H GEN5
- B760 DS3H WIFI6E GEN5
- B760 GAMING X DDR4 GEN5
- B760 GAMING X GEN5
- B760 GAMING X WIFI6 GEN5
- B760I AORUS PRO
- B760I AORUS PRO DDR4
- B760M AORUS ELITE
- B760M AORUS ELITE AX
- B760M AORUS ELITE AX DDR4
- B760M AORUS ELITE DDR4
- B760M AORUS ELITE X AX
- B760M AORUS PRO
- B760M AORUS PRO AX
- B760M AORUS PRO AX DDR4
- B760M AORUS PRO DDR4
- B760M C
- B760M C V2
- B760M D2H
- B760M D2H DDR4
- B760M D3H
- B760M D3H DDR4
- B760M D3HP
- B760M D3HP DDR4
- B760M D3HP WIFI6
- B760M DS3H
- B760M DS3H AX
- B760M DS3H AX DDR4
- B760M DS3H DDR4
- B760M DS3H GEN 5
- B760M G AX
- B760M GAMING
- B760M GAMING AC
- B760M GAMING AC DDR4
- B760M GAMING DDR4
- B760M GAMING PLUS WIFI DDR4
- B760M GAMING WIFI
- B760M GAMING WIFI PLUS
- B760M GAMING X
- B760M GAMING X AX
- B760M GAMING X AX DDR4
- B760M GAMING X DDR4
- B760M POWER
- B760M POWER DDR4
- B760M AORUS ELITE DDR4 GEN5
- B760M AORUS ELITE GEN5
- B760M AORUS ELITE WIFI6 DDR4 GEN5
- B760M AORUS ELITE WIFI6 GEN5
- B760M C V3
- B760M DS3H DDR4 GEN 5
- B760M DS3H WIFI6E DDR4 GEN 5
- B760M GAMING WIFI6 PLUS GEN5
- B760M GAMING WIFI6E GEN 5
- B760M GAMING X DDR4 GEN5
- B760M GAMING X GEN5
- B760M GAMING X WIFI6E DDR4 GEN5
- B760M GAMING X WIFI6E GEN5
B840
- B840M AORUS ELITE WIFI6E
- B840M D2H
- B840M DS3H
- B840M EAGLE WIFI6
B850
- B850 AI Top
- B850 AORUS ELITE WIFI7
- B850 AORUS ELITE WIFI7 ICE
- B850 EAGLE ICE
- B850 EAGLE WIFI6E
- B850 EAGLE WIFI7 ICE
- B850 GAMING WIFI6
- B850 GAMING X WIFI6E
- B850I AORUS PRO
- B850M AORUS ELITE
- B850M AORUS ELITE WIFI6E
- B850M AORUS ELITE WIFI6E ICE
- B850M AORUS PRO WIFI7
- B850M D3HP
- B850M DS3H
- B850M DS3H ICE
- B850M EAGLE WIFI6E
- B850M EAGLE WIFI6E ICE
- B850M FORCE
- B850M FORCE WIFI6E
- B850M GAMING X WIFI6E
B860
- B860 AORUS ELITE WIFI7 ICE
- B860 DS3H
- B860 DS3H WIFI6E
- B860 EAGLE WIFI6E
- B860 GAMING X WIFI6E
- B860I AORUS PRO ICE
- B860M AORUS ELITE
- B860M AORUS ELITE WIFI6E
- B860M AORUS ELITE WIFI6E ICE
- B860M AORUS PRO WIFI7
- B860M D2H
- B860M EAGLE
- B860M EAGLE DS3H
- B860M EAGLE DS3H WIFI6E
- B860M EAGLE PLUS WIFI6E
- B860M EAGLE WIFI6
- B860M EAGLE WIFI6 V2
- B860M GAMING WIFI6
- B860M GAMING X
- B860M GAMING X WIFI6E
- B860M POWER
H610
- H610M D3H DDR4
- H610M D3H WIFI DDR4
- H610M GAMING WIFI DDR4
H810
- H810M GAMING WIFI6
- H810M H
- H810M S2H
TRX50
- TRX50 AERO D
- TRX50 AI TOP
W790
- W790 AI TOP
W880
- W880 AI TOP
X570
- X570 AORUS ELITE
- X570 AORUS ELITE WIFI
- X570 AORUS MASTER
- X570 AORUS PRO
- X570 AORUS PRO WIFI
- X570 AORUS ULTRA
- X570 I AORUS PRO WIFI
- X570S AERO G
- X570S AORUS ELITE
- X570S AORUS ELITE AX
- X570S AORUS MASTER
- X570S AORUS PRO AX
- X570S GAMING X
- X570S UD
- X570SI AORUS PRO AX
X670
- X670 AORUS ELITE AX
- X670 GAMING X AX
- X670 GAMING X AX V2
- X670E AORUS MASTER
- X670E AORUS PRO X
- X670E AORUS XTREME
X870
- X870 AORUS ELITE WIFI7
- X870 AORUS ELITE WIFI7 ICE
- X870 EAGLE WIFI7
- X870 GAMING WIFI6
- X870 GAMING X WIFI
- X870E AORUS ELITE WIFI7
- X870E AORUS ELITE WIFI7 ICE
- X870E AORUS MASTER
- X870E AORUS PRO
- X870E AORUS PRO ICE
- X870E AORUS XTREME AI TOP
- X870I AORUS PRO
- X870I AORUS PRO ICE
Z390
- Z390 AORUS MASTER-CF
Z690
- Z690 AORUS ELITE
- Z690 AORUS ELITE AX
- Z690 AORUS ELITE AX DDR4
- Z690 AORUS ELITE DDR4
Z790
- Z790 AERO G
- Z790 AORUS ELITE
- Z790 AORUS ELITE AX
- Z790 AORUS ELITE AX DDR4
- Z790 AORUS ELITE AX ICE
- Z790 AORUS ELITE AX-W
- Z790 AORUS ELITE DDR4
- Z790 AORUS ELITE X
- Z790 AORUS ELITE X AX
- Z790 AORUS ELITE X WIFI7
- Z790 AORUS MASTER
- Z790 AORUS MASTER X
- Z790 AORUS PRO X
- Z790 AORUS PRO X WIFI7
- Z790 AORUS TACHYON
- Z790 AORUS TACHYON X
- Z790 AORUS XTREME
- Z790 AORUS XTREME X
- Z790 AORUS XTREME X ICE
- Z790 D
- Z790 D AC
- Z790 D AX
- Z790 D WIFI
- Z790 EAGLE
- Z790 EAGLE AX
- Z790 GAMING PLUS AX
- Z790 GAMING X
- Z790 GAMING X AX
- Z790 S DDR4
- Z790 S WIFI DDR4
- Z790 UD
- Z790 UD AC
- Z790 UD AX
- Z790I AORUS ULTRA
- Z790M AORUS ELITE
- Z790M AORUS ELITE AX
- Z790M AORUS ELITE AX ICE
Z890
- Z890 AERO D
- Z890 AERO G
- Z890 AI TOP
- Z890 AORUS ELITE WIFI7
- Z890 AORUS ELITE WIFI7 ICE
- Z890 AORUS ELITE X ICE
- Z890 AORUS MASTER
- Z890 AORUS MASTER AI TOP
- Z890 AORUS PRO ICE
- Z890 AORUS TACHYON ICE
- Z890 AORUS XTREME AI TOP
- Z890 EAGLE
- Z890 EAGLE WIFI7
- Z890 GAMING X WIFI7
- Z890 UD WIFI6E
- Z890I AORUS ULTRA
- Z890M AORUS ELITE WIFI7
- Z890M AORUS ELITE WIFI7 ICE
- Z890M GAMING X
Edited by Daniel Clark