summaryrefslogtreecommitdiff
path: root/examples/scan.py
diff options
context:
space:
mode:
authorcliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2010-01-02 03:18:37 +0000
committercliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2010-01-02 03:18:37 +0000
commitab40ff276a60650d0abf0abf89af48658d3c3ea8 (patch)
tree8ec5af61dbfa9ad1abc6fba90987733fe533f1f2 /examples/scan.py
parentf571644c6136568a9db4722188e33c114ab01003 (diff)
downloadpyserial-git-release2_5_rc2.tar.gz
tag 2.5-rc2release2_5_rc2
Diffstat (limited to 'examples/scan.py')
-rw-r--r--examples/scan.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/scan.py b/examples/scan.py
new file mode 100644
index 0000000..82c5458
--- /dev/null
+++ b/examples/scan.py
@@ -0,0 +1,30 @@
+#! /usr/bin/env python
+"""\
+Scan for serial ports.
+
+Part of pySerial (http://pyserial.sf.net)
+(C) 2002-2003 <cliechti@gmx.net>
+
+The scan function of this module tries to open each port number
+from 0 to 255 and it builds a list of those ports where this was
+successful.
+"""
+
+import serial
+
+def scan():
+ """scan for available ports. return a list of tuples (num, name)"""
+ available = []
+ for i in range(256):
+ try:
+ s = serial.Serial(i)
+ available.append( (i, s.portstr))
+ s.close() # explicit close 'cause of delayed GC in java
+ except serial.SerialException:
+ pass
+ return available
+
+if __name__=='__main__':
+ print "Found ports:"
+ for n,s in scan():
+ print "(%d) %s" % (n,s)