diff --git a/Controllers/GigabyteAorusCPUCoolerController/ATC800Controller.h b/Controllers/GigabyteAorusCPUCoolerController/ATC800Controller.h index 3a70bc7a..5aa8dc51 100644 --- a/Controllers/GigabyteAorusCPUCoolerController/ATC800Controller.h +++ b/Controllers/GigabyteAorusCPUCoolerController/ATC800Controller.h @@ -21,6 +21,11 @@ enum AORUS_ATC800_MODE_PULSE = 0x02, AORUS_ATC800_MODE_FLASHING = 0x04, AORUS_ATC800_MODE_DOUBLE_FLASH = 0x05, + AORUS_ATC800_MODE_GRADIENT = 0x06, + AORUS_ATC800_MODE_RAINBOW_WAVE = 0x08, + AORUS_ATC800_MODE_RAINBOW_LOOP = 0x0A, + AORUS_ATC800_MODE_TRICOLOR = 0x0B, + AORUS_ATC800_MODE_SPECTRUM_CYCLE = 0x13, }; enum diff --git a/Controllers/GigabyteAorusCPUCoolerController/RGBController_AorusATC800.cpp b/Controllers/GigabyteAorusCPUCoolerController/RGBController_AorusATC800.cpp index a624439f..6cced17c 100644 --- a/Controllers/GigabyteAorusCPUCoolerController/RGBController_AorusATC800.cpp +++ b/Controllers/GigabyteAorusCPUCoolerController/RGBController_AorusATC800.cpp @@ -75,6 +75,56 @@ RGBController_AorusATC800::RGBController_AorusATC800(ATC800Controller* controlle Pulsing.speed = AORUS_ATC800_SPEED_NORMAL; modes.push_back(Pulsing); + mode Gradient; + Gradient.name = "Gradient"; + Gradient.value = AORUS_ATC800_MODE_GRADIENT; + Gradient.flags = MODE_FLAG_HAS_SPEED; + Gradient.color_mode = MODE_COLORS_NONE; + Gradient.speed_min = AORUS_ATC800_SPEED_SLOWEST; + Gradient.speed_max = AORUS_ATC800_SPEED_FASTEST; + Gradient.speed = AORUS_ATC800_SPEED_NORMAL; + modes.push_back(Gradient); + + mode RainbowWave; + RainbowWave.name = "Rainbow Wave"; + RainbowWave.value = AORUS_ATC800_MODE_RAINBOW_WAVE; + RainbowWave.flags = MODE_FLAG_HAS_SPEED; + RainbowWave.color_mode = MODE_COLORS_NONE; + RainbowWave.speed_min = AORUS_ATC800_SPEED_SLOWEST; + RainbowWave.speed_max = AORUS_ATC800_SPEED_FASTEST; + RainbowWave.speed = AORUS_ATC800_SPEED_NORMAL; + modes.push_back(RainbowWave); + + mode RainbowLoop; + RainbowLoop.name = "Rainbow Loop"; + RainbowLoop.value = AORUS_ATC800_MODE_RAINBOW_LOOP; + RainbowLoop.flags = MODE_FLAG_HAS_SPEED; + RainbowLoop.color_mode = MODE_COLORS_NONE; + RainbowLoop.speed_min = AORUS_ATC800_SPEED_SLOWEST; + RainbowLoop.speed_max = AORUS_ATC800_SPEED_FASTEST; + RainbowLoop.speed = AORUS_ATC800_SPEED_NORMAL; + modes.push_back(RainbowLoop); + + mode Tricolor; + Tricolor.name = "Tricolor"; + Tricolor.value = AORUS_ATC800_MODE_TRICOLOR; + Tricolor.flags = MODE_FLAG_HAS_SPEED; + Tricolor.color_mode = MODE_COLORS_NONE; + Tricolor.speed_min = AORUS_ATC800_SPEED_SLOWEST; + Tricolor.speed_max = AORUS_ATC800_SPEED_FASTEST; + Tricolor.speed = AORUS_ATC800_SPEED_NORMAL; + modes.push_back(Tricolor); + + mode SpectrumCycle; + SpectrumCycle.name = "Spectrum Cycle"; + SpectrumCycle.value = AORUS_ATC800_MODE_SPECTRUM_CYCLE; + SpectrumCycle.flags = MODE_FLAG_HAS_SPEED; + SpectrumCycle.color_mode = MODE_COLORS_NONE; + SpectrumCycle.speed_min = AORUS_ATC800_SPEED_SLOWEST; + SpectrumCycle.speed_max = AORUS_ATC800_SPEED_FASTEST; + SpectrumCycle.speed = AORUS_ATC800_SPEED_NORMAL; + modes.push_back(SpectrumCycle); + SetupZones(); }