From e4229aae47604a91c83c8ea0d7bcb74a7928fddf Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Mon, 5 Oct 2020 00:05:18 -0500 Subject: [PATCH] Use HID path for Location on NZXT Kraken controller --- .../NZXTKrakenController/NZXTKrakenController.cpp | 10 ++++++++-- .../NZXTKrakenController/NZXTKrakenController.h | 4 +++- .../NZXTKrakenControllerDetect.cpp | 2 +- .../NZXTKrakenController/RGBController_NZXTKraken.cpp | 1 + 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Controllers/NZXTKrakenController/NZXTKrakenController.cpp b/Controllers/NZXTKrakenController/NZXTKrakenController.cpp index b493e302..2579f3f9 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenController.cpp +++ b/Controllers/NZXTKrakenController/NZXTKrakenController.cpp @@ -27,9 +27,10 @@ static RGBColor ToLogoColor(RGBColor rgb) return ToRGBColor(RGBGetGValue(rgb), RGBGetRValue(rgb), RGBGetBValue(rgb)); } -NZXTKrakenController::NZXTKrakenController(hid_device* dev_handle) +NZXTKrakenController::NZXTKrakenController(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; /*-----------------------------------------------------*\ | Get the firmware version | @@ -47,6 +48,11 @@ std::string NZXTKrakenController::GetFirmwareVersion() return firmware_version; } +std::string NZXTKrakenController::GetLocation() +{ + return(location); +} + void NZXTKrakenController::UpdateStatus() { unsigned char usb_buf[64]; diff --git a/Controllers/NZXTKrakenController/NZXTKrakenController.h b/Controllers/NZXTKrakenController/NZXTKrakenController.h index e98ef8a6..27ca84a6 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenController.h +++ b/Controllers/NZXTKrakenController/NZXTKrakenController.h @@ -46,10 +46,11 @@ enum class NZXTKrakenController { public: - NZXTKrakenController(hid_device* dev_handle); + NZXTKrakenController(hid_device* dev_handle, const char* path); ~NZXTKrakenController(); std::string GetFirmwareVersion(); + std::string GetLocation(); void UpdateEffect ( @@ -81,6 +82,7 @@ private: // -- status std::string firmware_version; double liquid_temperature; + std::string location; unsigned int fan_speed; unsigned int pump_speed; }; diff --git a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp index 3beca78e..eba72f0b 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp +++ b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp @@ -58,7 +58,7 @@ void DetectNZXTKrakenControllers(std::vector &rgb_controllers) if( dev ) { - NZXTKrakenController* controller = new NZXTKrakenController(dev); + NZXTKrakenController* controller = new NZXTKrakenController(dev, info->path); RGBController_NZXTKraken* rgb_controller = new RGBController_NZXTKraken(controller); diff --git a/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp b/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp index 422925a8..c9d25d3e 100644 --- a/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp +++ b/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp @@ -18,6 +18,7 @@ RGBController_NZXTKraken::RGBController_NZXTKraken(NZXTKrakenController* nzxtkra type = DEVICE_TYPE_COOLER; description = "NZXT Kraken X42/X52/X62/X72/M22"; version = nzxtkraken->GetFirmwareVersion(); + location = nzxtkraken->GetLocation(); mode Direct; Direct.name = "Direct";