From 6e685be02d6eb04ed19b44e2cc41b19b98a5f449 Mon Sep 17 00:00:00 2001 From: Fabius Mettner Date: Fri, 16 May 2025 06:42:11 +0000 Subject: [PATCH] Add support for NZXT B650E Mainboard in NZXT Hue 2 Controller and allow Resizing NZXT Hue 2 controlled devices --- .../NZXTHue2Controller/NZXTHue2ControllerDetect.cpp | 8 ++++++++ .../NZXTHue2Controller/RGBController_NZXTHue2.cpp | 13 ++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp b/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp index 35698738..e4bf5fc5 100644 --- a/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp +++ b/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp @@ -11,6 +11,7 @@ #include #include "Detector.h" +#include "LogManager.h" #include "NZXTHue2Controller.h" #include "RGBController_NZXTHue2.h" @@ -31,6 +32,7 @@ #define NZXT_RGB_FAN_CONTROLLER6_PID 0x2020 #define NZXT_RGB_FAN_CONTROLLER7_PID 0x201F #define NZXT_RGB_FAN_CONTROLLER8_PID 0x2022 +#define NZXT_RGB_FAN_CONTROLLER9_PID 0x201B #define NZXT_RGB_CONTROLLER_1_PID 0x2012 #define NZXT_RGB_CONTROLLER_2_PID 0x2021 #define NZXT_SMART_DEVICE_V2_1_PID 0x200D @@ -47,6 +49,11 @@ static void spawn_hue(hid_device_info* info, const std::string& name, int rgb_ch rgb_controller->name = name; ResourceManager::get()->RegisterRGBController(rgb_controller); + LOG_TRACE("[NZXTHue2Controller] NZXT Controller setup: %s", info->path); + } + else + { + LOG_DEBUG("[NZXTHue2Controller] Failed to load device: %s!", info->path); } } @@ -103,6 +110,7 @@ REGISTER_HID_DETECTOR("NZXT RGB & Fan Controller", DetectNZXTFanControl REGISTER_HID_DETECTOR("NZXT RGB & Fan Controller", DetectNZXTFanController6Channel, NZXT_VID, NZXT_RGB_FAN_CONTROLLER6_PID); REGISTER_HID_DETECTOR("NZXT RGB & Fan Controller", DetectNZXTFanController6Channel, NZXT_VID, NZXT_RGB_FAN_CONTROLLER7_PID); REGISTER_HID_DETECTOR("NZXT RGB & Fan Controller 2024", DetectNZXTFanController6Channel, NZXT_VID, NZXT_RGB_FAN_CONTROLLER8_PID); +REGISTER_HID_DETECTOR("NZXT B650E Motherboard", DetectNZXTFanController6Channel, NZXT_VID, NZXT_RGB_FAN_CONTROLLER9_PID); REGISTER_HID_DETECTOR("NZXT Hue 2", DetectNZXTHue2, NZXT_VID, NZXT_HUE_2_PID); REGISTER_HID_DETECTOR("NZXT Hue 2 Ambient", DetectNZXTHue2Ambient, NZXT_VID, NZXT_HUE_2_AMBIENT_PID); REGISTER_HID_DETECTOR("NZXT Hue 2 Motherboard", DetectNZXTHue2Motherboard, NZXT_VID, NZXT_MOTHERBOARD_DEVICE_PID); diff --git a/Controllers/NZXTHue2Controller/RGBController_NZXTHue2.cpp b/Controllers/NZXTHue2Controller/RGBController_NZXTHue2.cpp index f3b2041f..2bd401c9 100644 --- a/Controllers/NZXTHue2Controller/RGBController_NZXTHue2.cpp +++ b/Controllers/NZXTHue2Controller/RGBController_NZXTHue2.cpp @@ -362,8 +362,19 @@ void RGBController_NZXTHue2::SetupZones() SetupColors(); } -void RGBController_NZXTHue2::ResizeZone(int /*zone*/, int /*new_size*/) +void RGBController_NZXTHue2::ResizeZone(int zone, int new_size) { + if((size_t) zone >= zones.size()) + { + return; + } + + if(((unsigned int)new_size >= zones[zone].leds_min) && ((unsigned int)new_size <= zones[zone].leds_max)) + { + zones[zone].leds_count = new_size; + + SetupZones(); + } }