Commit graph

22 commits

Author SHA1 Message Date
Martin Lund
d45c9b1a22 Update TODO 2024-03-01 12:28:51 +01:00
Martin Lund
98052936b0 Update TODO 2023-08-18 14:20:14 +02:00
Martin Lund
b6672c1704 Update TODO 2023-01-08 22:44:27 +01:00
Martin Lund
27b8c1b82a Update TODO 2022-12-25 16:02:47 +01:00
Martin Lund
7c32e5a21e Update TODO 2022-10-31 14:44:07 +01: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
99c7aa85ed Update TODO 2022-07-25 20:38:04 +02:00
Martin Lund
4598345168 Update TODO 2022-07-25 20:36:38 +02:00
Martin Lund
4952c6ca13 Update TODO 2022-07-25 20:29:06 +02:00
Martin Lund
62c00ce05e Update TODO 2022-07-19 12:57:12 +02:00
Martin Lund
110aa1d9dd Update TODO 2022-07-17 09:34:33 +02:00
Martin Lund
1c53af0681 Update TODO 2022-07-14 14:02:17 +02:00
Martin Lund
00ae3b2fbd Update TODO 2022-07-14 11:13:22 +02:00
Martin Lund
9c498140de Update TODO 2022-07-08 10:19:33 +02:00
Martin Lund
8b6a0cf63c Update TODO 2022-07-05 23:28:23 +02:00
Martin Lund
1bd663086a Update TODO 2022-06-17 12:23:15 +02:00
Martin Lund
1117dc603e Update TODO 2022-06-11 14:22:22 +02:00
Martin Lund
50478e7df3 Update TODO 2022-06-08 16:21:50 +02:00
Martin Lund
1f094b6b68 Update TODO 2022-06-07 18:23:34 +02:00
Martin Lund
e854ca0efa Update TODO 2022-06-07 18:14:04 +02:00
Martin Lund
732a768970 Update TODO 2022-06-05 09:29:33 +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