Store name in CorsairHydroController to avoid setting it in detector

This commit is contained in:
Adam Honse 2025-08-04 17:35:00 -05:00
parent bf6fe2b4fb
commit 4639833bdb
4 changed files with 12 additions and 5 deletions

View file

@ -14,9 +14,10 @@
#include <sstream> #include <sstream>
#include "CorsairHydroController.h" #include "CorsairHydroController.h"
CorsairHydroController::CorsairHydroController(libusb_device_handle* dev_handle) CorsairHydroController::CorsairHydroController(libusb_device_handle* dev_handle, std::string dev_name)
{ {
dev = dev_handle; dev = dev_handle;
name = dev_name;
/*-----------------------------------------------------*\ /*-----------------------------------------------------*\
| Fill in location string with USB ID | | Fill in location string with USB ID |
@ -51,6 +52,11 @@ std::string CorsairHydroController::GetLocation()
return("USB: " + location); return("USB: " + location);
} }
std::string CorsairHydroController::GetNameString()
{
return(name);
}
void CorsairHydroController::SetBlink void CorsairHydroController::SetBlink
( (
std::vector<RGBColor> & colors, std::vector<RGBColor> & colors,

View file

@ -35,7 +35,7 @@ enum
class CorsairHydroController class CorsairHydroController
{ {
public: public:
CorsairHydroController(libusb_device_handle* dev_handle); CorsairHydroController(libusb_device_handle* dev_handle, std::string dev_name);
~CorsairHydroController(); ~CorsairHydroController();
unsigned char GetFanPercent(unsigned char fan_channel); unsigned char GetFanPercent(unsigned char fan_channel);
@ -43,8 +43,8 @@ public:
unsigned short GetFanRPM(unsigned char fan_channel); unsigned short GetFanRPM(unsigned char fan_channel);
std::string GetFirmwareString(); std::string GetFirmwareString();
std::string GetLocation(); std::string GetLocation();
std::string GetNameString();
void SetBlink void SetBlink
( (
@ -73,6 +73,7 @@ private:
libusb_device_handle* dev; libusb_device_handle* dev;
std::string firmware_version; std::string firmware_version;
std::string location; std::string location;
std::string name;
void SendApplyBlink(); void SendApplyBlink();
void SendApplyPulse(); void SendApplyPulse();

View file

@ -72,9 +72,8 @@ void DetectCorsairHydroControllers()
libusb_detach_kernel_driver(dev, 0); libusb_detach_kernel_driver(dev, 0);
libusb_claim_interface(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); RGBController_CorsairHydro* rgb_controller = new RGBController_CorsairHydro(controller);
rgb_controller->name = device_list[device_idx].name;
ResourceManager::get()->RegisterRGBController(rgb_controller); ResourceManager::get()->RegisterRGBController(rgb_controller);
} }

View file

@ -26,6 +26,7 @@ RGBController_CorsairHydro::RGBController_CorsairHydro(CorsairHydroController* c
{ {
controller = controller_ptr; controller = controller_ptr;
name = controller->GetNameString();
vendor = "Corsair"; vendor = "Corsair";
description = "Corsair Hydro Series Device"; description = "Corsair Hydro Series Device";
version = controller->GetFirmwareString(); version = controller->GetFirmwareString();