torchtester/TorchTester/scanports.py

44 lines
1.0 KiB
Python
Raw Normal View History

2016-03-14 15:31:56 +00:00
#! /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
import glob
import sys
def win_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
def get():
ports = []
if sys.platform.startswith('win'):
for n,s in win_scan():
ports.append(s)
else:
for name in lin_scan():
ports.append(name)
return ports
def lin_scan():
"""scan for available ports. return a list of device names."""
return glob.glob('/dev/ttyS*') + glob.glob('/dev/ttyUSB*') + glob.glob('/dev/ttyACM*')