Add config support for log-strip
Add config support for hex-mode
Rename --hex to --hex-mode
Fix completion for -e, --local-echo
Ignore newlines in hex output
Fix newline in warning_printf()
Fix ansi_printf_raw() in no color mode
Enter non-interactive mode when piping to tio
Add support for a non interactive mode which allows other application to pipe data to tio which then forwards the data to the connected serial device.
Non ineractive means that tio does not react to interactive key commands in the incoming stream. This allows users to pipe binary data directly to the connected serial device.
Example use: $ cat commands.txt | tio /dev/ttyUSB0
Also strip backspace from log
To make log strip feature consistent so that we remove all unprintable control characters and escape sequences.
Socket code cleanup
Cleanup man page
Rename --log-filename to --log-file
Allow strip escape sequence characters from log file
The log without escape key stripped is like:
^M[12:47:17] ACRN:\>
^M[12:47:17] ACRN:\>lasdfjklsdjf
^M
^M[12:47:18] Error: Invalid command.
^M[12:47:19] ACRN:\>
^M[12:47:26] ACRN:\>
^M[12:47:26] ACRN:\>sdafkljsdkaljfklsadjflksdjafjsda^H ^H^H...
^M
^M[12:47:31] Error: Invalid command.
After strip escape key, the log is like:
[12:49:18] ACRN:\>
[12:49:19] ACRN:\>
[12:49:19] ACRN:\>ls
[12:49:19] Error: Invalid command.
[12:49:19] ACRN:\>
[12:49:19] ACRN:\>dfaslhj
[12:49:24] Error: Invalid command.
Beside escape key, it also handle backspace key as well.
Improve key command response for local echo and timestamp
Fix invalid hex character error message
Make sure only matched config section is parsed
Add support for disable keyword in config file
Unify error message formating
Cleanup list devices code
Fix command-line tty-device|config parsing
Allow user to add options on both sides of the provided config argument.
For example: $ tio -b 9600 am64-evm -e
Before, tio only allowed adding arguments after the config argument.
Implemented as simple as possible by introducing two stage option parsing.
Update bash completion
Add support for IPv4 and IPv6 network sockets
Add support for IPv4 and IPv6 network sockets via socket syntax inet:<port> and inet6:<port> respectively.
For example, to listen and redirect serial device I/O to a host bound IPv4 socket simply do: $ tio /dev/ttyUSB0 --socket inet:4444
To connect do e.g.: $ nc 127.0.0.1 4444
Likewise, for IPv6 do: $ tio /dev/ttyUSB0 --socket inet6:4444
To connect do e.g.: $ nc ::1 4444
If port is 0 or no port is provided default port 3333 is used.
Fix tio deleting unix socket file
If tio has a unix file socket open, a second tio instance of tio may delete the socket file. This change fixes so that it will not be deleted and tio will instead error and complain about conflicting socket file.
Rework color option
Rework the color option to support setting ANSI color code values ranging from 0..255 or none for no color or list to print a list of available ANSI colors codes.
Also, disables color when piping.
Remove print of hex mode status at startup
Remove newline option in hex mode
Fix configfile memory leaks
Remove command-line option inconsistencies
Optional arguments, as parsed by the getopt_long mechanism, are inherently inconsistent with how you define required arguments.
To avoid confusion we decide to avoid this inconsistency by replacing optional options with additional options with required argmuments.
Replace 1 with enable in config files
Convert errors to warnings
Extended hexadecimal mode.
While in hex mode (ctrl-t h) you can output hexadecimal values. E.g.: to send 0x0A you have to type 0A (always 2 characters).
Added option -x, --hex to start in hexadecimal mode.
Added option --newline-in-hex to interpret newline characters in hex mode. This is disabled by default, because, in my opinion, hex stream is fundamentally different from text, so a "new line" is meaningless in this context.
Redirect error messages to stderr
Improve help and man page
Mention config file in --help
Fix running without config file
Fix config file error messages
Redirect error messages to stderr
Add repology packaging status
Fix parsing of default settings
Default configuration file settings were not parsed in case a section was matched. Now we make sure that the default (unnamed) settings are always parsed.
Append to existing log file (no truncation)
Add socket info to show configuration
Print socket info at startup
Fix socket option parsing
Match user input against config section names if pattern matching was unsuccessful.
This allows for better config file ergonomics if the user has a diverse set of serial devices as the name does not need to be specified in the config file twice.
Add support for external control via a Unix domain socket.
This feature allows an external program to inject output into and listen to input from a serial port via a Unix domain socket (path specified via the -S/--socket command line flag, or the socket config file option) while tio is running. This is useful for ad-hoc scripting of serial port interactions while still permitting manual control. Since many serial devices (at least on Linux) get confused when opened by multiple processes, and most commands do not know how to correctly open a serial device, this allows a more convenient usage model than directly writing to the device node from an external program.
Any input from clients connected to the socket is sent on the serial port as if entered at the terminal where tio is running (except that ctrl-t sequences are not recognized), and any input from the serial port is multiplexed to the terminal and all connected clients.
Sockets remain open while the serial port is disconnected, and writes will block.
Example usage 1 (issue a command): echo command | nc -UN /path/to/socket > /dev/null
Example usage 2 (use the expect command to script an interaction):
#!/usr/bin/expect -f
set timeout -1
log_user 0
spawn nc -UN /path/to/socket
set uart $spawn_id
send -i $uart "command1\n"
expect -i $uart "prompt> "
send -i $uart "command2\n"
expect -i $uart "prompt> "
log without log-filename in config fileFix timestamp parsing in INI conf
Factorize timestamp parsing to be coherent with command line format in configuration file
Add support for defaults in config file
If no section name is specified the configuration will be considered the default one.
This allows to set e.g. a default color code for sections which do not configure a color code.
Handle SIGHUP
Handle SIGHUP so that the registered exit handlers are called to restore the terminal back to its orignal state.
Add color configuration support
Bypass unused result warnings
Force dependency on libinih
Configuration file support is considered a mandatory feature.
Update headers
Update AUTHORS
Update man page
Move string_to_long() to misc.c
Update CircleCI config
Update tio gif
Update README
Update LICENSE date
Remove redundant COPYING file
Document configuration file options
Add support for a configuration file
misc: add _unused macro
Some parameters are expected to be unused. Add a basic macro to mute these compiler warnings.
options: expose string_to_long()
Expose string_to_long() so that other source files can use it.
Please log in to add feedback.
This update has been submitted for testing by robert.
This update's test gating status has been changed to 'ignored'.
This update has been pushed to testing.
This update has been submitted for stable by bodhi.
This update has been pushed to stable.