123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import platform, sys
- import serial.tools.list_ports
- # MacOS Catalina:
- # platform.system == "Darwin"
- # Attrs: device, manufacturer, product, vid, pid, location, serial_number
- #
- # Ubuntu 18.04:
- # platform.system == "Linux"
- # Attrs: device, manufacturer, product, vid, pid, location, serial_number
- #
- # Windows 7:
- # platform.system, platform.release == "Windows", "7"
- # Attrs: device, vid, pid, location, serial_number
- # (manufacturer == "InterBiometrics")
- #
- # Windows 10:
- # platform.system, platform.release == "Windows", "10"
- # Attrs: device, vid, pid, location, serial_number
- # (manufacturer == "Microsoft")
- print("platform.system: %s" % platform.system())
- print("platform.version: %s" % platform.version())
- print("platform.release: %s" % platform.release())
- ports = serial.tools.list_ports.comports()
- i = 0
- for port in ports:
- i += 1
- print("Port %d:" % i)
- if port.device:
- print(" device: '%s'" % port.device)
- if port.name:
- print(" name: '%s'" % port.name)
- if port.hwid:
- print(" hwid: '%s'" % port.hwid)
- if port.manufacturer:
- print(" manufacturer: '%s'" % port.manufacturer)
- if port.product:
- print(" product: '%s'" % port.product)
- if port.vid:
- print(" vid: %04x" % port.vid)
- if port.pid:
- print(" pid: %04x" % port.pid)
- if port.location:
- print(" location: '%s'" % port.location)
- if port.serial_number:
- print(" serial_number: '%s'" % port.serial_number)
- if port.interface:
- print(" interface: '%s'" % port.interface)
- if len(sys.argv) < 2 or sys.argv[1] != "loop":
- sys.exit(0)
- # Loop checking that .location is always valid for a Weazle
- while True:
- for port in serial.tools.list_ports.comports():
- if port.vid == 0x1209:
- if not port.location:
- print("BAD", flush=True)
- else:
- print(".", end="", flush=True)
|