From 676547b8b0c1ce63b22e7a5ff53f36f5550e4df9 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Sun, 17 Aug 2025 01:17:02 -0500 Subject: [PATCH] Pass name string into I2C DIMM detectors, store name in KingstonFuryDRAMController to avoid setting it in detector --- .../CorsairVengeanceControllerDetect.cpp | 2 +- .../HyperXDRAMControllerDetect.cpp | 2 +- .../KingstonFuryDRAMController.cpp | 9 +- .../KingstonFuryDRAMController.h | 5 +- .../KingstonFuryDRAMControllerDetect.cpp | 28 +- .../RGBController_KingstonFuryDRAM.cpp | 392 ++++++++---------- .../PatriotViperControllerDetect.cpp | 2 +- .../PatriotViperSteelControllerDetect.cpp | 2 +- .../TForceXtreemControllerDetect.cpp | 2 +- ResourceManager.cpp | 2 +- ResourceManager.h | 18 +- 11 files changed, 222 insertions(+), 242 deletions(-) diff --git a/Controllers/CorsairVengeanceController/CorsairVengeanceControllerDetect.cpp b/Controllers/CorsairVengeanceController/CorsairVengeanceControllerDetect.cpp index bc67def7..04ee9b0d 100644 --- a/Controllers/CorsairVengeanceController/CorsairVengeanceControllerDetect.cpp +++ b/Controllers/CorsairVengeanceController/CorsairVengeanceControllerDetect.cpp @@ -61,7 +61,7 @@ bool TestForCorsairVengeanceController(i2c_smbus_interface* bus, unsigned char a * * \******************************************************************************************/ -void DetectCorsairVengeanceControllers(i2c_smbus_interface* bus, std::vector &slots) +void DetectCorsairVengeanceControllers(i2c_smbus_interface* bus, std::vector &slots, const std::string &/*name*/) { for(SPDWrapper *slot : slots) { diff --git a/Controllers/HyperXDRAMController/HyperXDRAMControllerDetect.cpp b/Controllers/HyperXDRAMController/HyperXDRAMControllerDetect.cpp index a4e7cbf7..1abde868 100644 --- a/Controllers/HyperXDRAMController/HyperXDRAMControllerDetect.cpp +++ b/Controllers/HyperXDRAMController/HyperXDRAMControllerDetect.cpp @@ -67,7 +67,7 @@ bool TestForHyperXDRAMController(i2c_smbus_interface* bus, unsigned char address * * \******************************************************************************************/ -void DetectHyperXDRAMControllers(i2c_smbus_interface* bus, std::vector &slots) +void DetectHyperXDRAMControllers(i2c_smbus_interface* bus, std::vector &slots, const std::string &/*name*/) { unsigned char slots_valid = 0x00; bool fury_detected = false; diff --git a/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.cpp b/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.cpp index 4cc98915..a48f84bd 100644 --- a/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.cpp +++ b/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.cpp @@ -16,12 +16,12 @@ #include "RGBController.h" #include "LogManager.h" -KingstonFuryDRAMController::KingstonFuryDRAMController( - i2c_smbus_interface* bus, unsigned char base_addr, std::vector slots) +KingstonFuryDRAMController::KingstonFuryDRAMController(i2c_smbus_interface* bus, unsigned char base_addr, std::vector slots, std::string dev_name) { this->bus = bus; this->base_addr = base_addr; this->slots = slots; + this->name = dev_name; reg_cache.resize(slots.size()); } @@ -47,6 +47,11 @@ std::string KingstonFuryDRAMController::GetDeviceLocation() return("I2C: " + return_string); } +std::string KingstonFuryDRAMController::GetDeviceName() +{ + return(name); +} + unsigned int KingstonFuryDRAMController::GetLEDCount() { return(GetLEDPerDIMM() * (unsigned int)slots.size()); diff --git a/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.h b/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.h index a91d5223..6f4bfc8b 100644 --- a/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.h +++ b/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.h @@ -124,9 +124,11 @@ enum class KingstonFuryDRAMController { public: - KingstonFuryDRAMController(i2c_smbus_interface* bus, unsigned char base_addr, std::vector slots); + KingstonFuryDRAMController(i2c_smbus_interface* bus, unsigned char base_addr, std::vector slots, std::string dev_name); std::string GetDeviceLocation(); + std::string GetDeviceName(); + unsigned int GetLEDCount(); unsigned int GetLEDPerDIMM(); unsigned int GetSlotCount(); @@ -152,5 +154,6 @@ private: i2c_smbus_interface* bus; std::vector slots; unsigned char base_addr; + std::string name; std::vector> reg_cache; }; diff --git a/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMControllerDetect.cpp b/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMControllerDetect.cpp index 743d31df..ebdf3e93 100644 --- a/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMControllerDetect.cpp +++ b/Controllers/KingstonFuryDRAMController/KingstonFuryDRAMControllerDetect.cpp @@ -164,7 +164,7 @@ void DetectKingstonFuryDRAMControllers(i2c_smbus_interface* bus, std::vector &slots) +void DetectKingstonFuryDDR4Controllers(i2c_smbus_interface* bus, std::vector &slots, const std::string &name) { std::vector fury_slots; @@ -172,16 +172,14 @@ void DetectKingstonFuryDDR4Controllers(i2c_smbus_interface* bus, std::vectorname = "Kingston Fury DDR4 RGB"; + KingstonFuryDRAMController* controller = new KingstonFuryDRAMController(bus, FURY_BASE_ADDR_DDR4, fury_slots, name); + RGBController_KingstonFuryDRAM* rgb_controller = new RGBController_KingstonFuryDRAM(controller); + ResourceManager::get()->RegisterRGBController(rgb_controller); } } -void DetectKingstonFuryDDR5Controllers(i2c_smbus_interface* bus, std::vector &slots) +void DetectKingstonFuryDDR5Controllers(i2c_smbus_interface* bus, std::vector &slots, const std::string &name) { std::vector fury_slots; @@ -189,16 +187,14 @@ void DetectKingstonFuryDDR5Controllers(i2c_smbus_interface* bus, std::vectorname = "Kingston Fury DDR5 RGB"; + KingstonFuryDRAMController* controller = new KingstonFuryDRAMController(bus, FURY_BASE_ADDR_DDR5, fury_slots, name); + RGBController_KingstonFuryDRAM* rgb_controller = new RGBController_KingstonFuryDRAM(controller); + ResourceManager::get()->RegisterRGBController(rgb_controller); } } -REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR4 DRAM", DetectKingstonFuryDDR4Controllers, JEDEC_KINGSTON, SPD_DDR4_SDRAM); -REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR5 DRAM", DetectKingstonFuryDDR5Controllers, JEDEC_KINGSTON, SPD_DDR5_SDRAM); -REGISTER_I2C_DIMM_DETECTOR("Kingston JEDEC2 Fury DDR4 DRAM", DetectKingstonFuryDDR4Controllers, JEDEC_KINGSTON_2, SPD_DDR4_SDRAM); -REGISTER_I2C_DIMM_DETECTOR("Kingston JEDEC2 Fury DDR5 DRAM", DetectKingstonFuryDDR5Controllers, JEDEC_KINGSTON_2, SPD_DDR5_SDRAM); +REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR4 DRAM", DetectKingstonFuryDDR4Controllers, JEDEC_KINGSTON, SPD_DDR4_SDRAM); +REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR4 DRAM", DetectKingstonFuryDDR4Controllers, JEDEC_KINGSTON_2, SPD_DDR4_SDRAM); +REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR5 DRAM", DetectKingstonFuryDDR5Controllers, JEDEC_KINGSTON, SPD_DDR5_SDRAM); +REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR5 DRAM", DetectKingstonFuryDDR5Controllers, JEDEC_KINGSTON_2, SPD_DDR5_SDRAM); diff --git a/Controllers/KingstonFuryDRAMController/RGBController_KingstonFuryDRAM.cpp b/Controllers/KingstonFuryDRAMController/RGBController_KingstonFuryDRAM.cpp index 3051b611..02da5f4a 100644 --- a/Controllers/KingstonFuryDRAMController/RGBController_KingstonFuryDRAM.cpp +++ b/Controllers/KingstonFuryDRAMController/RGBController_KingstonFuryDRAM.cpp @@ -42,51 +42,50 @@ const RGBColor default_colors[] = RGBController_KingstonFuryDRAM::RGBController_KingstonFuryDRAM(KingstonFuryDRAMController* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "Kingston Fury DDR4/5 DRAM"; - vendor = "Kingston"; - type = DEVICE_TYPE_DRAM; - description = "Kingston Fury Beast/Renegade DDR4/5 DRAM Device"; - location = controller->GetDeviceLocation(); + name = controller->GetDeviceName(); + vendor = "Kingston"; + type = DEVICE_TYPE_DRAM; + description = "Kingston Fury Beast/Renegade DDR4/5 DRAM Device"; + location = controller->GetDeviceLocation(); mode Direct; - Direct.name = "Direct"; - Direct.value = FURY_MODE_DIRECT; - Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - Direct.color_mode = MODE_COLORS_PER_LED; - Direct.brightness_min = 0; - Direct.brightness_max = 100; - Direct.brightness = 80; + Direct.name = "Direct"; + Direct.value = FURY_MODE_DIRECT; + Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + Direct.color_mode = MODE_COLORS_PER_LED; + Direct.brightness_min = 0; + Direct.brightness_max = 100; + Direct.brightness = 80; modes.push_back(Direct); mode Static; - Static.name = "Static"; - Static.value = FURY_MODE_STATIC; - Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - Static.color_mode = MODE_COLORS_MODE_SPECIFIC; - Static.colors_min = 1; - Static.colors_max = 1; + Static.name = "Static"; + Static.value = FURY_MODE_STATIC; + Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + Static.color_mode = MODE_COLORS_MODE_SPECIFIC; + Static.colors_min = 1; + Static.colors_max = 1; Static.colors.assign(default_colors, default_colors + 1); - Static.brightness_min = 0; - Static.brightness_max = 100; - Static.brightness = 80; + Static.brightness_min = 0; + Static.brightness_max = 100; + Static.brightness = 80; modes.push_back(Static); // All speed values are inverted mode Rainbow; - Rainbow.name = "Rainbow"; - Rainbow.value = FURY_MODE_RAINBOW; - Rainbow.flags = MODE_FLAG_HAS_SPEED | - MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; - Rainbow.speed_min = 60; - Rainbow.speed_max = 0; - Rainbow.speed = 25; - Rainbow.direction = MODE_DIRECTION_UP; - Rainbow.brightness_min = 0; - Rainbow.brightness_max = 100; - Rainbow.brightness = 80; - Rainbow.color_mode = MODE_COLORS_NONE; + Rainbow.name = "Rainbow"; + Rainbow.value = FURY_MODE_RAINBOW; + Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; + Rainbow.speed_min = 60; + Rainbow.speed_max = 0; + Rainbow.speed = 25; + Rainbow.direction = MODE_DIRECTION_UP; + Rainbow.brightness_min = 0; + Rainbow.brightness_max = 100; + Rainbow.brightness = 80; + Rainbow.color_mode = MODE_COLORS_NONE; modes.push_back(Rainbow); mode Spectrum; @@ -105,101 +104,93 @@ RGBController_KingstonFuryDRAM::RGBController_KingstonFuryDRAM(KingstonFuryDRAMC modes.push_back(Spectrum); mode Rhythm; - Rhythm.name = "Rhythm"; - Rhythm.value = FURY_MODE_RHYTHM; - Rhythm.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; - Rhythm.color_mode = MODE_COLORS_MODE_SPECIFIC; - Rhythm.colors_min = 2; - Rhythm.colors_max = 11; + Rhythm.name = "Rhythm"; + Rhythm.value = FURY_MODE_RHYTHM; + Rhythm.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; + Rhythm.color_mode = MODE_COLORS_MODE_SPECIFIC; + Rhythm.colors_min = 2; + Rhythm.colors_max = 11; Rhythm.colors.assign(default_colors, default_colors + 10); Rhythm.colors.push_back(FURY_DEFAULT_BG_COLOR); - Rhythm.speed_min = 10; - Rhythm.speed_max = 0; - Rhythm.speed = 0; - Rhythm.brightness_min = 0; - Rhythm.brightness_max = 100; - Rhythm.brightness = 80; + Rhythm.speed_min = 10; + Rhythm.speed_max = 0; + Rhythm.speed = 0; + Rhythm.brightness_min = 0; + Rhythm.brightness_max = 100; + Rhythm.brightness = 80; modes.push_back(Rhythm); mode Breath; - Breath.name = "Breath"; - Breath.value = FURY_MODE_BREATH; - Breath.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | - MODE_FLAG_HAS_BRIGHTNESS; - Breath.color_mode = MODE_COLORS_MODE_SPECIFIC; - Breath.colors_min = 1; - Breath.colors_max = 10; + Breath.name = "Breath"; + Breath.value = FURY_MODE_BREATH; + Breath.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; + Breath.color_mode = MODE_COLORS_MODE_SPECIFIC; + Breath.colors_min = 1; + Breath.colors_max = 10; Breath.colors.assign(default_colors, default_colors + 10); - Breath.speed_min = 10; - Breath.speed_max = 1; - Breath.speed = 5; - Breath.brightness_min = 0; - Breath.brightness_max = 100; - Breath.brightness = 80; + Breath.speed_min = 10; + Breath.speed_max = 1; + Breath.speed = 5; + Breath.brightness_min = 0; + Breath.brightness_max = 100; + Breath.brightness = 80; modes.push_back(Breath); mode Dynamic; - Dynamic.name = "Dynamic"; - Dynamic.value = FURY_MODE_DYNAMIC; - Dynamic.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; - Dynamic.color_mode = MODE_COLORS_MODE_SPECIFIC; - Dynamic.colors_min = 1; - Dynamic.colors_max = 10; + Dynamic.name = "Dynamic"; + Dynamic.value = FURY_MODE_DYNAMIC; + Dynamic.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; + Dynamic.color_mode = MODE_COLORS_MODE_SPECIFIC; + Dynamic.colors_min = 1; + Dynamic.colors_max = 10; Dynamic.colors.assign(default_colors, default_colors + 10); - Dynamic.speed_min = 1000; - Dynamic.speed_max = 100; - Dynamic.speed = 300; - Dynamic.brightness_min = 0; - Dynamic.brightness_max = 100; - Dynamic.brightness = 80; + Dynamic.speed_min = 1000; + Dynamic.speed_max = 100; + Dynamic.speed = 300; + Dynamic.brightness_min = 0; + Dynamic.brightness_max = 100; + Dynamic.brightness = 80; modes.push_back(Dynamic); mode Slide; - Slide.name = "Slide"; - Slide.value = FURY_MODE_SLIDE; - Slide.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | - MODE_FLAG_HAS_DIRECTION_UD; - Slide.color_mode = MODE_COLORS_MODE_SPECIFIC; - Slide.colors_min = 2; - Slide.colors_max = 11; + Slide.name = "Slide"; + Slide.value = FURY_MODE_SLIDE; + Slide.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; + Slide.color_mode = MODE_COLORS_MODE_SPECIFIC; + Slide.colors_min = 2; + Slide.colors_max = 11; Slide.colors.assign(default_colors, default_colors + 10); Slide.colors.push_back(FURY_DEFAULT_BG_COLOR); - Slide.speed_min = 255; - Slide.speed_max = 0; - Slide.speed = 8; - Slide.direction = MODE_DIRECTION_UP; - Slide.brightness_min = 0; - Slide.brightness_max = 100; - Slide.brightness = 80; + Slide.speed_min = 255; + Slide.speed_max = 0; + Slide.speed = 8; + Slide.direction = MODE_DIRECTION_UP; + Slide.brightness_min = 0; + Slide.brightness_max = 100; + Slide.brightness = 80; modes.push_back(Slide); mode Slither; - Slither.name = "Slither"; - Slither.value = FURY_MODE_SLITHER; - Slither.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; - Slither.color_mode = MODE_COLORS_MODE_SPECIFIC; - Slither.colors_min = 2; - Slither.colors_max = 11; + Slither.name = "Slither"; + Slither.value = FURY_MODE_SLITHER; + Slither.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; + Slither.color_mode = MODE_COLORS_MODE_SPECIFIC; + Slither.colors_min = 2; + Slither.colors_max = 11; Slither.colors.assign(default_colors, default_colors + 10); Slither.colors.push_back(FURY_DEFAULT_BG_COLOR); - Slither.speed_min = 255; - Slither.speed_max = 0; - Slither.speed = 40; - Slither.brightness_min = 0; - Slither.brightness_max = 100; - Slither.brightness = 80; + Slither.speed_min = 255; + Slither.speed_max = 0; + Slither.speed = 40; + Slither.brightness_min = 0; + Slither.brightness_max = 100; + Slither.brightness = 80; modes.push_back(Slither); mode Teleport; - Teleport.name = "Teleport"; + Teleport.name = "Teleport"; Teleport.value = FURY_MODE_TELEPORT; - Teleport.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; + Teleport.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; Teleport.color_mode = MODE_COLORS_MODE_SPECIFIC; Teleport.colors_min = 2; Teleport.colors_max = 11; @@ -214,69 +205,61 @@ RGBController_KingstonFuryDRAM::RGBController_KingstonFuryDRAM(KingstonFuryDRAMC modes.push_back(Teleport); mode Wind; - Wind.name = "Wind"; - Wind.value = FURY_MODE_WIND; - Wind.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | - MODE_FLAG_HAS_DIRECTION_UD; - Wind.color_mode = MODE_COLORS_MODE_SPECIFIC; - Wind.colors_min = 2; - Wind.colors_max = 11; + Wind.name = "Wind"; + Wind.value = FURY_MODE_WIND; + Wind.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; + Wind.color_mode = MODE_COLORS_MODE_SPECIFIC; + Wind.colors_min = 2; + Wind.colors_max = 11; Wind.colors.assign(default_colors, default_colors + 10); Wind.colors.push_back(FURY_DEFAULT_BG_COLOR); - Wind.speed_min = 255; - Wind.speed_max = 0; - Wind.speed = 8; - Wind.direction = MODE_DIRECTION_UP; - Wind.brightness_min = 0; - Wind.brightness_max = 100; - Wind.brightness = 80; + Wind.speed_min = 255; + Wind.speed_max = 0; + Wind.speed = 8; + Wind.direction = MODE_DIRECTION_UP; + Wind.brightness_min = 0; + Wind.brightness_max = 100; + Wind.brightness = 80; modes.push_back(Wind); mode Comet; - Comet.name = "Comet"; - Comet.value = FURY_MODE_COMET; - Comet.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | - MODE_FLAG_HAS_DIRECTION_UD; - Comet.color_mode = MODE_COLORS_MODE_SPECIFIC; - Comet.colors_min = 1; - Comet.colors_max = 10; + Comet.name = "Comet"; + Comet.value = FURY_MODE_COMET; + Comet.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; + Comet.color_mode = MODE_COLORS_MODE_SPECIFIC; + Comet.colors_min = 1; + Comet.colors_max = 10; Comet.colors.assign(default_colors, default_colors + 10); - Comet.speed_min = 255; - Comet.speed_max = 0; - Comet.speed = 25; - Comet.direction = MODE_DIRECTION_UP; - Comet.brightness_min = 0; - Comet.brightness_max = 100; - Comet.brightness = 80; + Comet.speed_min = 255; + Comet.speed_max = 0; + Comet.speed = 25; + Comet.direction = MODE_DIRECTION_UP; + Comet.brightness_min = 0; + Comet.brightness_max = 100; + Comet.brightness = 80; modes.push_back(Comet); mode Rain; - Rain.name = "Rain"; - Rain.value = FURY_MODE_RAIN; - Rain.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | - MODE_FLAG_HAS_DIRECTION_UD; - Rain.color_mode = MODE_COLORS_MODE_SPECIFIC; - Rain.colors_min = 1; - Rain.colors_max = 10; + Rain.name = "Rain"; + Rain.value = FURY_MODE_RAIN; + Rain.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; + Rain.color_mode = MODE_COLORS_MODE_SPECIFIC; + Rain.colors_min = 1; + Rain.colors_max = 10; Rain.colors.assign(default_colors, default_colors + 10); - Rain.speed_min = 28; - Rain.speed_max = 8; - Rain.speed = 25; - Rain.direction = MODE_DIRECTION_DOWN; - Rain.brightness_min = 0; - Rain.brightness_max = 100; - Rain.brightness = 80; + Rain.speed_min = 28; + Rain.speed_max = 8; + Rain.speed = 25; + Rain.direction = MODE_DIRECTION_DOWN; + Rain.brightness_min = 0; + Rain.brightness_max = 100; + Rain.brightness = 80; modes.push_back(Rain); mode Firework; Firework.name = "Firework"; Firework.value = FURY_MODE_FIREWORK; - Firework.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | - MODE_FLAG_HAS_DIRECTION_UD; + Firework.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; Firework.color_mode = MODE_COLORS_MODE_SPECIFIC; Firework.colors_min = 1; Firework.colors_max = 10; @@ -291,32 +274,28 @@ RGBController_KingstonFuryDRAM::RGBController_KingstonFuryDRAM(KingstonFuryDRAMC modes.push_back(Firework); mode Voltage; - Voltage.name = "Voltage"; - Voltage.value = FURY_MODE_VOLTAGE; - Voltage.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | - MODE_FLAG_HAS_DIRECTION_UD; - Voltage.color_mode = MODE_COLORS_MODE_SPECIFIC; - Voltage.colors_min = 2; - Voltage.colors_max = 11; + Voltage.name = "Voltage"; + Voltage.value = FURY_MODE_VOLTAGE; + Voltage.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; + Voltage.color_mode = MODE_COLORS_MODE_SPECIFIC; + Voltage.colors_min = 2; + Voltage.colors_max = 11; Voltage.colors.assign(default_colors, default_colors + 10); Voltage.colors.push_back(FURY_DEFAULT_BG_COLOR); - Voltage.speed_min = 18; - Voltage.speed_max = 5; - Voltage.speed = 16; - Voltage.direction = MODE_DIRECTION_UP; - Voltage.brightness_min = 0; - Voltage.brightness_max = 100; - Voltage.brightness = 80; + Voltage.speed_min = 18; + Voltage.speed_max = 5; + Voltage.speed = 16; + Voltage.direction = MODE_DIRECTION_UP; + Voltage.brightness_min = 0; + Voltage.brightness_max = 100; + Voltage.brightness = 80; modes.push_back(Voltage); #ifdef FURY_SYNC mode Countdown; Countdown.name = "Countdown"; Countdown.value = FURY_MODE_COUNTDOWN; - Countdown.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | - MODE_FLAG_HAS_DIRECTION_UD; + Countdown.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; Countdown.color_mode = MODE_COLORS_MODE_SPECIFIC; Countdown.colors_min = 2; Countdown.colors_max = 11; @@ -333,18 +312,17 @@ RGBController_KingstonFuryDRAM::RGBController_KingstonFuryDRAM(KingstonFuryDRAMC #endif mode Flame; - Flame.name = "Flame"; - Flame.value = FURY_MODE_FLAME; - Flame.flags = MODE_FLAG_HAS_SPEED | - MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; - Flame.speed_min = 64; - Flame.speed_max = 40; - Flame.speed = 64; - Flame.direction = MODE_DIRECTION_UP; - Flame.brightness_min = 0; - Flame.brightness_max = 100; - Flame.brightness = 80; - Flame.color_mode = MODE_COLORS_NONE; + Flame.name = "Flame"; + Flame.value = FURY_MODE_FLAME; + Flame.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; + Flame.speed_min = 64; + Flame.speed_max = 40; + Flame.speed = 64; + Flame.direction = MODE_DIRECTION_UP; + Flame.brightness_min = 0; + Flame.brightness_max = 100; + Flame.brightness = 80; + Flame.color_mode = MODE_COLORS_NONE; modes.push_back(Flame); mode Twilight; @@ -361,36 +339,34 @@ RGBController_KingstonFuryDRAM::RGBController_KingstonFuryDRAM(KingstonFuryDRAMC modes.push_back(Twilight); mode Fury; - Fury.name = "Fury"; - Fury.value = FURY_MODE_FURY; - Fury.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | - MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | - MODE_FLAG_HAS_DIRECTION_UD; - Fury.color_mode = MODE_COLORS_MODE_SPECIFIC; - Fury.colors_min = 2; - Fury.colors_max = 11; + Fury.name = "Fury"; + Fury.value = FURY_MODE_FURY; + Fury.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_UD; + Fury.color_mode = MODE_COLORS_MODE_SPECIFIC; + Fury.colors_min = 2; + Fury.colors_max = 11; Fury.colors.assign(default_colors, default_colors + 10); Fury.colors.push_back(FURY_DEFAULT_BG_COLOR); - Fury.speed_min = 255; - Fury.speed_max = 0; - Fury.speed = 76; - Fury.direction = MODE_DIRECTION_UP; - Fury.brightness_min = 0; - Fury.brightness_max = 100; - Fury.brightness = 80; + Fury.speed_min = 255; + Fury.speed_max = 0; + Fury.speed = 76; + Fury.direction = MODE_DIRECTION_UP; + Fury.brightness_min = 0; + Fury.brightness_max = 100; + Fury.brightness = 80; modes.push_back(Fury); mode Prism; - Prism.name = "Prism"; - Prism.value = FURY_MODE_PRISM; - Prism.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; - Prism.speed_min = 60; - Prism.speed_max = 0; - Prism.speed = 40; - Prism.brightness_min = 0; - Prism.brightness_max = 100; - Prism.brightness = 80; - Prism.color_mode = MODE_COLORS_NONE; + Prism.name = "Prism"; + Prism.value = FURY_MODE_PRISM; + Prism.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; + Prism.speed_min = 60; + Prism.speed_max = 0; + Prism.speed = 40; + Prism.brightness_min = 0; + Prism.brightness_max = 100; + Prism.brightness = 80; + Prism.color_mode = MODE_COLORS_NONE; modes.push_back(Prism); SetupZones(); diff --git a/Controllers/PatriotViperController/PatriotViperControllerDetect.cpp b/Controllers/PatriotViperController/PatriotViperControllerDetect.cpp index 5bcfc90b..b34d439b 100644 --- a/Controllers/PatriotViperController/PatriotViperControllerDetect.cpp +++ b/Controllers/PatriotViperController/PatriotViperControllerDetect.cpp @@ -57,7 +57,7 @@ bool TestForPatriotViperController(i2c_smbus_interface* bus, unsigned char addre * * \******************************************************************************************/ -void DetectPatriotViperControllers(i2c_smbus_interface* bus, std::vector &slots) +void DetectPatriotViperControllers(i2c_smbus_interface* bus, std::vector &slots, const std::string &/*name*/) { unsigned char slots_valid = 0x00; diff --git a/Controllers/PatriotViperSteelController/PatriotViperSteelControllerDetect.cpp b/Controllers/PatriotViperSteelController/PatriotViperSteelControllerDetect.cpp index 7b0a37f0..fba0e9e1 100644 --- a/Controllers/PatriotViperSteelController/PatriotViperSteelControllerDetect.cpp +++ b/Controllers/PatriotViperSteelController/PatriotViperSteelControllerDetect.cpp @@ -55,7 +55,7 @@ bool TestForPatriotViperSteelController(i2c_smbus_interface* bus, unsigned char * * \******************************************************************************************/ -void DetectPatriotViperSteelControllers(i2c_smbus_interface* bus, std::vector &slots) +void DetectPatriotViperSteelControllers(i2c_smbus_interface* bus, std::vector &slots, const std::string &/*name*/) { unsigned char slots_valid = 0x00; diff --git a/Controllers/TForceXtreemController/TForceXtreemControllerDetect.cpp b/Controllers/TForceXtreemController/TForceXtreemControllerDetect.cpp index e5a7452b..a8637ae2 100644 --- a/Controllers/TForceXtreemController/TForceXtreemControllerDetect.cpp +++ b/Controllers/TForceXtreemController/TForceXtreemControllerDetect.cpp @@ -123,7 +123,7 @@ bool TestForTForceXtreemController(i2c_smbus_interface* bus, unsigned char addre * * \******************************************************************************************/ -void DetectTForceXtreemControllers(i2c_smbus_interface* bus, std::vector &slots) +void DetectTForceXtreemControllers(i2c_smbus_interface* bus, std::vector &slots, const std::string &/*name*/) { LOG_DEBUG("[%s] Remapping ENE SMBus RAM modules on 0x77", DETECTOR_NAME); diff --git a/ResourceManager.cpp b/ResourceManager.cpp index 120c9f1e..1238fd06 100644 --- a/ResourceManager.cpp +++ b/ResourceManager.cpp @@ -1260,7 +1260,7 @@ void ResourceManager::DetectDevicesCoroutine() DetectionProgressChanged(); std::vector matching_slots = slots_with_jedec(slots, i2c_dimm_device_detectors[i2c_detector_idx].jedec_id); - i2c_dimm_device_detectors[i2c_detector_idx].function(busses[bus], matching_slots); + i2c_dimm_device_detectors[i2c_detector_idx].function(busses[bus], matching_slots, i2c_dimm_device_detectors[i2c_detector_idx].name); } LOG_TRACE("[%s] detection end", detection_string); diff --git a/ResourceManager.h b/ResourceManager.h index 619c6e73..6a3e42dc 100644 --- a/ResourceManager.h +++ b/ResourceManager.h @@ -39,15 +39,15 @@ class ProfileManager; class RGBController; class SettingsManager; -typedef std::function I2CBusDetectorFunction; -typedef std::function DeviceDetectorFunction; -typedef std::function&)> I2CDeviceDetectorFunction; -typedef std::function&)> I2CDIMMDeviceDetectorFunction; -typedef std::function I2CPCIDeviceDetectorFunction; -typedef std::function HIDDeviceDetectorFunction; -typedef std::function HIDWrappedDeviceDetectorFunction; -typedef std::function DynamicDetectorFunction; -typedef std::function PreDetectionHookFunction; +typedef std::function I2CBusDetectorFunction; +typedef std::function DeviceDetectorFunction; +typedef std::function&)> I2CDeviceDetectorFunction; +typedef std::function&, const std::string&)> I2CDIMMDeviceDetectorFunction; +typedef std::function I2CPCIDeviceDetectorFunction; +typedef std::function HIDDeviceDetectorFunction; +typedef std::function HIDWrappedDeviceDetectorFunction; +typedef std::function DynamicDetectorFunction; +typedef std::function PreDetectionHookFunction; class BasicHIDBlock {