Я разработал нестандартное устройство связи USB с уникальным VID: PID.При использовании lsusb я, конечно, вижу этот VID: PID.
При подключении этим устройством управляют мои программные инструменты golang.Эти инструменты используют стандартные вызовы open / read / write с путями ОС, такими как /dev/tty.usbmodem14421 (mac) или / dev / ttyS0 (linux) или COM13 (win).
Но это ужасная задача для«нормальное» использование любой из этих ОС для определения того, какой порт был динамически назначен при подключении. Я очень хотел бы упростить это.
В google / gousb я вижу, что могуперечислите устройства для поиска моего VID: PID или даже можете использовать OpenDeviceWithVidPid (), чтобы проверить, есть ли он там.
И, конечно, при необходимости я могу перечислять устройства последовательных портов ОС на каждой ОС.
Тем не менее, возможно, из-за моего недостаточного углубления в функции / терминологию USB, я не могу найти способ ответить на вопрос «Если OpenDeviceWithVidPid возвращает (не ноль) устройство, как я могу сопоставить его с / dev/ * или COM * путь к последовательному порту? "
Мои утилиты должны работать на всех Win, MacOS и Linux, поэтому, если есть независимый от платформы способ сделать это, это было бы идеально.
Руководство ценится;Большое спасибо.