From 4df557391aaf14c903073f6198e3ef1641246322 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Fri, 2 Oct 2020 20:56:49 -0500 Subject: [PATCH] Use HID path for Location on AMD Wraith Prism controller --- .../AMDWraithPrismController.cpp | 10 ++++++++-- .../AMDWraithPrismController.h | 4 +++- .../AMDWraithPrismControllerDetect.cpp | 2 +- .../RGBController_AMDWraithPrism.cpp | 1 + 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Controllers/AMDWraithPrismController/AMDWraithPrismController.cpp b/Controllers/AMDWraithPrismController/AMDWraithPrismController.cpp index b074f1dd7..106896bc8 100644 --- a/Controllers/AMDWraithPrismController/AMDWraithPrismController.cpp +++ b/Controllers/AMDWraithPrismController/AMDWraithPrismController.cpp @@ -12,9 +12,10 @@ #include #include -AMDWraithPrismController::AMDWraithPrismController(hid_device* dev_handle) +AMDWraithPrismController::AMDWraithPrismController(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; strcpy(device_name, "AMD Wraith Prism"); @@ -38,6 +39,11 @@ AMDWraithPrismController::~AMDWraithPrismController() } +std::string AMDWraithPrismController::GetLocationString() +{ + return(location); +} + char* AMDWraithPrismController::GetDeviceName() { return device_name; diff --git a/Controllers/AMDWraithPrismController/AMDWraithPrismController.h b/Controllers/AMDWraithPrismController/AMDWraithPrismController.h index aa213ea0f..ab6fd6b88 100644 --- a/Controllers/AMDWraithPrismController/AMDWraithPrismController.h +++ b/Controllers/AMDWraithPrismController/AMDWraithPrismController.h @@ -109,13 +109,14 @@ enum class AMDWraithPrismController { public: - AMDWraithPrismController(hid_device* dev_handle); + AMDWraithPrismController(hid_device* dev_handle, const char* path); ~AMDWraithPrismController(); char* GetDeviceName(); std::string GetEffectChannelString(unsigned char channel); std::string GetFirmwareVersionString(); + std::string GetLocationString(); void SetRingEffectChannel(unsigned char channel); @@ -131,6 +132,7 @@ public: private: char device_name[32]; hid_device* dev; + std::string location; unsigned char current_fan_mode; unsigned char current_fan_speed; diff --git a/Controllers/AMDWraithPrismController/AMDWraithPrismControllerDetect.cpp b/Controllers/AMDWraithPrismController/AMDWraithPrismControllerDetect.cpp index 1b408936e..c620b2f1d 100644 --- a/Controllers/AMDWraithPrismController/AMDWraithPrismControllerDetect.cpp +++ b/Controllers/AMDWraithPrismController/AMDWraithPrismControllerDetect.cpp @@ -40,7 +40,7 @@ void DetectAMDWraithPrismControllers(std::vector& rgb_controller if( dev ) { - AMDWraithPrismController* controller = new AMDWraithPrismController(dev); + AMDWraithPrismController* controller = new AMDWraithPrismController(dev, info->path); RGBController_AMDWraithPrism* rgb_controller = new RGBController_AMDWraithPrism(controller); diff --git a/Controllers/AMDWraithPrismController/RGBController_AMDWraithPrism.cpp b/Controllers/AMDWraithPrismController/RGBController_AMDWraithPrism.cpp index c835af82f..8e1cb3362 100644 --- a/Controllers/AMDWraithPrismController/RGBController_AMDWraithPrism.cpp +++ b/Controllers/AMDWraithPrismController/RGBController_AMDWraithPrism.cpp @@ -17,6 +17,7 @@ RGBController_AMDWraithPrism::RGBController_AMDWraithPrism(AMDWraithPrismControl type = DEVICE_TYPE_COOLER; description = "AMD Wraith Prism Device"; version = wraith->GetFirmwareVersionString(); + location = wraith->GetLocationString(); mode Direct; Direct.name = "Direct";