github npat-efault/picocom 2.0
Release 2.0

latest releases: 3.1, 3.0, 2.2...
8 years ago

This is a major new release of Picocom. Although there are not many immediatelly visible changes, almost all parts of the program have been improved and enchanced. Several bugs have been fixed. The most important changes are listed below (in no particular order).

  • The "change-databits" command-key has been reasigned (from C-b to C-i); to make room for the new command "set baudrate" (C-b, see below), and for some symmetry with the new "set stopbits" command (C-j)
  • The short option letter for the --parity command line option has been changed from -p to -y; to leave -p for the new --stopbits command-line option (see below).
  • The default name for the history file has been changed to: '.picocom_history' (in the user's home dir).
  • The default input buffer size TTY_Q_SZ has been increased to 32KB. You can change it by editing the Makefile if you wish.

The following are improvements and new features added to picocom:

  • You can now select between 1 or 2 stopbits for the serial port, either via command-line option (--stopbits) or via command (C-j).
  • Added new command (C-b) that allows you to enter a baudrate numerically. This is particularly useful if you have compiled-in the "custom baudrates" feature (see below), as it allows you to enter arbitrary baudrate values. The old baud-up (C-u) and baud-down (C-d) commands are still available.
  • Added command that prints a list of all available command-keys (C-h or C-k).
  • It is now possible to disable the send- and receive-file commands (C-s, and C-r) by supplying an empty string as the argument to the --send-cmd and --receive-cmd options, respectively. When both commands are disabled, picocom no longer forks or executes any external programs.
  • Picocom no longer uses /bin/sh to run external commands for file-transfer operations. Parsing the command line and spliting it into arguments is now performed internally by picocom, using quoting rules very similar to those of the Unix shell. Hopefully, this makes it impossible to inject shell-commands when supplying filenames and extra arguments to the send- and receive-file commands.
  • Much improved serial-port settings handling and reporting. Whenever a port-setting is changed (baud-rate, parity, flow-control, etc) by a command, the serial port attributes are re-read, and if found different from the requested value, both values are displayed (first the requested, then the actual in parenthesis). The show-status command (C-v) also re-reads the actual terminal attributes and displays both: the requested values and the actual terminal settings (if they differ). This way C-v is able to "see" changes made to the serial-port outside of picocom (or changes made from within picocom but silently ignored by the serial port driver---which happens).
  • The show-status command (C-v) also displays the current status of the modem control lines (DTR, DSR, DCD, RTS, CTS, and RI) if available. This feature is, at the moment, only available on Linux. Patches for other platform are welcome.
  • Picocom is now more clever regarding its output (writting to the serial port) pacing. It no longer calls write(2) to send (overly) large chucks to the tty in a single gulp. It limits the amount of data write(2) can send to the tty on a single call, based on the port's baud rate. This way no huge output buffers (relative to the baud-rate) accumulate, and they don't take "forever" to drain.
  • Added support for setting custom (arbitrary) serial-port baud rates. With this compiled-in you can, for example, set the serial-port's baudrate to 42000 bps, or 1234 bps, or other such arbitrary values. Custom baudrates can be set either through the command-line option (--baud), or using the new command "set baudrate* (C-b). Currently this feature only works on Linux (and requires kernels > 2.6). By default the USE_CUSTOM_BAUD feature is NOT compiled in. You have to comment-in the respective lines in the Makefile and recompile picocom to enable it. Patches for other platform are welcome.
  • Added compile-time option (NO_HELP) that allows you to compile picocom without including any help stirngs. This makes picocom harder to use, but saves a few kilobytes. This option is diabled by default.

Several other smaller improvements, and bug fixes are not listed here. See the commit logs for details.

As always, feedback, corrections, suggestions, and patches are welcome. Open issues here or email me.

Don't miss a new picocom release

NewReleases is sending notifications on new releases.