Tuesday, February 16, 2016

CoolTerm used in cancer research

Saroj P. Mathupala, Sam Kiousis, and Nicholas J. Szerlip from the University of Nebraska Medical Center have built an Arduino based sensor module for continuous oxygen measurement in portable hypoxia chambers. CoolTerm was used for cataloging. Read the full article here.

CoolTerm v1.4.6 Released

CoolTerm 1.4.6 is now available for download and includes some feature enhancements as well as bug fixes. Here is what's new:
  • Added the option to automatically start file capture upon loading connection settings.
  • Added option to append new data to auto capture files.
  • Added option to filter ANSI escape sequences. If this option is enabled, ANSI sequence characters will be filtered in ASCII view mode.
  • Added preference option to enable condensing the line spaces in plain text view mode (not available in Universal Binary builds).
  • [Win][Linux] Added code to ensure that only one instance of CoolTerm is running on the system at the same time
  • Added code to ensure that a connection settings file can only be opened once.
  • Added preference option to show or hide the toolbar.
  • Added UTF-8 support for plain text view.
  • Updated preferences dialog to display extended character set.
  • [Win] Added support for AltGr key combinations on certain international keyboards.
  • Added shortcut (Mac: CMD-I, Win/Linux: CTRL-I) to Connection/Options... menu.
  • Changed relative timestamp format from HH:MM:SS:sss to HH:MM:SS.sss to be consistent with established timestamp conventions.
  • Removed CTRL+Alt+S short cut for "File/Save as default" to avoid AltGr+S triggering the short cut.
  • [Win][Linux] Changed code to use platform specific default text encoding for the plain text window to allow displaying bytes larger than 0x7f.
  • UI Tweaks to harmonize the look of the GUI between platforms.
  • Updated Help Text with instructions on how to remove the serial port name from settings files.
  • [Linux] Updated AutoScroll code to behave the same as it does on Mac and Windows.
  • Fixed bug that didn't properly update the text of the Connection/Connect_Disconnect menu when switching between terminal windows.
  • [Mac] Fixed bug where the text encoding of strings returned from AppleScript commands was not defined.

Saturday, February 14, 2015

CoolTerm 1.4.5

CoolTerm 1.4.5 is now available for download and includes some feature enhancements as well as bug fixes. Here is what's new:


  • Added new option to handle Form Feed (FF, ASCII code 12) characters. When enabled, the reception of a FF character will clear the receive buffer and thus clear the screen.
  • Added new option to handle End Of Text (EOT, ASCII code 4) characters. Enabling this feature will prevent the display from updating until a EOT character is received, at which time the display is updated with the contents from the receive buffer.
  • Added code to present the user with the option to select a serial port if a loaded settings file includes an empty string for the port name. This allows the creation of generic settings files. 
  • [MAC] Additional retina support.


  • Code improvement to avoid ThreadAccessingUIException

Tuesday, October 28, 2014

Books that mention CoolTerm

Did you know that there is a host of interesting books out there that mention CoolTerm? Here is a snapshot of what appears to be a growing list:
Rob Faludi was kind enough to send me a copy of his book to review a few years ago when it came out. It's a nice read and a good way to get hooked on XBee. I can also recommend Tom Igoe's book (to which Rob contributed as well), which I ended up buying for myself.
I obviously can't afford to buy all the books on this list, especially if it keeps growing as it has, but I would certainly like an opportunity to read them. So, if you're one of the authors of the books above and would like to make a contribution to the "CoolTerm Library" by donating a copy of your book (a signed copy would be nice :-)), I would appreciate it very much.

Sunday, September 21, 2014

CoolTerm 1.4.4

CoolTerm 1.4.4 is now available for download and includes a handful of feature enhancements as well as some bug fixes. Here is what's new:


  • Added feature that shows the path to the current capture file (if a capture is currently active) when the mouse is hovered over the serial port status label at the bottom left of the CoolTerm window.
  • changed Enter key emulation settings to use popup menu and added the option use a custom sequence to emulate the enter key.
  • Added additional font sizes to preferences dialog.
  • Added option to reduce the terminal refresh rate to once per second in order to reduce the CPU load on systems where power consumption is critical.
  • Added text the the built in help to explain that reducing the size of the receive buffer can be used to reduce CPU power consumption.
  • [MAC] Compiling for Cocoa from now on.
  • [MAC] Added basic retina support.


  • CoolTerm now properly remembers the last used folders (individually) for opening connection settings, capturing to text files, as well as sending text files.
  • Added DEL character (ASCII 127) to the routine that handles BS characters in ASCII view.
  • optimized code to reduce CPU load while sending text files.
  • stability improvement to the code of the circular receive buffer.


  • fixed code that could cause extended ASCII characters to sometimes be incorrectly translated from hexadecimal format to plain text.

Monday, September 02, 2013

CoolTerm 1.4.3

CoolTerm 1.4.3 is now available for download and includes a handful of feature enhancements as well as some bug fixes. Here is what's new:

  • Added preference setting to select the date and time format used for timestamps. The user can select between the SQL Date/Time format (YYYY-MM-DD HH:MM:SS) or the format determined by the users local system settings.
  • Added options to choose the timestamp type and modified the code to fix an bug where the millisecond count and the Date/Time timestamp could get out of sync. It is now only possible to capture timestamps with millisecond resolution when selecting the relative timestamp format.

  • Made various stability improvements to the code that updates the GUI while data is being sent and received.

Sunday, February 17, 2013

CoolTerm 1.4.2

CoolTerm 1.4.2 is now available for download. It includes a number of improvements.

Here is what's new:

- Added options to set the initial state of RTS and DTR when the serial port opens. These options will only have an effect if the respective hardware flow control is not enabled.
- Changed the behavior of capturing received data to file when timestamps are enabled. Instead of appending a time stamp at every occurrence of CR and/or LF characters by default, it is now possible to specify the termination string at which to split the data. Furthermore, CoolTerm will now wait until the specified termination string is received until the data is captured to file.
- Added option to convert received data to hex before capturing to a capture file.
- Enabled the "Close Window" short cut for the "Send String" window.
- Added Alt+ENTER short cut for toggling between ASCII and Hex mode in "Send String"
- Added Connection/Reset menu item to provide a way to reset the port and unlock it if XOFF is active.
- Changed the behavior of the text file capturing with regards to the state of the port. It is now possible to start capturing before the port is opened. In addition, capturing is no longer stopped automatically when the port is closed. This allows for capturing to remain enabled even when the connection state of the port changes.
- Added code to allow canceling of a text file transmission in progress if XOFF is active.
- Added option to the connection settings (Misc. Options) to automatically close the serial port when the window is being closed without showing a warning if the port is still open.
- Updated the built-in help with information on all menu items.

- fixed bug that would cause a NilObjectException in the Xmit routine in cases where the serial port is still transmitting or is hung while the port goes out of scope. This hopefully fixes the crash bug some users have experienced on occasion.
- Fixed bug that caused the transmit line delay setting to not properly be saved to connection settings files.
- Made improvements to receive buffer code to avoid resource conflicts.
Windows only:
- Changed file association on windows to work even on systems where the current user may not have administrative privileges.

- Changed AppleScript commands to use unique terminal window IDs instead of the names when addressing windows.
- Added the following AppleScript commands
- WindowCount as integer
- WindowID(Index as integer) as integer
- WindowName(index as integer) as String
- IndexOfWindowID(ID as integer) as integer
- NewWindow as integer
- Quit
- ResetPort(ID as integer)
- FlushPort(ID as integer)
- BytesLeftToSend(ID as integer) as integer
- LastErrorCode(ID as integer) as integer
- GetCTS(ID as integer) as boolean
- GetDSR(ID as integer) as boolean
- GetDCD(ID as integer) as boolean
- GetRI(ID as integer) as boolean
- CaptureStart(ID as integer, FilePath as string) as boolean
- CapturePause(ID as integer)
- CaptureResume(ID as integer)
- CaptureStop(ID as integer)
- SendTextFile(ID as integer, FilePath as string) as boolean
- SendBreak(ID as integer)
- SetDTR(ID as integer, Value as boolean)
- GetDTR(ID as integer) as boolean
- SetRTS(ID as integer, Value as boolean)
- GetRTS(ID as integer) as boolean
- Added code to suppress error messages when CoolTerm is controlled by an AppleScript.
- Updated AppleScriptReadme.txt to reflect latest changes.

Version 1.4.x will be the last release of CoolTerm compiled as Universal Binary. Starting at version 1.5.x, CoolTerm will only be deployed for Intel based Macs.

Monday, November 21, 2011

CoolTerm 1.4.1

CoolTerm 1.4.1 is now available for download. This is a bug fix release that fixes some bugs that have popped up since the release of version 1.4.0. 

Here are release notes:

- Improved handling of exceptions if preferences or connection settings can not be read or written.
- Checking serial port for nil in the transmit thread to avoid NilObjectException exceptions. Not clear if this fixes the issue a few users have seen.
- Improved exception handling when serial port adapters are added or removed from the system while CoolTerm is running.
- Fixed a bug in the circular receive buffer that could cause an OutOfBoundsException when reading data.
- Improved handing of OutOfMemoryExceptions when attempting to set the receive buffer size to a value larger than the amount of memory available on the user's system.