Как я могу использовать gousb golang для сопоставления активного устройства USB по VID: PID с именем / путем к последовательному порту его ОС? - PullRequest
0 голосов
/ 27 ноября 2018

Я разработал нестандартное устройство связи 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, поэтому, если есть независимый от платформы способ сделать это, это было бы идеально.

Руководство ценится;Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...