Whippy Term
WhippyTerm is a modern terminal program. It is written to have a number of
modern features such as a tabbed interface, plugin system for extensibility,
collapsible side panels to make connection tools easy to access,
bookmarks to save your connection settings and preferences per task, and more.
Features
- Modern tab based GUI
-
Organize your connections using a tab based layout. Just like your
web browser you can open may connections and easly switch between them
using your mouse or CTRL-TAB and CTRL-SHIFT-TAB.
- Smart CTRL-C handling
-
Smart handling of the CTRL-C key press changes what happens when
CTRL-C and CTRL-V are pressed making CTRL-C and CTRL-V work as
both clipboard controls and break keys in a natural way.
When CTRL-C is pressed but there is no selected text then
Whippy Term sends a 0x03 char. If there is a selection then the
selection is copied to the clipboard and the selection is cleared.
If CTRL-C is pressed a second time (because the selection was
cleared) it will send a 0x03.
When CTRL-V is pressed 2 times quickly then 0x16 is sent. If
CTRL-V is pressed only 1 time or pressed 2 times slowly then
the clipboard is sent.
- Connection bridging
-
With connection bridging you can connect 2 connections together so
that anything that is sent into one connection is sent out the other
connection (and vice versa).
This allows you to spy on the comuncations between to devices, and/or
inject data into the serial stream.
You can also connect different connection types together, such as
connecting a serial port to a TCP/IP connection.
- Hex view
-
The hex dump panel lets you see the raw bytes that came in
any open connection. This allows you to see exactly what the device
sent. You can see what line endings the device is sending, what
control chars it is sending, if it is using ANSI escape sequences,
of if there are corrupt bytes being sent.
- Binary protocol support
-
Using binary decoding plugins you can display known protocols
in to a hex dump colored to highlight bytes in the protocol. Depending
on the plugin you can also decode the meaning of the messages.
- Send buffers
-
Send buffers let you send blocks of binary data from a buffer. The
buffer can be edited and sent by the click of the mouse or press of
a key. This lets you build up binary protocols in a quick and easy
way.
- TCP/IP and UDP support
-
Different connection types are support that include TCP/IP and UDP
protocols. You can run a server or a client allowing you to both
accept incoming connections and make connections to outside servers.
- Serial port focus
-
The main focus of Whippy Term is an embedded serial terminal so
any features added will be orientated around that. Some programs
focus on being ssh clients and there for their features revolve around
that.
- Built in serial test
-
You can test the reliability and put though of your serial ports and
drivers, using the built in com test. You can send different patterns
at different rates between two connections or a single connection setup
to loop back data.
- Plugin Support
-
Through plugins Whippy Term can be expanded to add new decoders,
new types of connections, and other tools.
- Custom settings per connection
-
A number of settings can be set per connection. This allows you to
change the data processor, terminal size, font's, and such so that
each one behaves differently.
- Stop watch
-
A built in stop watch that can setup to trigger on the first char send.
The stop watch can also add a lap (the current time) when there is a
pause in the incoming byte stream.
- CRC calculating
-
When making a send buffer WhippyTerm can calculate many different
types of CRC for a group of bytes. WhippyTerm can then give you the
source code to calculate that CRC.
Why
Why make another term program? Well, Whippy Term was started because most of
the existing serial terminal programs where from the 90's back when BBS and
dial up modems where what you used term programs for. People had kept these
programs working, sometimes with new features, sometimes without adding
anything.
The things I wanted where:
- Open source
- Multi-platform (at least Windows and Linux)
- Easy to use with a decent GUI
- Core features like ANSI support, logging, file transfers, etc
- A focus on serial com's
After looking around I found Tera Term
and Putty on Windows, and Minicom,
and Putty on Linux.
However none of these fit everything I wanted.
One of the best was Tera Term, but it was Windows only, and the UI is a mashup
of Windows 3.11, 95, XP, and more modern UI's. Putty was close but it's really
a SSH terminal that can also open a serial port.
Tio (which is modern) was
still new I didn't find it before I started Whippy Term so I didn't look at it
however it (also it doesn't use a GUI).
I should also add a honorable mention for RealTerm as well.
This is a good program for looking at and working with binary serial protocols.
However it doesn't really do the terminal thing, and is Windows only.
I looked at forking one of these and adding a new GUI and making it
multi-platform. I gave this a lot of thought, but in the end I decided that
making a new project was going to be easier. And so began Whippy Term.
-- Paul Hutchinson