diff --git a/OpenRGB.cpp b/OpenRGB.cpp index d7703d0a..e77d62ab 100644 --- a/OpenRGB.cpp +++ b/OpenRGB.cpp @@ -318,7 +318,7 @@ void DetectRGBControllers(void) DetectAuraGPUControllers(busses, rgb_controllers); DetectCorsairControllers(busses, rgb_controllers); DetectCorsairProControllers(busses, rgb_controllers); - //DetectCrucialControllers(busses, rgb_controllers); + DetectCrucialControllers(busses, rgb_controllers); DetectHyperXControllers(busses, rgb_controllers); //DetectPatriotViperControllers(busses, rgb_controllers); DetectPolychromeControllers(busses, rgb_controllers); diff --git a/OpenRGB.pro b/OpenRGB.pro index ed36c7e4..ea92a73c 100644 --- a/OpenRGB.pro +++ b/OpenRGB.pro @@ -36,7 +36,7 @@ INCLUDEPATH += \ # Controllers/CorsairKeyboardController/ \ Controllers/CorsairLightingNodeController/ \ Controllers/CorsairProController/ \ -# Controllers/CrucialController/ \ + Controllers/CrucialController/ \ Controllers/Hue2Controller/ \ Controllers/HuePlusController/ \ Controllers/HyperXController/ \ @@ -89,8 +89,8 @@ SOURCES += \ Controllers/CorsairLightingNodeController/CorsairLightingNodeControllerDetect.cpp \ Controllers/CorsairProController/CorsairProController.cpp \ Controllers/CorsairProController/CorsairProControllerDetect.cpp \ -# Controllers/CrucialController/CrucialController.cpp \ -# Controllers/CrucialController/CrucialControllerDetect.cpp \ + Controllers/CrucialController/CrucialController.cpp \ + Controllers/CrucialController/CrucialControllerDetect.cpp \ Controllers/Hue2Controller/Hue2Controller.cpp \ Controllers/Hue2Controller/Hue2ControllerDetect.cpp \ Controllers/HuePlusController/HuePlusController.cpp \ @@ -128,7 +128,7 @@ SOURCES += \ # RGBController/RGBController_CorsairKeyboard.cpp \ RGBController/RGBController_CorsairLightingNode.cpp \ RGBController/RGBController_CorsairPro.cpp \ -# RGBController/RGBController_Crucial.cpp \ + RGBController/RGBController_Crucial.cpp \ RGBController/RGBController_Dummy.cpp \ RGBController/RGBController_Hue2.cpp \ RGBController/RGBController_HuePlus.cpp \ diff --git a/RGBController/RGBController_Crucial.cpp b/RGBController/RGBController_Crucial.cpp index 5d94132b..5d8bfebe 100644 --- a/RGBController/RGBController_Crucial.cpp +++ b/RGBController/RGBController_Crucial.cpp @@ -9,28 +9,6 @@ #include "RGBController_Crucial.h" -void RGBController_Crucial::UpdateLEDs() -{ - if(modes[active_mode].value == 0xFFFF) - { - crucial->SetAllColorsDirect(&colors[0]); - } - else - { - - } -} - -void RGBController_Crucial::UpdateZoneLEDs(int zone) -{ - UpdateLEDs(); -} - -void RGBController_Crucial::UpdateSingleLED(int led) -{ - UpdateLEDs(); -} - RGBController_Crucial::RGBController_Crucial(CrucialController * crucial_ptr) { crucial = crucial_ptr; @@ -127,26 +105,63 @@ RGBController_Crucial::RGBController_Crucial(CrucialController * crucial_ptr) modes.push_back(Static); #endif + SetupZones(); +} + +void RGBController_Crucial::SetupZones() +{ + /*---------------------------------------------------------*\ + | Set up zone | + \*---------------------------------------------------------*/ zone new_zone; - new_zone.name = "DRAM"; - new_zone.type = ZONE_TYPE_LINEAR; - - std::vector new_zone_map; + new_zone.name = "DRAM"; + new_zone.type = ZONE_TYPE_LINEAR; + new_zone.leds_min = 8; + new_zone.leds_max = 8; + new_zone.leds_count = 8; + zones.push_back(new_zone); - for(int led_idx = 0; led_idx < 8; led_idx++) + /*---------------------------------------------------------*\ + | Set up LEDs | + \*---------------------------------------------------------*/ + for(int led_idx = 0; led_idx < zones[0].leds_count; led_idx++) { - colors.push_back(0x00000000); - led new_led; - new_led.name = "DRAM LED"; - + new_led.name = "DRAM LED "; + new_led.name.append(std::to_string(led_idx)); leds.push_back(new_led); - new_zone_map.push_back(led_idx); } - new_zone.map.push_back(new_zone_map); + SetupColors(); +} - zones.push_back(new_zone); +void RGBController_Crucial::ResizeZone(int /*zone*/, int /*new_size*/) +{ + /*---------------------------------------------------------*\ + | This device does not support resizing zones | + \*---------------------------------------------------------*/ +} + +void RGBController_Crucial::UpdateLEDs() +{ + if(modes[active_mode].value == 0xFFFF) + { + crucial->SetAllColorsDirect(&colors[0]); + } + else + { + + } +} + +void RGBController_Crucial::UpdateZoneLEDs(int zone) +{ + UpdateLEDs(); +} + +void RGBController_Crucial::UpdateSingleLED(int led) +{ + UpdateLEDs(); } void RGBController_Crucial::SetCustomMode() diff --git a/RGBController/RGBController_Crucial.h b/RGBController/RGBController_Crucial.h index ddcb8aed..1cfd3775 100644 --- a/RGBController/RGBController_Crucial.h +++ b/RGBController/RGBController_Crucial.h @@ -16,6 +16,11 @@ class RGBController_Crucial : public RGBController { public: RGBController_Crucial(CrucialController* crucial_ptr); + + void SetupZones(); + + void ResizeZone(int zone, int new_size); + void UpdateLEDs(); void UpdateZoneLEDs(int zone); void UpdateSingleLED(int led);