WhippyTerm is a modern terminal program. It has been designed to have a modern UI and to run on modern OS's like Windows and Linux. It also has a number of unique features such as bookmarks, built in hex dumps, extending through plugins, and native support for binary protocols.
WhippyTerm is primarily aimed at embedded developers that need to talk to their devices. It supports serial communication such as serial ports (RS232, RS485, RS422, TTL UART), TCP/IP, UDP. It also supports protocols such as I2C and SPI though plugins.
Support for terminal emulations such as ANSI are builtin and always available. Others can be added through plugins.
WhippyTerm is designed to work with binary protocols, in both serial streams like RS232, and message block protocols like UDP. Support for sending blocks of binary or AscII data is included to better work with embedded devices and binary protocols.
And of course WhippyTerm is open source (licensed under the GPL v3)
WhippyTerm has a number of features built in, plus more can be added through the use of plugins.
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.
WhippyTerm support ANSI escape sequences to do things like change colors and move the cursor. Support for most sequences is included and other protocols can be installed using plugins.
A utility for figuring out what CRC algorithm was used to make a CRC. You select / input the text that is covered by the CRC and then input the CRC that was used in the message. WhippyTerm will then search all of it's known CRC's to see if any matches. If there is a match you can then get source code that calculate that CRC.
WhippyTerm can calculate many different types of CRC for a group of bytes. You can then insert the calculated crc into send buffers, or just copy them to the clip board. WhippyTerm can then give you the source code to calculate that CRC (in C code).
Bookmarks let you setup a connection the way you want and then save them to a menu that can be selected later. You can set things like connection speed, colors, terminal size, text vs binary mode and more.
You can setup a connection to automatically reopen when it closes. You can select the number of milliseconds to wait before trying to open the connection again.
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 WhippyTerm 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.
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.
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.
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 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.
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.
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.
WhippyTerm supports an extensive plugin system to expand it's abilities beyond the core set. Plugins can add new communication protocols, new text processing type, filtering of text and binary data, and new transfer protocols. The list of plugin is always expanding.
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.
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.
Manual styling lets you select text and apply styling like bold / italic / underline / background color. This is useful for binary hex dumps where you want to mark the start of a packet or highlight some part of the message.
The portable version allows you to install WhippyTerm on a USB stick. You can then run WhippyTerm without needing to instead it on the computer you which to use it on. This is also a good option if you do not have admin rights on a computer as you do not need to install WhippyTerm, just run it.