|
@@ -0,0 +1,63 @@
|
|
|
+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)
|
|
|
+
|