Commit graph

803 commits

Author SHA1 Message Date
Martin Lund
e7dcd5d034 Update README 2022-09-13 16:56:08 +02:00
Martin Lund
7d597d315b Update README 2022-09-13 16:54:36 +02:00
Martin Lund
0f31f17f5d Update README 2022-09-13 16:43:10 +02:00
Martin Lund
97796395aa Update README 2022-09-13 16:32:25 +02:00
Martin Lund
f43ef9b584 Update README 2022-09-13 16:30:49 +02:00
Martin Lund
529692805c Update README 2022-09-13 16:22:57 +02:00
Martin Lund
76a51a4af3 Update README 2022-09-13 16:19:15 +02:00
Martin Lund
eb95a656b0 Update README 2022-09-13 16:15:58 +02:00
Martin Lund
bf3974c2b6 Update README 2022-09-11 22:31:20 +02:00
Martin Lund
ab885713b9 Add support for sending prefix character to serial device
Do so by inputting prefix key twice, e.g. input ctrl-t ctrl-t to send
ctrl-t character to serial device.
2022-09-11 22:17:29 +02:00
Martin Lund
81607424f8 Update README 2022-09-11 20:13:21 +02:00
Martin Lund
d0926b25ba Bump version 2022-09-11 14:00:45 +02:00
Martin Lund
6618642acf Fix tty path on MSYS/CYGWIN platforms 2022-09-11 13:38:13 +02:00
Martin Lund
47827f094b Fix compilation error on systems without RS-485 support 2022-09-11 12:51:48 +02:00
Martin Lund
137e6111f6 Update README 2022-09-11 11:59:42 +02:00
Martin Lund
61b204aa3d Update plain text man page 2022-09-11 11:58:18 +02:00
Martin Lund
16479c8d86 Cleanup 2022-09-11 11:55:19 +02:00
Martin Lund
278750428c Update plain text man page 2022-09-11 11:47:04 +02:00
Martin Lund
f8c9d6091a Update version date 2022-09-11 11:46:24 +02:00
Martin Lund
75c5261fe5 Update NEWS 2022-09-11 11:43:56 +02:00
Martin Lund
8188bb5b76 Handle stale unix socket file
Delete existing unix socket file if it is tested to be stale, meaning no
one is listening on it.
2022-09-11 11:20:27 +02:00
Martin Lund
0afcef807b Cleanup 2022-09-11 00:57:05 +02:00
Martin Lund
1dc3a3891d Cleanup 2022-09-10 23:31:02 +02:00
Martin Lund
ba2d49d2f7 Consolidate timestamp implementation in one file 2022-09-10 23:29:23 +02:00
Martin Lund
a85cfcf3ef Update README 2022-09-10 23:01:28 +02:00
Martin Lund
6224fe292e Update example 2022-09-10 22:53:27 +02:00
Martin Lund
88588100e4 Update plain text man page 2022-09-10 22:46:58 +02:00
Martin Lund
9cad01791b Update NEWS 2022-09-10 22:45:55 +02:00
Martin Lund
989874ffb8 Cleanup 2022-09-10 22:39:36 +02:00
Martin Lund
dbc9a8e82d Add visual or audible alert support on connect/disconnect
The feature is detailed via the following option:

 --alert none|bell|blink

     Set alert action on connect/disconnect.

     It will sound the bell once or blink once on successful connect.
     Likewise it will sound the bell twice or blink twice on disconnect.

     Default value is "none" for no alert.
2022-09-10 22:33:42 +02:00
Martin Lund
68fc159654 Fix listing of serial devices in MSYS2/Cygwin
We generally try to list serial devices by ID but in the MSYS2/Cygwin
environment serial devices are not available by ID and so we simply list
the basic serial device paths instead.
2022-09-10 19:06:18 +02:00
Martin Lund
3c8d7fa786 Update NEWS 2022-09-10 18:08:05 +02:00
Martin Lund
8afbc1d813 Update README 2022-09-10 18:03:08 +02:00
Martin Lund
ee46686fb6 Add experimental RS-485 support
Many modern RS-485 serial devices such as the ones from FTDI already
operate in RS-485 mode by default and will work with tio out of the box.
However, there are some RS-232/485 devices which need to be switched
from e.g. RS-232 to RS-485 mode to operate accordingly on the physical
level.

This commit implements the switching mechanism and interface required to
enable RS-485 mode. It only works on Linux and with serial devices which
use device drivers that support the Linux RS-485 control interface.

The RS-485 feature is detailed via the following options:

 --rs-485                           Enable RS-485 mode
 --rs-485-config <config>           Set RS-485 configuration

Set the RS-485 configuration using the following key or key value pair
format in the configuration field:

 RTS_ON_SEND=value             Set logical level (0 or 1) for RTS pin when sending
 RTS_AFTER_SEND=value          Set logical level (0 or 1) for RTS pin after sending
 RTS_DELAY_BEFORE_SEND=value   Set RTS delay (ms) before sending
 RTS_DELAY_AFTER_SEND=value    Set RTS delay (ms) after sending
 RX_DURING_TX                  Receive data even while sending data

If defining more than one key or key value pair, they must be comma
separated.

Example use:

 $ tio /dev/ttyUSB0 --rs-485 --rs-r485-config=RTS_DELAY_AFTER_SEND=50,RX_DURING_TX
2022-09-10 17:52:54 +02:00
Martin Lund
a58d406a3c Update list description 2022-09-08 09:32:51 +02:00
Martin Lund
fe6827bc7e Clean up man page 2022-08-30 01:11:27 +02:00
Martin Lund
be7f77e214 Update NEWS 2022-08-23 13:13:40 +02:00
Martin Lund
0dd703e5a2 Remove MacPorts instructions
Remove instructions for MacPorts because the port has no maintainer and
the port build definition is broken (missing dependency on libinih etc.).

It is recommended to use brew instead.
2022-08-23 12:58:58 +02:00
Martin Lund
d2aafc24cc Update README 2022-08-19 15:47:19 +02:00
Martin Lund
c12709f9fe
Merge pull request #166 from pcc/sigpipe
Ignore SIGPIPE signals
2022-08-18 02:50:09 +02:00
Peter Collingbourne
db765bc371 Ignore SIGPIPE signals
If the remote end of a socket is closed between when an input character
is received from the serial port and when it is written to the socket,
tio will receive a SIGPIPE signal when writing the character to the
socket, which will terminate the program. To prevent this, ignore the
signal, which will cause write(2) to return -EPIPE, causing tio to close
the socket.
2022-08-17 16:51:15 -07:00
Martin Lund
1219c6b8c0 Update README 2022-08-16 05:12:39 +02:00
Martin Lund
34e9d028a1 Bump version to v2.0 2022-08-15 20:05:40 +02:00
Martin Lund
e837fd0303 Add line response feature
Add a simple line response feature to make it possible to send e.g. a
command string to your serial device and easily receive and parse a line
response.

This is a convenience feature for simple request/response interaction
based on lines. For more advanced interaction the socket feature should
be used instead.

The line response feature is detailed via the following options:

 -r, --response-wait

Wait for line response then quit. A line is considered any string ending
with either CR or NL character. If no line is received tio will quit
after response timeout.

Any tio text is automatically muted when piping a string to tio while in
response mode to make it easy to parse the response.

 --response-timeout <ms>

Set timeout [ms] of line response (default: 100).

Example:

Sending a string (SCPI command) to a test instrument (Korad PSU) and
print line response:

 $ echo "*IDN?" | tio /dev/ttyACM0 --response-wait
 KORAD KD3305P V4.2 SN:32477045
2022-08-15 19:58:28 +02:00
Martin Lund
a75e04b883 Update man page 2022-08-15 11:00:47 +02:00
Martin Lund
614517bfc4 Update README 2022-08-13 22:50:22 +02:00
Martin Lund
f82d2353d4 Update README 2022-08-08 15:08:34 +02:00
Martin Lund
b3a0917bc9 Update .gitignore 2022-08-06 17:12:49 +02:00
Martin Lund
72eb682267 Cleanup hex mode code 2022-08-06 17:12:16 +02:00
Martin Lund
75aa066bf8 Fix potential sscanf() overflow 2022-08-06 16:54:59 +02:00