mirror of
https://github.com/tio/tio.git
synced 2026-05-01 14:57:59 +02:00
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
31 lines
870 B
Text
31 lines
870 B
Text
|
|
* Split I/O feature
|
|
|
|
Allow to split input and output so that it is possible to manage these
|
|
independently.
|
|
|
|
The general idea is to redirect the output stream on the socket port number
|
|
specified but then redirect the input stream on the same port number + 1.
|
|
|
|
Example:
|
|
|
|
$ tio /dev/ttyUSB0 --socket inet:4444,split-io
|
|
|
|
Will result in output stream being hosted on port 4444 and input stream
|
|
hosted on port 4445.
|
|
|
|
For file sockets something similar can be arranged:
|
|
|
|
$ tio /dev/ttyUSB0 --socket unix:/tmp/tio-socket-0,split-io
|
|
|
|
Will result in output stream being hosted via /tmp/tio-socket-0 and input
|
|
stream hosted via /tmp/tio-socket-0_input
|
|
|
|
* Websocket support
|
|
|
|
Extend the socket feature to redirect serial I/O to websocket on e.g. port
|
|
1234 like so:
|
|
|
|
$ tio --socket ws:1234
|
|
|
|
Use libwesockets to implement feature.
|