Commit graph

103 commits

Author SHA1 Message Date
Martin Lund
8f7c32e2e9 Do no distribute src/bash_completion/tio
Since bash completion tio script is now autogenerated from tio.in it
should not be distributed in the tarball.
2016-06-13 08:23:32 +02:00
Martin Lund
80cd28bbb6 Added more error handling of terminal calls
Also removed duplicate terminal flushing calls.
2016-06-10 18:09:15 +02:00
Martin Lund
61655faaa8 Revert "Added support for non-standard baud rates"
This reverts commit deec83a4ee.

Reverting because supporting non-standard or arbitrary baud rates is
troublesome because the c library provides no means of doing so and even
if bare metal linux kernel interface is used it will not work on all
Linux kernels version.
2016-06-10 16:51:12 +02:00
Martin Lund
a64d1a493b Rearranged key commands
Rearranged the key commands:

ctrl-c (clear screen) is now
ctrl-l which is similar to the well known shell ctrl-l

ctrl-i (show settings information) is now
ctrl-c (show configuration)

Updated man page accordingly.
2016-06-04 21:56:53 +02:00
Martin Lund
b9a2f4a1be Added "ctrl-t c" key command to clear screen 2016-06-02 00:35:19 +02:00
Martin Lund
deec83a4ee Added support for non-standard baud rates
Only enabled when possible, that is, when the BOTHER definition is
available.

It is untested but it should work as described here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683826

Some Cypress USB<->serial devices supposedly supports arbitrary speeds.
2016-05-28 16:02:21 +02:00
Martin Lund
c8a677e3d9 Generate baudrate switch cases based on detection
Support a single source of baud rate configuration as discussed in
https://github.com/tio/tio/issues/45 .

To do so, autogeneration of the switch cases which do the baud rate
option value check and configuration/conversion in tty_configure() is
introduced via a single macro.

Just to be safe, this change also enables configure detection of all
baud rates, including the ones previously assumed supported by most/all
systems (POSIX).
2016-05-28 09:54:45 +02:00
Martin Lund
86eec26b5b Minor cleanup 2016-05-27 09:30:23 +02:00
Martin Lund
bf1f712e5e Exit when not a tty device in autoconnect mode 2016-05-26 17:15:08 +02:00
Martin Lund
72b200a19b Compacted tty_configure() a bit 2016-05-26 16:05:57 +02:00
Jakub Wilk
0f02e6e551 Generated bash completion at configure time 2016-05-26 15:23:19 +02:00
Martin Lund
933792d73f Fixed automatic baud rate enablement 2016-05-26 09:58:48 +02:00
Martin Lund
5406da5ddb Minor cleanups 2016-05-26 09:22:45 +02:00
Martin Lund
8eb0e6d874 Added autodetection of available baud rates
Various platforms supports different baud rates.

To avoid adding platform specific handling generic baud rate detection
tests are introduced in the configure script. Successfully detected baud
rates are automatically enabled. This applies to both the C code and the
bash completion script.

Note:
Baud rates below 57600 are defined by POSIX-1 and supported by most
platforms so only baud rate 57600 and above are tested.
2016-05-26 08:59:18 +02:00
Martin Lund
f4cba8ebfb Updated bash-completion 2016-05-26 00:11:27 +02:00
Jakub Wilk
7af9cc93d4 Add support for baud rates 200 and 1800 2016-05-25 22:28:23 +02:00
Jakub Wilk
329e70a501 Fixed baudrate type 2016-05-25 20:45:41 +02:00
Martin Lund
3be7137c29 Fixed printf() format type 2016-05-25 18:35:33 +02:00
Martin Lund
399598fd31 Removed use of deprecated bzero() 2016-05-23 20:07:49 +02:00
Martin Lund
efef2fa254 Removed + to remove potential confusion 2016-05-23 19:20:11 +02:00
Martin Lund
81be02fc03 Added input digit checks 2016-05-23 19:01:40 +02:00
Martin Lund
aecc829829 Fixed license string 2016-05-23 18:11:08 +02:00
Martin Lund
e920cc9b32 Introduced tty_configure()
Moved tty configuration actions to tty_configure() in tty.c. This way
options.c is strictly about parsing options nothing else.
2016-05-23 18:03:13 +02:00
Martin Lund
1f45b8d91d Function names cleanup 2016-05-23 08:50:47 +02:00
Jakob Haufe
82063b73fb
Include config.h before standard headers
This makes use of 8d6d202 (Enable large file support) for real.
2016-05-21 21:15:33 +02:00
Jakub Wilk
f2fe52b600 Fixed printf directives for tx/rx counters
In 9a66de0aff, types of tx/rx counters were changed from "long" to
"unsigned long", but their printf directives remained "%ld".
Change them to "%lu" to match the actual types.
2016-05-21 16:42:49 +02:00
Martin Lund
9a66de0aff Fixed tx/rx counters type 2016-05-21 10:31:41 +02:00
Martin Lund
fa079c6852 Fixed tio_printf macro 2016-05-20 20:49:16 +02:00
Martin Lund
065ee51291 Fixed launch hints
Fixed launch hints not being printed in no autoconnect mode.
2016-05-20 20:19:42 +02:00
Martin Lund
59a537f7dd Added 'ctrl-t ?' to list available commands 2016-05-20 20:10:12 +02:00
Martin Lund
66d5cf5456 Fixed log mechanism
To avoid echoing only log what is received from tty device.
2016-05-20 19:51:12 +02:00
Martin Lund
8ddabb1908 Improved tio output
Added titles and indentation to commands output for clearer separation
when firing commands repeatedly.

Also added print of tio version and quit command hint at launch.
2016-05-20 19:36:23 +02:00
Martin Lund
dc455eb0c2 Merge branch 'master' of github.com:tio/tio 2016-05-20 15:19:46 +02:00
Martin Lund
7eb64748da Cleaned up tio print mechanism 2016-05-20 15:18:48 +02:00
Martin Lund
79adb44d1b Fixed some error prints 2016-05-18 22:27:31 +02:00
Martin Lund
dd49d07547 Fixed error printing for no autoconnect mode
Always print errors but only print silent errors when in no autoconnect
mode.
2016-05-18 21:28:08 +02:00
Martin Lund
ffe87bc566 Added key command for showing session settings
A new key command "ctrl-t i" is added to allow the user to display the
various session settings information (baudrate, databits, log file, etc.).

This is usefull in case you have a running session but have forgotten
what the settings are.
2016-05-18 15:29:09 +02:00
Martin Lund
20c43dcf7c Consolidated command key handling 2016-05-18 09:06:40 +02:00
Martin Lund
13a8bc7790 Moved delay mechanism into separate function 2016-05-18 08:17:07 +02:00
Martin Lund
14fc053e8b Retired obsolete usleep()
Replaced with nanosleep()
2016-05-17 22:21:12 +02:00
Jakub Wilk
dc997b2a8a Insert output delay only if something was output 2016-05-17 22:04:04 +02:00
Martin Lund
a8103b8983 Added simple tx/rx statistics command (ctrl-t s)
To display the total number of bytes transmitted/received simply perform the
'ctrl-t s' command sequence.

This feature can be useful when eg. trying to detect non-printable
characters.
2016-05-17 16:08:19 +02:00
Martin Lund
0687d7ff7b Further simplification of key handling
Changed so that the "ctrl-t ctrl-t" sequence is now simply "ctrl-t t" to
send the ctrl-t key code. This is inspired by screen which does similar
to send its command key code (ctrl-a a).

This change also allows to easier add new key commands if needed.

Updated man page accordingly.
2016-05-17 11:59:56 +02:00
Martin Lund
9571a84d70 Cleaned up and simplified key handling 2016-05-16 22:53:55 +02:00
Martin Lund
156f06c711 Updated tio title 2016-05-16 15:31:56 +02:00
Jakub Wilk
2a03a05a49 Treat EOF on stdin as error 2016-05-13 20:41:39 +02:00
Martin Lund
ef98fc7fa2 Introduced lock on device file
Tio will now test for and obtain an advisory lock on the tty device file
to prevent starting multiple sessions on the same tty device.
2016-05-12 15:44:59 +02:00
Jakub Wilk
bfe5c07279 Fix error handling for select()
Previously the error handling code for select() was unreachable.
2016-05-09 22:17:06 +02:00
Martin Lund
ad551b363e Cleanup of error handling
Introduced consistent way of handling errors and printing error messages.

Also upgraded some warnings to errors.
2016-05-09 17:28:43 +02:00
Martin Lund
4e2bcde010 Updated localtime() error message 2016-05-09 14:54:22 +02:00