summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2012-02-21 16:40:27 +0000
committercliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2012-02-21 16:40:27 +0000
commit21e2c84ca571bb94dc6d2d631a8559b29b962a8d (patch)
tree0b43e9ba9b5a4969aeba5bb527b0ca5cc186c1bd
parent096e196aeedf7bf45370739800f01680c1e1ab75 (diff)
downloadpyserial-git-21e2c84ca571bb94dc6d2d631a8559b29b962a8d.tar.gz
show port list on CTRL+T + P
-rw-r--r--pyserial/serial/tools/miniterm.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/pyserial/serial/tools/miniterm.py b/pyserial/serial/tools/miniterm.py
index 2cdc497..fdf4d8e 100644
--- a/pyserial/serial/tools/miniterm.py
+++ b/pyserial/serial/tools/miniterm.py
@@ -9,6 +9,10 @@
import sys, os, serial, threading
+try:
+ from serial.tools.list_ports import comports
+except ImportError:
+ comports = None
EXITCHARCTER = '\x1d' # GS/CTRL+]
MENUCHARACTER = '\x14' # Menu: CTRL+T
@@ -218,6 +222,13 @@ class Miniterm(object):
REPR_MODES[self.repr_mode],
LF_MODES[self.convert_outgoing]))
+ def dump_port_list(self):
+ if comports:
+ sys.stderr.write('\n--- Available ports:\n')
+ for port, desc, hwid in sorted(comports()):
+ #~ sys.stderr.write('--- %-20s %s [%s]\n' % (port, desc, hwid))
+ sys.stderr.write('--- %-20s %s\n' % (port, desc))
+
def reader(self):
"""loop and copy serial->console"""
try:
@@ -334,7 +345,8 @@ class Miniterm(object):
LF_MODES[self.convert_outgoing],
))
elif c in 'pP': # P -> change port
- sys.stderr.write('\n--- Enter port name: ')
+ self.dump_port_list()
+ sys.stderr.write('--- Enter port name: ')
sys.stderr.flush()
console.cleanup()
try: