From e79c97c4d0ff1b714c333839a3a834420af259da Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Wed, 25 Dec 2019 01:08:28 -0600 Subject: [PATCH] RGBController interface for Wraith Prism now can change static colors for logo and fan --- .../RGBController_AMDWraithPrism.cpp | 59 ++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/RGBController/RGBController_AMDWraithPrism.cpp b/RGBController/RGBController_AMDWraithPrism.cpp index 3a2fd985..4a479313 100644 --- a/RGBController/RGBController_AMDWraithPrism.cpp +++ b/RGBController/RGBController_AMDWraithPrism.cpp @@ -14,6 +14,36 @@ RGBController_AMDWraithPrism::RGBController_AMDWraithPrism(AMDWraithPrismControl wraith = wraith_ptr; name = "AMD Wraith Prism"; + type = DEVICE_TYPE_COOLER; + version = wraith->GetFirmwareVersionString(); + + mode led_mode; + led_mode.name = "Custom"; + modes.push_back(led_mode); + + led logo_led; + logo_led.name = "Logo"; + leds.push_back(logo_led); + + zone logo_zone; + logo_zone.name = "Logo"; + logo_zone.type = ZONE_TYPE_SINGLE; + std::vector logo_zone_map; + logo_zone_map.push_back(0); + logo_zone.map.push_back(logo_zone_map); + zones.push_back(logo_zone); + + led fan_led; + fan_led.name = "Fan"; + leds.push_back(fan_led); + + zone fan_zone; + fan_zone.name = "Fan"; + fan_zone.type = ZONE_TYPE_SINGLE; + std::vector fan_zone_map; + fan_zone_map.push_back(1); + fan_zone.map.push_back(fan_zone_map); + zones.push_back(fan_zone); } RGBController_AMDWraithPrism::~RGBController_AMDWraithPrism() @@ -23,7 +53,7 @@ RGBController_AMDWraithPrism::~RGBController_AMDWraithPrism() int RGBController_AMDWraithPrism::GetMode() { - + return 0; } void RGBController_AMDWraithPrism::SetMode(int mode) @@ -38,17 +68,44 @@ void RGBController_AMDWraithPrism::SetCustomMode() void RGBController_AMDWraithPrism::SetAllLEDs(RGBColor color) { + unsigned char red = RGBGetRValue(color); + unsigned char grn = RGBGetGValue(color); + unsigned char blu = RGBGetBValue(color); + wraith->SetFanColor(red, grn, blu); + wraith->SetLogoColor(red, grn, blu); } void RGBController_AMDWraithPrism::SetAllZoneLEDs(int zone, RGBColor color) { + unsigned char red = RGBGetRValue(color); + unsigned char grn = RGBGetGValue(color); + unsigned char blu = RGBGetBValue(color); + if(zone == 0) + { + wraith->SetLogoColor(red, grn, blu); + } + else if(zone == 1) + { + wraith->SetFanColor(red, grn, blu); + } } void RGBController_AMDWraithPrism::SetLED(int led, RGBColor color) { + unsigned char red = RGBGetRValue(color); + unsigned char grn = RGBGetGValue(color); + unsigned char blu = RGBGetBValue(color); + if(led == 0) + { + wraith->SetLogoColor(red, grn, blu); + } + else if(led == 1) + { + wraith->SetFanColor(red, grn, blu); + } } void RGBController_AMDWraithPrism::UpdateLEDs()