Commit graph

373 commits

Author SHA1 Message Date
Martin Lund
1dabf0fdf5 Add config support for log-strip 2022-06-17 10:59:59 +02:00
Martin Lund
f48402f7ed Add config support for hex-mode 2022-06-17 10:58:55 +02:00
Martin Lund
1b2f445ed9 Rename --hex to --hex-mode 2022-06-17 10:57:29 +02:00
Martin Lund
a826bf4fcb Fix completion for -e, --local-echo 2022-06-17 10:19:21 +02:00
Martin Lund
858b898bbb Ignore newlines in hex output 2022-06-17 10:06:13 +02:00
Martin Lund
4b928a54b2 Fix newline in warning_printf() 2022-06-17 09:56:16 +02:00
Martin Lund
cd1e6529db Fix ansi_printf_raw() in no color mode 2022-06-17 09:46:48 +02:00
Martin Lund
dba77eb912 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
2022-06-16 21:03:53 +02:00
Martin Lund
a37ad26a88 Clean up main 2022-06-16 18:16:41 +02:00
Martin Lund
1636a55b7e Also strip backspace from log
To make log strip feature consistent so that we remove all unprintable
control characters and escape sequences.
2022-06-16 15:44:49 +02:00
Martin Lund
1e8c950e9d Update text 2022-06-16 11:15:32 +02:00
Martin Lund
256d6b4fc2 Merge branch 'allow_strip_esc_key' of https://github.com/nh26223/tio into nh26223-allow_strip_esc_key 2022-06-15 22:49:22 +02:00
Martin Lund
b8b0ec6575 Socket code cleanup 2022-06-14 22:33:58 +02:00
Martin Lund
1b99a103cb Rename log-filename to log-file in config file 2022-06-14 01:07:54 +02:00
Martin Lund
db45326d98 Rename --log-filename to --log-file 2022-06-13 23:04:30 +02:00
Martin Lund
63d3232b32 Improve key command response for local echo and timestamp 2022-06-12 04:07:17 +02:00
Martin Lund
c66017f287 Fix invalid hex character error message 2022-06-12 02:31:48 +02:00
Martin Lund
b5c3193411 Remove debug 2022-06-12 00:47:26 +02:00
Martin Lund
16c42bb9ae Fix config file memory leak 2022-06-12 00:44:52 +02:00
Martin Lund
94485ec9ac Make sure only matched config section is parsed 2022-06-12 00:44:35 +02:00
Martin Lund
9b55f18c07 Add support for "disable" keyword in config file 2022-06-12 00:42:24 +02:00
Martin Lund
0a892006ea Unify error message formating 2022-06-11 23:36:51 +02:00
Martin Lund
bf749aead4 Cleanup list devices code 2022-06-11 23:14:18 +02:00
Martin Lund
a0d4be068b 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.
2022-06-11 22:56:03 +02:00
Martin Lund
bd5f542959 Update bash completion 2022-06-11 17:11:19 +02:00
Martin Lund
c38ba262d3 Cleanup IPv6 code 2022-06-11 15:16:47 +02:00
Martin Lund
17e96d70bc 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.
2022-06-11 14:19:29 +02:00
Martin Lund
ba22191800 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.
2022-06-11 02:56:44 +02:00
Martin Lund
46b5783789 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.
2022-06-08 16:19:47 +02:00
Martin Lund
77ff1e5269 Remove debug 2022-06-07 10:01:26 +02:00
Martin Lund
0a22142957 Update README 2022-06-07 07:27:11 +02:00
Martin Lund
989efeae88 Remove print of hex mode status at startup 2022-06-06 20:08:05 +02:00
Martin Lund
d41649afb6 Update bash completion 2022-06-06 19:47:08 +02:00
Martin Lund
6d007d39d7 Remove newline option in hex mode 2022-06-06 19:38:31 +02:00
g0mb4
0b55981e52 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.
2022-06-06 19:10:00 +02:00
Martin Lund
5b7191ed7c Fix configfile memory leaks 2022-06-04 20:37:06 +02:00
Martin Lund
8a83d2a973 Update bash completion 2022-06-04 19:24:26 +02:00
Martin Lund
9476422922 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.
2022-06-04 19:08:05 +02:00
Martin Lund
d43ef3333f Replace '1' with 'enable' in config files 2022-06-04 17:33:36 +02:00
Martin Lund
be2c682da6 Convert errors to warnings 2022-06-02 20:51:23 +02:00
Martin Lund
b0c085debd Revert back to showing help when no arguments 2022-06-02 01:04:24 +02:00
Martin Lund
89574b2469 Mention config file in --help 2022-06-02 00:29:25 +02:00
Martin Lund
836c28098c Redirect error messages to stderr 2022-06-01 19:55:44 +02:00
Martin Lund
5b6a106b34 Improve help and man page 2022-06-01 19:26:42 +02:00
Martin Lund
c94e8826fd Fix running without config file 2022-06-01 18:37:11 +02:00
Martin Lund
c96c3c4c83 Fix config file error messages 2022-06-01 18:23:14 +02:00
Martin Lund
c7b27b022f Redirect error messages to stderr 2022-05-24 13:35:27 +02:00
Martin Lund
9a1afc09c2 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.
2022-05-15 22:37:59 +02:00
Martin Lund
8da06ebf2c Fix typo 2022-05-15 20:21:58 +02:00
Martin Lund
16cba00c54 Append to existing log file (no truncation) 2022-05-07 16:02:41 +02:00