Rework toggle and pulse feature to support all lines

Replace existing toggle and pulse key commands with the following
generalized key commands which allows to toggle or pulse all serial port
lines:

 ctrl-t g   Toggle serial port line
 ctrl-t p   Pulse serial port line

When used, user will be asked which serial line to toggle or pulse.

Also introduce --line-pulse-duration option for setting specific pulse
duration in milliseconds for each serial line using a key value pair
format. Each key represents a serial line. The following keys are
available: DTR, RTS, CTS, DSR, DCD, RI.

Example:

 $ tio /dev/ttyUSB0 --line-pulse-duration DTR=200,RTS=300,RI=50

Likewise, the pulse duration can also be set via configuration file
using the line-pulse-duration variable:

 line-pulse-duration = DTR=200,RTS=300,RI=50
This commit is contained in:
Martin Lund 2022-07-19 12:13:56 +02:00
parent 35f249394c
commit 3903880106
9 changed files with 277 additions and 83 deletions

View file

@ -17,7 +17,7 @@ _tio()
-p --parity \
-o --output-delay \
-o --output-line-delay \
--dtr-pulse-duration \
--line-pulse-duration \
-n --no-autoconnect \
-e --local-echo \
-l --log \
@ -64,8 +64,8 @@ _tio()
COMPREPLY=( $(compgen -W "1 10 100" -- ${cur}) )
return 0
;;
--dtr-pulse-duration)
COMPREPLY=( $(compgen -W "10 50 100 500" -- ${cur}) )
--line-pulse-duration)
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
;;
-n | --no-autoconnect)