From 2134323bf855a7b35d0d8eb96ee160ab3017e082 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 14 Aug 2025 19:17:34 -0500 Subject: [PATCH] Store name in PNYLovelaceGPUController to avoid setting it in detector --- .../PNYLovelaceGPUController.cpp | 12 +++++++++--- .../PNYLovelaceGPUController.h | 19 +++++++++++-------- .../PNYLovelaceGPUControllerDetect.cpp | 3 +-- .../RGBController_PNYLovelaceGPU.cpp | 2 +- 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUController.cpp b/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUController.cpp index 81a81982..8f4c51a8 100644 --- a/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUController.cpp +++ b/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUController.cpp @@ -11,10 +11,11 @@ #include "PNYLovelaceGPUController.h" -PNYLovelaceGPUController::PNYLovelaceGPUController(i2c_smbus_interface* bus, pny_dev_id dev) +PNYLovelaceGPUController::PNYLovelaceGPUController(i2c_smbus_interface* bus, pny_dev_id dev, std::string dev_name) { - this->bus = bus; - this->dev = dev; + this->bus = bus; + this->dev = dev; + this->name = dev_name; } PNYLovelaceGPUController::~PNYLovelaceGPUController() @@ -32,6 +33,11 @@ std::string PNYLovelaceGPUController::GetDeviceLocation() return("I2C: " + return_string); } +std::string PNYLovelaceGPUController::GetDeviceName() +{ + return(name); +} + void PNYLovelaceGPUController::SetOff() { unsigned char data[7] = {}; diff --git a/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUController.h b/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUController.h index 5be52613..f9d10804 100644 --- a/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUController.h +++ b/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUController.h @@ -34,19 +34,22 @@ enum class PNYLovelaceGPUController { public: - PNYLovelaceGPUController(i2c_smbus_interface* bus, pny_dev_id dev); + PNYLovelaceGPUController(i2c_smbus_interface* bus, pny_dev_id dev, std::string dev_name); ~PNYLovelaceGPUController(); - std::string GetDeviceLocation(); - void SetOff(); - void SetBreath(unsigned char speed, unsigned char red, unsigned char green, unsigned char blue); - void SetCycle(unsigned char speed, unsigned char brightness); - void SetWave(unsigned char speed, unsigned char brightness); - void SetFlash(unsigned char speed, unsigned char brightness, unsigned char red, unsigned char green, unsigned char blue); - void SetDirect(unsigned char led, unsigned char red, unsigned char green, unsigned char blue); + std::string GetDeviceLocation(); + std::string GetDeviceName(); + + void SetOff(); + void SetBreath(unsigned char speed, unsigned char red, unsigned char green, unsigned char blue); + void SetCycle(unsigned char speed, unsigned char brightness); + void SetWave(unsigned char speed, unsigned char brightness); + void SetFlash(unsigned char speed, unsigned char brightness, unsigned char red, unsigned char green, unsigned char blue); + void SetDirect(unsigned char led, unsigned char red, unsigned char green, unsigned char blue); private: i2c_smbus_interface* bus; pny_dev_id dev; + std::string name; }; diff --git a/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUControllerDetect.cpp b/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUControllerDetect.cpp index c9de7fc2..f197678d 100644 --- a/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUControllerDetect.cpp +++ b/Controllers/PNYLovelaceGPUController/PNYLovelaceGPUControllerDetect.cpp @@ -31,9 +31,8 @@ void DetectPNYLovelaceGPUControllers(i2c_smbus_interface* bus, uint8_t i2c_addr, return; } - PNYLovelaceGPUController* controller = new PNYLovelaceGPUController(bus, i2c_addr); + PNYLovelaceGPUController* controller = new PNYLovelaceGPUController(bus, i2c_addr, name); RGBController_PNYLovelaceGPU* rgb_controller = new RGBController_PNYLovelaceGPU(controller); - rgb_controller->name = name; ResourceManager::get()->RegisterRGBController(rgb_controller); } /* DetectPNYLovelaceGPUControllers() */ diff --git a/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.cpp b/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.cpp index 472ebead..be22e956 100644 --- a/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.cpp +++ b/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.cpp @@ -26,7 +26,7 @@ RGBController_PNYLovelaceGPU::RGBController_PNYLovelaceGPU(PNYLovelaceGPUControl { controller = controller_ptr; - name = "PNY GPU"; + name = controller->GetDeviceName(); vendor = "PNY"; description = "PNY RGB GPU Device"; location = controller->GetDeviceLocation();