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:

NEW/CHANGED FEATURES:

  • 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.

BUG FIXES AND STABILITY IMRPOVEMENTS

  • Code improvement to avoid ThreadAccessingUIException

4 comments:

Stephen Hughes said...

Hi Roger, I think I've found a minor issue with 1.4.5 and probably older versions. Receiving an ASCII 128 character ($80 hex) appears to 'break' the view ASCII window. It stops displaying incoming text while 'View Hex' mode does display the characters.

Using 'Clear Data' resets things and it starts working again.

I should say I don't know if it is a single $80 or a pair which causes this - I unintentionally receive two when manipulating the settings on my Bluetooth module. I can't easily send a single one to check.

Roger said...

Thanks for reporting this. Looks like you're correct. A single 0x80 seems to be doing this. I'll look into this. It's possible that the textfield that displays the plain data has a hard time displaying this character. The receive buffer obviously has all the data since the hex view shows everything.

Shelandy said...

Roger:
I tried 1.4.6 under gnome shell in Mageia Linux and encountered lots of errors. Let me share the few at the beginning. Sound like a gtk issue?

$ /usr/local/CoolTermLinux/CoolTerm
Runtime Error
Please report what caused this error along with the information below.
RuntimeCore/ICUStable.cpp: 148
Failure Condition: functionPtr
Could not resolve u_strFromUTF8

(process:6330): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(process:6330): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(process:6330): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:6330): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(process:6330): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

Roger said...

Newer version of CoolTerm require additional 32-bit libraries to be installed on 64-bit Linux systems as compare to older versions. Here is some information that may be helpful in getting v1.4.6 working on your system:

64-bit and Library Information
==============================

CoolTerm requires these libraries:

GTK+ 2.20
glibc-2.11
libstdc++.so.6.0.13
libicu 4.2+

On 64-bit Linux distributions, you will need to ensure the appropriate 32-bit compatibility libraries are installed in order to run CoolTerm. Note that glib 2.0 might not be included in 32-bit library packages. One of these commands usually works for Ubuntu:

sudo apt-get install ia32-libs
sudo apt-get install ia32-libs-multiarch

Newer versions of Ubuntu may require additional steps as well:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install ia32-libs-multiarch

For more information on Multiarch support: https://wiki.debian.org/Multiarch/HOWTO .

For RedHat-based Linux distributions (such as CentOS), this command should install 32-bit libraries:

/usr/bin/yum -y install gtk2.i686 glib2.i686 libgcc.i686 libstdc++.i686 libicu.i686

To determine which libraries are used by CoolTerm, you can use the ldd command:

ldd CoolTerm

LibICU
======

Users of Debian/Ubuntu derivatives, (such as Linux Mint etc…), regardless of whether they are using a 32-bit or 64-bit distribution, should also install the 32-bit version of the "International Components for Unicode" library, i.e. "libicu52:i386", as follows:

sudo apt-get install libicu52:i386

For RedHat-based Linux distributions (such as CentOS), this command is used:

yum install libicu.i686

Alternatively, the library can also be installed via the appropriate package manager. Search for "libicu52" and select "libicu52:i386" to install it.