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> " |
||
|---|---|---|
| .circleci | ||
| images | ||
| man | ||
| src | ||
| subprojects | ||
| .gitignore | ||
| AUTHORS | ||
| ChangeLog | ||
| LICENSE | ||
| meson.build | ||
| meson_options.txt | ||
| README.md | ||
tio - a simple serial terminal I/O tool
1. Introduction
tio is a simple serial terminal tool which features a straightforward command-line interface to easily connect to TTY devices for basic I/O operations.
1.1 Motivation
To make a simpler serial terminal tool for talking with TTY devices with less focus on classic terminal/modem features and more focus on the needs of embedded developers and hackers.
2. Usage
The command-line interface is straightforward as reflected in the output from 'tio --help':
Usage: tio [<options>] <tty-device>
Options:
-b, --baudrate <bps> Baud rate (default: 115200)
-d, --databits 5|6|7|8 Data bits (default: 8)
-f, --flow hard|soft|none Flow control (default: none)
-s, --stopbits 1|2 Stop bits (default: 1)
-p, --parity odd|even|none Parity (default: none)
-o, --output-delay <ms> Output delay (default: 0)
-n, --no-autoconnect Disable automatic connect
-e, --local-echo Enable local echo
-t, --timestamp[=<format>] Enable timestamp (default: 24hour)
-L, --list-devices List available serial devices
-l, --log <filename> Log to file
-m, --map <flags> Map special characters
-c, --color <0..255> Colorize tio text
-v, --version Display version
-h, --help Display help
See the man page for more details.
In session, press ctrl-t q to quit.
The only option which requires a bit of elaboration is perhaps the
--no-autoconnect option.
By default tio automatically connects to the provided device if present. If
the device is not present, it will wait for it to appear and then connect. If
the connection is lost (eg. device is unplugged), it will wait for the device
to reappear and then reconnect. However, if the --no-autoconnect option is
provided, tio will exit if the device is not present or an established
connection is lost.
Tio supports various in session key commands. Press ctrl-t ? to list the available key commands.
Tio also features full bash autocompletion support and configuration via ~/.tiorc.
See the tio man page for more details.
3. Installation
3.1 Installation using package manager
tio comes prepackaged for various GNU/Linux distributions. Please consult your package manager tool to find and install tio.
3.2 Installation using snap
Install latest stable version:
$ snap install tio
Install bleeding edge:
$ snap install tio --edge
3.3 Installation from source
The latest source releases can be found here.
Install steps:
$ meson build
$ meson compile -C build
$ meson install -C build
See meson_options.txt for tio specific build options.
Note: Please do no try to install from source if you are not familiar with how to build stuff using meson.
4. Contributing
tio is open source. If you want to help out with the project please feel free to join in.
All contributions (bug reports, code, doc, ideas, etc.) are welcome.
Please use the github issue tracker and pull request features.
Also, if you find this free open source software useful please feel free to consider making a donation of your choice:
5. Support
Submit bug reports via GitHub: https://github.com/tio/tio/issues
6. Website
Visit tio.github.io
7. License
Tio is GPLv2+. See LICENSE file for more details.
8. Authors
Created by Martin Lund <martin.lund@keep-it-simple.com>
See the AUTHORS file for full list of contributors.
