miniterm: change command line args
diff --git a/CHANGES.rst b/CHANGES.rst
index 15427ef..7eb2a1c 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -522,6 +522,7 @@
- [Patch pyserial:34] Improvements to port_publisher.py example
- [Feature pyserial:39] Support BlueTooth serial port discovery on Linux
- Use setuptools if aviliable, fall back to distutils if unaviliable.
+- miniterm: changed command line options, translations, support encodings
Bugfixes:
diff --git a/serial/tools/miniterm.py b/serial/tools/miniterm.py
index 792ca91..e6af966 100644
--- a/serial/tools/miniterm.py
+++ b/serial/tools/miniterm.py
@@ -315,12 +315,8 @@
self.receiver_thread.join()
def dump_port_settings(self):
- sys.stderr.write("\n--- Settings: {} {},{},{},{}\n".format(
- self.serial.portstr,
- self.serial.baudrate,
- self.serial.bytesize,
- self.serial.parity,
- self.serial.stopbits))
+ sys.stderr.write("\n--- Settings: {p.name} {p.baudrate},{p.bytesize},{p.parity},{p.stopbits}\n".format(
+ p=self.serial))
sys.stderr.write('--- RTS: {:8} DTR: {:8} BREAK: {:8}\n'.format(
('active' if self.rts_state else 'inactive'),
('active' if self.dtr_state else 'inactive'),
@@ -598,10 +594,11 @@
help="set baud rate, default: %(default)s",
default=DEFAULT_BAUDRATE)
- group = parser.add_argument_group("Port settings")
+ group = parser.add_argument_group("port settings")
group.add_argument("--parity",
choices=['N', 'E', 'O', 'S', 'M'],
+ type=lambda c: c.upper(),
help="set parity, one of {N E O S M}, default: N",
default='N')
@@ -625,7 +622,7 @@
help="set initial DTR line state (possible values: 0, 1)",
default=DEFAULT_DTR)
- group = parser.add_argument_group("Data handling")
+ group = parser.add_argument_group("data handling")
group.add_argument("-e", "--echo",
action="store_true",
@@ -635,34 +632,28 @@
group.add_argument("--encoding",
dest="serial_port_encoding",
metavar="CODEC",
- help="Set the encoding for the serial port (default: %(default)s",
+ help="set the encoding for the serial port, default: %(default)s",
default='UTF-8')
group.add_argument("-t", "--transformation",
dest="transformations",
action="append",
metavar="NAME",
- help="Add text transformation",
+ help="add text transformation",
default=[])
- eol_group = group.add_mutually_exclusive_group()
-
- eol_group.add_argument("--cr",
- action="store_true",
- help="do not send CR+LF, send CR only",
- default=False)
-
- eol_group.add_argument("--lf",
- action="store_true",
- help="do not send CR+LF, send LF only",
- default=False)
+ group.add_argument("--eol",
+ choices=['CR', 'LF', 'CRLF'],
+ type=lambda c: c.upper(),
+ help="end of line mode",
+ default='CRLF')
group.add_argument("--raw",
action="store_true",
help="Do no apply any encodings/transformations",
default=False)
- group = parser.add_argument_group("Hotkeys")
+ group = parser.add_argument_group("hotkeys")
group.add_argument("--exit-char",
type=int,
@@ -676,7 +667,7 @@
default=0x14 # Menu: CTRL+T
)
- group = parser.add_argument_group("Diagnostics")
+ group = parser.add_argument_group("diagnostics")
group.add_argument("-q", "--quiet",
action="store_true",
@@ -711,12 +702,7 @@
else:
transformations = ['default']
- if args.cr:
- transformations.append('cr')
- elif args.lf:
- transformations.append('lf')
- else:
- transformations.append('crlf')
+ transformations.append(args.eol.lower())
try:
miniterm = Miniterm(
@@ -740,13 +726,8 @@
sys.exit(1)
if not args.quiet:
- sys.stderr.write('--- Miniterm on {}: {},{},{},{} ---\n'.format(
- miniterm.serial.portstr,
- miniterm.serial.baudrate,
- miniterm.serial.bytesize,
- miniterm.serial.parity,
- miniterm.serial.stopbits,
- ))
+ sys.stderr.write('--- Miniterm on {p.name} {p.baudrate},{p.bytesize},{p.parity},{p.stopbits} ---\n'.format(
+ p=miniterm.serial))
sys.stderr.write('--- Quit: {} | Menu: {} | Help: {} followed by {} ---\n'.format(
key_description(miniterm.exit_character),
key_description(miniterm.menu_character),