Store name in HYTENexusController to avoid setting it in detector

This commit is contained in:
Adam Honse 2025-08-11 18:02:26 -05:00
parent 20f3e5db0b
commit d5f8e2cac9
4 changed files with 12 additions and 5 deletions

View file

@ -24,10 +24,11 @@ using namespace std::chrono_literals;
| https://hyte.com/nexus/nexus-playground |
\*---------------------------------------------------------*/
HYTENexusController::HYTENexusController(char* port, unsigned short pid)
HYTENexusController::HYTENexusController(char* port, unsigned short pid, std::string dev_name)
{
port_name = port;
device_pid = pid;
name = name;
/*-----------------------------------------------------*\
| Initialize channels based on PID |
@ -108,6 +109,11 @@ std::string HYTENexusController::GetLocation()
return(port_name);
}
std::string HYTENexusController::GetName()
{
return(name);
}
void HYTENexusController::KeepaliveThreadFunction()
{
while(keepalive_thread_run.load())

View file

@ -52,11 +52,12 @@ enum
class HYTENexusController
{
public:
HYTENexusController(char* port, unsigned short pid);
HYTENexusController(char* port, unsigned short pid, std::string dev_name);
~HYTENexusController();
std::string GetFirmwareVersion();
std::string GetLocation();
std::string GetName();
std::string GetDeviceName(unsigned int device_type);
void LEDStreaming(unsigned char channel, unsigned short num_leds, RGBColor* colors);
@ -67,6 +68,7 @@ public:
private:
std::string firmware_version;
std::string name;
std::string port_name;
serial_port * serialport = nullptr;
std::chrono::time_point<std::chrono::steady_clock> last_update_time;

View file

@ -50,9 +50,8 @@ void DetectHYTENexusControllers()
{
if(*ports[i] != "")
{
HYTENexusController * controller = new HYTENexusController((char *)ports[i]->c_str(), hyte_nexus_devices[device_id].pid);
HYTENexusController * controller = new HYTENexusController((char *)ports[i]->c_str(), hyte_nexus_devices[device_id].pid, hyte_nexus_devices[device_id].name);
RGBController_HYTENexus * rgb_controller = new RGBController_HYTENexus(controller);
rgb_controller->name = hyte_nexus_devices[device_id].name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}

View file

@ -33,7 +33,7 @@ RGBController_HYTENexus::RGBController_HYTENexus(HYTENexusController* controller
{
controller = controller_ptr;
name = "HYTE Nexus Device";
name = controller->GetName();
vendor = "HYTE";
description = "HYTE Nexus Device";
type = DEVICE_TYPE_LEDSTRIP;