RGBController interface for Wraith Prism now can change static colors for logo and fan

This commit is contained in:
Adam Honse 2019-12-25 01:08:28 -06:00
parent 45c7bc8008
commit e79c97c4d0

View file

@ -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<int> 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<int> 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()