diff --git a/Controllers/CorsairHydroController/CorsairHydroController.cpp b/Controllers/CorsairHydroController/CorsairHydroController.cpp index 3d9ed686..0bac0521 100644 --- a/Controllers/CorsairHydroController/CorsairHydroController.cpp +++ b/Controllers/CorsairHydroController/CorsairHydroController.cpp @@ -14,9 +14,10 @@ #include #include "CorsairHydroController.h" -CorsairHydroController::CorsairHydroController(libusb_device_handle* dev_handle) +CorsairHydroController::CorsairHydroController(libusb_device_handle* dev_handle, std::string dev_name) { dev = dev_handle; + name = dev_name; /*-----------------------------------------------------*\ | Fill in location string with USB ID | @@ -51,6 +52,11 @@ std::string CorsairHydroController::GetLocation() return("USB: " + location); } +std::string CorsairHydroController::GetNameString() +{ + return(name); +} + void CorsairHydroController::SetBlink ( std::vector & colors, diff --git a/Controllers/CorsairHydroController/CorsairHydroController.h b/Controllers/CorsairHydroController/CorsairHydroController.h index f78e8f76..e9ac61aa 100644 --- a/Controllers/CorsairHydroController/CorsairHydroController.h +++ b/Controllers/CorsairHydroController/CorsairHydroController.h @@ -35,7 +35,7 @@ enum class CorsairHydroController { public: - CorsairHydroController(libusb_device_handle* dev_handle); + CorsairHydroController(libusb_device_handle* dev_handle, std::string dev_name); ~CorsairHydroController(); unsigned char GetFanPercent(unsigned char fan_channel); @@ -43,8 +43,8 @@ public: unsigned short GetFanRPM(unsigned char fan_channel); std::string GetFirmwareString(); - std::string GetLocation(); + std::string GetNameString(); void SetBlink ( @@ -73,6 +73,7 @@ private: libusb_device_handle* dev; std::string firmware_version; std::string location; + std::string name; void SendApplyBlink(); void SendApplyPulse(); diff --git a/Controllers/CorsairHydroController/CorsairHydroControllerDetect.cpp b/Controllers/CorsairHydroController/CorsairHydroControllerDetect.cpp index 15a32538..3f19c329 100644 --- a/Controllers/CorsairHydroController/CorsairHydroControllerDetect.cpp +++ b/Controllers/CorsairHydroController/CorsairHydroControllerDetect.cpp @@ -72,9 +72,8 @@ void DetectCorsairHydroControllers() libusb_detach_kernel_driver(dev, 0); libusb_claim_interface(dev, 0); - CorsairHydroController* controller = new CorsairHydroController(dev); + CorsairHydroController* controller = new CorsairHydroController(dev, device_list[device_idx].name); RGBController_CorsairHydro* rgb_controller = new RGBController_CorsairHydro(controller); - rgb_controller->name = device_list[device_idx].name; ResourceManager::get()->RegisterRGBController(rgb_controller); } diff --git a/Controllers/CorsairHydroController/RGBController_CorsairHydro.cpp b/Controllers/CorsairHydroController/RGBController_CorsairHydro.cpp index b8809be0..9dbadf2f 100644 --- a/Controllers/CorsairHydroController/RGBController_CorsairHydro.cpp +++ b/Controllers/CorsairHydroController/RGBController_CorsairHydro.cpp @@ -26,6 +26,7 @@ RGBController_CorsairHydro::RGBController_CorsairHydro(CorsairHydroController* c { controller = controller_ptr; + name = controller->GetNameString(); vendor = "Corsair"; description = "Corsair Hydro Series Device"; version = controller->GetFirmwareString();