From b136e7739a115f6a061f9c815c2cb5882ef60827 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Tue, 12 Aug 2025 18:44:35 -0500 Subject: [PATCH] Store name in LinuxLEDController to avoid setting it in detector --- .../LinuxLEDControllerDetect_Linux.cpp | 3 +-- .../LinuxLEDController_Linux.cpp | 9 ++++++-- .../LinuxLEDController_Linux.h | 6 ++++- .../RGBController_LinuxLED_Linux.cpp | 22 +++++++++---------- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/Controllers/LinuxLEDController/LinuxLEDControllerDetect_Linux.cpp b/Controllers/LinuxLEDController/LinuxLEDControllerDetect_Linux.cpp index 6700eb49..a09a9cad 100644 --- a/Controllers/LinuxLEDController/LinuxLEDControllerDetect_Linux.cpp +++ b/Controllers/LinuxLEDController/LinuxLEDControllerDetect_Linux.cpp @@ -63,13 +63,12 @@ void DetectLinuxLEDControllers() blue_path = linux_led_settings["devices"][device_idx]["blue_path"]; } - LinuxLEDController* controller = new LinuxLEDController(); + LinuxLEDController* controller = new LinuxLEDController(name); controller->OpenRedPath(red_path); controller->OpenGreenPath(green_path); controller->OpenBluePath(blue_path); RGBController_LinuxLED* rgb_controller = new RGBController_LinuxLED(controller); - rgb_controller->name = name; ResourceManager::get()->RegisterRGBController(rgb_controller); } diff --git a/Controllers/LinuxLEDController/LinuxLEDController_Linux.cpp b/Controllers/LinuxLEDController/LinuxLEDController_Linux.cpp index ad4fccde..9d059fcd 100644 --- a/Controllers/LinuxLEDController/LinuxLEDController_Linux.cpp +++ b/Controllers/LinuxLEDController/LinuxLEDController_Linux.cpp @@ -11,9 +11,9 @@ #include "LinuxLEDController_Linux.h" -LinuxLEDController::LinuxLEDController() +LinuxLEDController::LinuxLEDController(std::string dev_name) { - + name = dev_name; } LinuxLEDController::~LinuxLEDController() @@ -21,6 +21,11 @@ LinuxLEDController::~LinuxLEDController() } +std::string LinuxLEDController::GetName() +{ + return(name); +} + std::string LinuxLEDController::GetRedPath() { return(led_r_path); diff --git a/Controllers/LinuxLEDController/LinuxLEDController_Linux.h b/Controllers/LinuxLEDController/LinuxLEDController_Linux.h index a80ff096..0bdc250a 100644 --- a/Controllers/LinuxLEDController/LinuxLEDController_Linux.h +++ b/Controllers/LinuxLEDController/LinuxLEDController_Linux.h @@ -16,9 +16,11 @@ class LinuxLEDController { public: - LinuxLEDController(); + LinuxLEDController(std::string dev_name); ~LinuxLEDController(); + std::string GetName(); + std::string GetRedPath(); std::string GetBluePath(); std::string GetGreenPath(); @@ -28,6 +30,7 @@ public: void OpenBluePath(std::string blue_path); void SetRGB(unsigned char red, unsigned char grn, unsigned char blu); + private: std::string led_r_path; std::string led_g_path; @@ -35,4 +38,5 @@ private: std::ofstream led_r_brightness; std::ofstream led_g_brightness; std::ofstream led_b_brightness; + std::string name; }; diff --git a/Controllers/LinuxLEDController/RGBController_LinuxLED_Linux.cpp b/Controllers/LinuxLEDController/RGBController_LinuxLED_Linux.cpp index cca14a21..6276b535 100644 --- a/Controllers/LinuxLEDController/RGBController_LinuxLED_Linux.cpp +++ b/Controllers/LinuxLEDController/RGBController_LinuxLED_Linux.cpp @@ -24,21 +24,21 @@ RGBController_LinuxLED::RGBController_LinuxLED(LinuxLEDController* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "Linux LED"; - type = DEVICE_TYPE_LEDSTRIP; - description = "Linux Sysfs LED Device"; + name = controller->GetName(); + type = DEVICE_TYPE_LEDSTRIP; + description = "Linux Sysfs LED Device"; - location = "R: " + controller->GetRedPath() + "\r\n" + - "G: " + controller->GetGreenPath() + "\r\n" + - "B: " + controller->GetBluePath(); + location = "R: " + controller->GetRedPath() + "\r\n" + + "G: " + controller->GetGreenPath() + "\r\n" + + "B: " + controller->GetBluePath(); mode Direct; - Direct.name = "Direct"; - Direct.value = 0; - Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; - Direct.color_mode = MODE_COLORS_PER_LED; + Direct.name = "Direct"; + Direct.value = 0; + Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; + Direct.color_mode = MODE_COLORS_PER_LED; modes.push_back(Direct); SetupZones();