diff --git a/Controllers/SkydimoSerialController/SkydimoSerialControllerDetect.cpp b/Controllers/SkydimoSerialController/SkydimoSerialControllerDetect.cpp index 1a3d7cdf..5b8d30dd 100644 --- a/Controllers/SkydimoSerialController/SkydimoSerialControllerDetect.cpp +++ b/Controllers/SkydimoSerialController/SkydimoSerialControllerDetect.cpp @@ -14,38 +14,30 @@ #include "LogManager.h" #include "RGBController_SkydimoSerial.h" #include "SkydimoSerialController.h" -#include "find_usb_serial_port.h" /*---------------------------------------------------------*\ | Skydimo serial vendor and product IDs | \*---------------------------------------------------------*/ -#define SKYDIMO_SERIAL_VID 0x1A86 -#define SKYDIMO_SERIAL_PID 0x7523 +#define SKYDIMO_SERIAL_VID 0x1A86 +#define SKYDIMO_SERIAL_PID 0x7523 -DetectedControllers DetectSkydimoSerialControllers() +DetectedControllers DetectSkydimoSerialControllers(SerialDeviceInfo* port_info, const std::string& name) { DetectedControllers detected_controllers; - std::vector ports = find_usb_serial_port(SKYDIMO_SERIAL_VID, SKYDIMO_SERIAL_PID); - for(unsigned int port_idx = 0; port_idx < ports.size(); port_idx++) + SkydimoSerialController* controller = new SkydimoSerialController(port_info->port_path); + + if(controller->IsPresent()) { - SkydimoSerialController* controller = new SkydimoSerialController(ports[port_idx]); - - if(controller->IsPresent()) - { - RGBController_SkydimoSerial* rgb_controller = new RGBController_SkydimoSerial(controller); - detected_controllers.push_back(rgb_controller); - LOG_INFO("[SkydimoSerialControllerDetect] Detected %s at %s", - controller->GetName().c_str(), ports[port_idx].c_str()); - } - else - { - delete controller; - } + RGBController_SkydimoSerial* rgb_controller = new RGBController_SkydimoSerial(controller); + detected_controllers.push_back(rgb_controller); + } + else + { + delete controller; } return(detected_controllers); } -REGISTER_DETECTOR("Skydimo Serial", DetectSkydimoSerialControllers); -REGISTER_CUSTOM_UDEV_RULE(skydimo_serial, "Skydimo Serial", "SUBSYSTEMS==\"serial|hidraw\", ATTRS{idVendor}==\"1a86\", ATTRS{idProduct}==\"7523\", TAG+=\"uaccess\", TAG+=\"Skydimo_Serial\""); +REGISTER_USB_SERIAL_DETECTOR("Skydimo Serial", DetectSkydimoSerialControllers, SKYDIMO_SERIAL_VID, SKYDIMO_SERIAL_PID);