diff --git a/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.cpp b/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.cpp index 62078fe5..39852bcb 100644 --- a/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.cpp +++ b/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.cpp @@ -11,10 +11,11 @@ #include "GigabyteRGBFusionGPUController.h" -RGBFusionGPUController::RGBFusionGPUController(i2c_smbus_interface* bus, rgb_fusion_dev_id dev) +RGBFusionGPUController::RGBFusionGPUController(i2c_smbus_interface* bus, rgb_fusion_dev_id dev, std::string dev_name) { - this->bus = bus; - this->dev = dev; + this->bus = bus; + this->dev = dev; + this->name = dev_name; } RGBFusionGPUController::~RGBFusionGPUController() @@ -32,6 +33,11 @@ std::string RGBFusionGPUController::GetDeviceLocation() return("I2C: " + return_string); } +std::string RGBFusionGPUController::GetDeviceName() +{ + return(name); +} + void RGBFusionGPUController::SetColor(unsigned char red, unsigned char green, unsigned char blue) { bus->i2c_smbus_write_byte(dev, RGB_FUSION_GPU_REG_COLOR); @@ -39,8 +45,10 @@ void RGBFusionGPUController::SetColor(unsigned char red, unsigned char green, un bus->i2c_smbus_write_byte(dev, green); bus->i2c_smbus_write_byte(dev, blue); - // Pad commands with 4 zero-bytes for NVIDIA_RTX3060_DEV - if (dev == 0x62) + /*-----------------------------------------------------*\ + | Pad commands with 4 zero-bytes for NVIDIA_RTX3060_DEV | + \*-----------------------------------------------------*/ + if(dev == 0x62) { bus->i2c_smbus_write_byte(dev, 0x00); bus->i2c_smbus_write_byte(dev, 0x00); @@ -56,8 +64,10 @@ void RGBFusionGPUController::SetMode(unsigned char mode, unsigned char speed, un bus->i2c_smbus_write_byte(dev, speed); bus->i2c_smbus_write_byte(dev, brightness); - // Pad commands with 4 zero-bytes for NVIDIA_RTX3060_DEV - if (dev == 0x62) + /*-----------------------------------------------------*\ + | Pad commands with 4 zero-bytes for NVIDIA_RTX3060_DEV | + \*-----------------------------------------------------*/ + if(dev == 0x62) { bus->i2c_smbus_write_byte(dev, 0x00); bus->i2c_smbus_write_byte(dev, 0x00); @@ -73,8 +83,10 @@ void RGBFusionGPUController::Save() bus->i2c_smbus_write_byte(dev, 0x00); bus->i2c_smbus_write_byte(dev, 0x00); - // Pad commands with 4 zero-bytes for NVIDIA_RTX3060_DEV - if (dev == 0x62) + /*-----------------------------------------------------*\ + | Pad commands with 4 zero-bytes for NVIDIA_RTX3060_DEV | + \*-----------------------------------------------------*/ + if(dev == 0x62) { bus->i2c_smbus_write_byte(dev, 0x00); bus->i2c_smbus_write_byte(dev, 0x00); diff --git a/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.h b/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.h index 2483b919..02de5a61 100644 --- a/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.h +++ b/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.h @@ -49,10 +49,11 @@ enum class RGBFusionGPUController { public: - RGBFusionGPUController(i2c_smbus_interface* bus, rgb_fusion_dev_id dev); + RGBFusionGPUController(i2c_smbus_interface* bus, rgb_fusion_dev_id dev, std::string dev_name); ~RGBFusionGPUController(); std::string GetDeviceLocation(); + std::string GetDeviceName(); void SetColor(unsigned char red, unsigned char green, unsigned char blue); void SetMode(unsigned char mode, unsigned char speed, unsigned char brightness); @@ -61,5 +62,5 @@ public: private: i2c_smbus_interface* bus; rgb_fusion_dev_id dev; - + std::string name; }; diff --git a/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUControllerDetect.cpp b/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUControllerDetect.cpp index cdbb4494..72a9491a 100644 --- a/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUControllerDetect.cpp +++ b/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUControllerDetect.cpp @@ -98,9 +98,8 @@ void DetectGigabyteRGBFusionGPUControllers(i2c_smbus_interface* bus, uint8_t i2c // Check for RGB Fusion controller if(TestForGigabyteRGBFusionGPUController(bus, i2c_addr)) { - RGBFusionGPUController* controller = new RGBFusionGPUController(bus, i2c_addr); + RGBFusionGPUController* controller = new RGBFusionGPUController(bus, i2c_addr, name); RGBController_RGBFusionGPU* rgb_controller = new RGBController_RGBFusionGPU(controller); - rgb_controller->name = name; ResourceManager::get()->RegisterRGBController(rgb_controller); } diff --git a/Controllers/GigabyteRGBFusionGPUController/RGBController_GigabyteRGBFusionGPU.cpp b/Controllers/GigabyteRGBFusionGPUController/RGBController_GigabyteRGBFusionGPU.cpp index d41e409c..57f745eb 100644 --- a/Controllers/GigabyteRGBFusionGPUController/RGBController_GigabyteRGBFusionGPU.cpp +++ b/Controllers/GigabyteRGBFusionGPUController/RGBController_GigabyteRGBFusionGPU.cpp @@ -24,84 +24,84 @@ RGBController_RGBFusionGPU::RGBController_RGBFusionGPU(RGBFusionGPUController* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "Gigabyte GPU"; - vendor = "Gigabyte"; - description = "RGB Fusion GPU"; - location = controller->GetDeviceLocation(); - type = DEVICE_TYPE_GPU; + name = controller->GetDeviceName(); + vendor = "Gigabyte"; + description = "RGB Fusion GPU Device"; + location = controller->GetDeviceLocation(); + type = DEVICE_TYPE_GPU; mode Direct; - Direct.name = "Direct"; - Direct.value = RGB_FUSION_GPU_MODE_STATIC; - Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; - Direct.color_mode = MODE_COLORS_PER_LED; - Direct.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; - Direct.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; - Direct.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; + Direct.name = "Direct"; + Direct.value = RGB_FUSION_GPU_MODE_STATIC; + Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; + Direct.color_mode = MODE_COLORS_PER_LED; + Direct.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; + Direct.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; + Direct.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; modes.push_back(Direct); mode Breathing; - Breathing.name = "Breathing"; - Breathing.value = RGB_FUSION_GPU_MODE_BREATHING; - Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; - Breathing.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; - Breathing.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; - Breathing.speed = RGB_FUSION_GPU_SPEED_NORMAL; - Breathing.color_mode = MODE_COLORS_PER_LED; - Breathing.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; - Breathing.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; - Breathing.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; + Breathing.name = "Breathing"; + Breathing.value = RGB_FUSION_GPU_MODE_BREATHING; + Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; + Breathing.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; + Breathing.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; + Breathing.speed = RGB_FUSION_GPU_SPEED_NORMAL; + Breathing.color_mode = MODE_COLORS_PER_LED; + Breathing.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; + Breathing.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; + Breathing.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; modes.push_back(Breathing); mode Flashing; - Flashing.name = "Flashing"; - Flashing.value = RGB_FUSION_GPU_MODE_FLASHING; - Flashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; - Flashing.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; - Flashing.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; - Flashing.speed = RGB_FUSION_GPU_SPEED_NORMAL; - Flashing.color_mode = MODE_COLORS_PER_LED; - Flashing.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; - Flashing.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; - Flashing.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; + Flashing.name = "Flashing"; + Flashing.value = RGB_FUSION_GPU_MODE_FLASHING; + Flashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; + Flashing.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; + Flashing.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; + Flashing.speed = RGB_FUSION_GPU_SPEED_NORMAL; + Flashing.color_mode = MODE_COLORS_PER_LED; + Flashing.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; + Flashing.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; + Flashing.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; modes.push_back(Flashing); mode DualFlashing; - DualFlashing.name = "Dual Flashing"; - DualFlashing.value = RGB_FUSION_GPU_MODE_DUAL_FLASHING; - DualFlashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; - DualFlashing.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; - DualFlashing.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; - DualFlashing.speed = RGB_FUSION_GPU_SPEED_NORMAL; - DualFlashing.color_mode = MODE_COLORS_PER_LED; - DualFlashing.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; - DualFlashing.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; - DualFlashing.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; + DualFlashing.name = "Dual Flashing"; + DualFlashing.value = RGB_FUSION_GPU_MODE_DUAL_FLASHING; + DualFlashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; + DualFlashing.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; + DualFlashing.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; + DualFlashing.speed = RGB_FUSION_GPU_SPEED_NORMAL; + DualFlashing.color_mode = MODE_COLORS_PER_LED; + DualFlashing.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; + DualFlashing.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; + DualFlashing.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; modes.push_back(DualFlashing); mode ColorCycle; - ColorCycle.name = "Color Cycle"; - ColorCycle.value = RGB_FUSION_GPU_MODE_COLOR_CYCLE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; - ColorCycle.flags = MODE_FLAG_HAS_SPEED; - ColorCycle.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; - ColorCycle.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; - ColorCycle.speed = RGB_FUSION_GPU_SPEED_NORMAL; - ColorCycle.color_mode = MODE_COLORS_NONE; + ColorCycle.name = "Color Cycle"; + ColorCycle.value = RGB_FUSION_GPU_MODE_COLOR_CYCLE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; + ColorCycle.flags = MODE_FLAG_HAS_SPEED; + ColorCycle.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; + ColorCycle.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; + ColorCycle.speed = RGB_FUSION_GPU_SPEED_NORMAL; + ColorCycle.color_mode = MODE_COLORS_NONE; modes.push_back(ColorCycle); mode SpectrumCycle; - SpectrumCycle.name = "Spectrum Cycle"; - SpectrumCycle.value = RGB_FUSION_GPU_MODE_SPECTRUM_CYCLE; - SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; - SpectrumCycle.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; - SpectrumCycle.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; - SpectrumCycle.speed = RGB_FUSION_GPU_SPEED_NORMAL; - SpectrumCycle.color_mode = MODE_COLORS_NONE; - SpectrumCycle.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; - SpectrumCycle.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; - SpectrumCycle.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; + SpectrumCycle.name = "Spectrum Cycle"; + SpectrumCycle.value = RGB_FUSION_GPU_MODE_SPECTRUM_CYCLE; + SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE; + SpectrumCycle.speed_min = RGB_FUSION_GPU_SPEED_SLOWEST; + SpectrumCycle.speed_max = RGB_FUSION_GPU_SPEED_FASTEST; + SpectrumCycle.speed = RGB_FUSION_GPU_SPEED_NORMAL; + SpectrumCycle.color_mode = MODE_COLORS_NONE; + SpectrumCycle.brightness_min = RGB_FUSION_GPU_BRIGHTNESS_MIN; + SpectrumCycle.brightness_max = RGB_FUSION_GPU_BRIGHTNESS_MAX; + SpectrumCycle.brightness = RGB_FUSION_GPU_BRIGHTNESS_MAX; modes.push_back(SpectrumCycle); SetupZones();