def _find_serial_port(self, vid, pid, name):
"""Find a serial port by VID, PID and text name
:param vid: USB vendor ID to locate
:param pid: USB product ID to locate
:param name: USB device name to find where VID/PID match fails
"""
check_for = "USB VID:PID={vid:04x}:{pid:04x}".format(vid=vid,pid=pid).upper()
ports = serial.tools.list_ports.comports()
for check_port in ports:
if hasattr(serial.tools,'list_ports_common'):
if (check_port.vid, check_port.pid) == (VID, PID):
return check_port.device
continue
if check_for in check_port[2].upper() or name == check_port[1]:
return check_port[0]
return None
评论列表
文章目录