diff --git a/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreController.cpp b/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreController.cpp index 63f130e6..72056cf3 100644 --- a/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreController.cpp +++ b/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreController.cpp @@ -17,10 +17,11 @@ using namespace std::chrono_literals; -CorsairCommanderCoreController::CorsairCommanderCoreController(hid_device* dev_handle, const char* path, int pid) +CorsairCommanderCoreController::CorsairCommanderCoreController(hid_device* dev_handle, const char* path, int pid, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; keepalive_thread_run = 1; controller_ready = 0; packet_size = CORSAIR_COMMANDER_CORE_PACKET_SIZE_V2; @@ -100,6 +101,11 @@ std::string CorsairCommanderCoreController::GetLocationString() return("HID: " + location); } +std::string CorsairCommanderCoreController::GetNameString() +{ + return(name); +} + std::vector CorsairCommanderCoreController::GetLedCounts() { /*-----------------------------------------------------*\ diff --git a/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreController.h b/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreController.h index 542fe196..81a2f376 100644 --- a/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreController.h +++ b/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreController.h @@ -33,12 +33,13 @@ enum class CorsairCommanderCoreController { public: - CorsairCommanderCoreController(hid_device* dev_handle, const char* path, int pid); + CorsairCommanderCoreController(hid_device* dev_handle, const char* path, int pid, std::string dev_name); ~CorsairCommanderCoreController(); std::string GetFirmwareString(); std::vector GetLedCounts(); std::string GetLocationString(); + std::string GetNameString(); void SetDirectColor ( @@ -57,6 +58,7 @@ private: std::string location; std::vector lastcolors; std::vector lastzones; + std::string name; unsigned short int version[3] = {0, 0, 0}; int packet_size; int command_res_size; diff --git a/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreControllerDetect.cpp b/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreControllerDetect.cpp index 160a33fc..526032dc 100644 --- a/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreControllerDetect.cpp +++ b/Controllers/CorsairCommanderCoreController/CorsairCommanderCoreControllerDetect.cpp @@ -31,30 +31,28 @@ /******************************************************************************************\ * * -* DetectCorsairCapellixControllers * +* DetectCorsairCommanderCoreControllers * * * * Tests the USB address to see if a Corsair RGB Cooler controller exists there. * * * \******************************************************************************************/ -void DetectCorsairCapellixHIDControllers(hid_device_info* info, const std::string& name) +void DetectCorsairCommanderCoreControllers(hid_device_info* info, const std::string& name) { hid_device* dev = hid_open_path(info->path); if(dev) { - CorsairCommanderCoreController* controller = new CorsairCommanderCoreController(dev, info->path, info->product_id); + CorsairCommanderCoreController* controller = new CorsairCommanderCoreController(dev, info->path, info->product_id, name); RGBController_CorsairCommanderCore* rgb_controller = new RGBController_CorsairCommanderCore(controller); - rgb_controller->name = name; - ResourceManager::get()->RegisterRGBController(rgb_controller); } } -REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCapellixHIDControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE_PID, 0x00, 0xFF42, 0x01); -REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCapellixHIDControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE2_PID, 0x00, 0xFF42, 0x01); -REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCapellixHIDControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE3_PID, 0x00, 0xFF42, 0x01); -REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCapellixHIDControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE4_PID, 0x00, 0xFF42, 0x01); -REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCapellixHIDControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE5_PID, 0x00, 0xFF42, 0x01); -REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCapellixHIDControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE6_PID, 0x00, 0xFF42, 0x01); +REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCommanderCoreControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE_PID, 0x00, 0xFF42, 0x01); +REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCommanderCoreControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE2_PID, 0x00, 0xFF42, 0x01); +REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCommanderCoreControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE3_PID, 0x00, 0xFF42, 0x01); +REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCommanderCoreControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE4_PID, 0x00, 0xFF42, 0x01); +REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCommanderCoreControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE5_PID, 0x00, 0xFF42, 0x01); +REGISTER_HID_DETECTOR_IPU("Corsair Commander Core", DetectCorsairCommanderCoreControllers, CORSAIR_VID, CORSAIR_COMMANDER_CORE6_PID, 0x00, 0xFF42, 0x01); diff --git a/Controllers/CorsairCommanderCoreController/RGBController_CorsairCommanderCore.cpp b/Controllers/CorsairCommanderCoreController/RGBController_CorsairCommanderCore.cpp index d2e6c8e4..0c25db58 100644 --- a/Controllers/CorsairCommanderCoreController/RGBController_CorsairCommanderCore.cpp +++ b/Controllers/CorsairCommanderCoreController/RGBController_CorsairCommanderCore.cpp @@ -53,6 +53,7 @@ RGBController_CorsairCommanderCore::RGBController_CorsairCommanderCore(CorsairCo { controller = controller_ptr; + name = controller->GetNameString(); vendor = "Corsair"; description = "Corsair Commander Core"; version = controller->GetFirmwareString();