The CNS Clock


The Totally Accurate Clock (32-bit)


Tac32Plus Software

CNS Clock and Tac32 Software

CNS Systems produces the CNS Clock and the CNS Clock II. For more information about CNS Systems' products go to the CNS Systems main page.
For more information on Tac32 software, including sample screen images, go to the Tac32 Software page.
Ordering information and prices
Download self-extacting installation file Install Tac32: Run or download the Tac32 installation file by clicking the icon to the left.
Download self-extacting installation file

USB Drivers for the CNS Clock II: Version 2.08.24 (16-Sep-2012).

Uncompress this library file to a temporary location and use one of the newly created directories to load the USB driver when Windows detects new hardware or use with the update driver function to change to the latest USB driver. The directory "USB Driver" supports 32-bit and 64-bit versions of Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2. The directory "USB Driver Old - Win 98 and ME" supports Windows 98 and Windows ME.

Ethernet Discoverer Ethernet Discoverer: This utility can help find a CNS Clock II when you don't know its current IP address. It listens to port 30303 for an information packet containing the CNS Clock II's current NetBIOS hostname, MAC and IP addresses. Just run the executable "Ethernet Discoverer.exe" and you will see a windows screen. Press the "Discover Devices" button to solicit a response from the CNS Clock II. Otherwise you will see an unsolicitited response on power up or on configuration change.
Download the manual The Documentation for Tac32 and the CNS Clock II is available in Adobe format. To download right click on the button to the left and choose to save the target as a file.
Download the manual The Documentation for Tac32 and the original CNS Clock is available in Adobe format. To download right click on the button to the left and choose to save the target as a file.
Get Acrobat Reader The Tac32 documentation file requires Adobe Acrobat reader.


Version 2.7.22, February 19, 2017


  • Minor corrections.


Version 2.7.21, October 07, 2016


  • Corrected an error introduced in the previous version that incorrectly identified the SSR-6Tr and SSR-6Tf receivers as SSR-M8T. This resulted in some inappropriate features being activated.


Version 2.7.20, October 02, 2016


  • Add a satellite constellation selection for SSR-8 GNSS receivers. This allows selection of GPS, GLONASS, Galileo, Beidou, QZSS and/or SBAS (WAAS, etc.).
  • Decode the @@Cb almanac data message so it can be displayed and logged.
  • Enable dynamic mode settings for SSR (uBlox) receivers. Auto select based on navigation vs. position hold and self-survey.
  • Separate the identification of the SSR-6Tf and SSR-6Tr receiver variants and add identification of SSR 'Plus" receivers so further feature conditioning can be done.
  • Add an auto-restart switch that restart messages on an SSR series receiver if they stop unexpectedly as some SSR receivers do not restart their messages after a power interruption. This selection will also detect a long period of no valid results and issue a reset to the GPS module followed by a self-survey command to automatically start a receiver correctly when it has been moved far enough to get confused about its location.


  • Set the main screen to full size for initial installation.
  • Set "Load reference location on program startup" in the "Set Reference Location" manual entry dialog to checked (true) on first use after installation.


Version 2.7.19, August 03, 2015


  • Added the @@Wq "Change SW Part Number" command for the SSR receivers.


Version 2.7.18, July 14, 2015


  • Added the @@Wp "Change HW Part Number" command for the SSR receivers.


Version 2.7.17, June 03, 2015


  • For SSR-M8 series receivers be sure SBAS always is turned off for position hold mode and on for navigation mode.
  • Set the default baud rate for SSR series receiver's UBX modes to 57600 to match the new features in the V2.17 SSR firmware.
  • When switching SSR receiver modes ensure the @@Wb command is sent before changing the serial port characteristics.
  • Do not turn on @@Ek during initialization unless the receiver is an 8-channel model, not desired for 6 or 12 channel receivers.


  • Allow the Motorola protocol receivers in binary mode to be correctly identified at any baud rate selected in the serial port setting dialog.
  • Change the antenna status "Ant NV Short" (in Red) to "Ant No Pwr" (in Yellow).


Version 2.7.16, Apr 14, 2015


  • Update the decoding of @@Ca and @@Fa self-test messages and include the SSR receivers in the decode list.
  • Update the decoding of @@Bk and @@Ek messages to show DOP values.
  • Update decoding of @@Ws.
  • Added the @@Wm "Change Model Number" command for the SSR receivers.
  • Accommodate free format model numbers when searching for the receiver type. The correct type will be identified even if it is surrounded by other characters in the model number field.
  • Corrected the detection of leap second pending status for newer model receivers using Motorola format @@Gj message instead of the older @@Bj message.


  • None.


Version 2.7.15, Mar 24, 2015


  • None


  • Correct an indexing error in the manual command dialog window. This primarily impacts the SSR-6T series receivers but it also permits greater flexibility in managing these lists in the future.


Version 2.7.14, Mar 22, 2015


  • Label all satellite types in the signal strength bars. This is especially useful in multi GNSS receivers such as the SSR-6T, SSR-M8F and SSR-M8T receivers.


  • Eliminate references to uBlox LEA6T where these references properly apply to all supported uBlox-based receivers, LEA-6T-0, LEA-6T-1, LEA-M8F and LEA-M8T.


Version 2.7.13, Mar 20, 2015


  • Improve handling of firmware upload function for SSR receivers.
  • Add version number to the main frame title bar.


  • None.


Version 2.7.12, Feb 16, 2015


  • Add support for the new SSR-M8F and SSR-M8T receivers
  • Added @@Sx commands to support the new SSR-M8F and SSR-M8T receivers.
  • Add the ability to load new firmware into SSR modules that
    have the bootloader using external HEX files.
  • The Manual Command Dialog now remembers its last position on the


  • Correct the processing of the @@Gj message so that leap second pending
    messages are only reported if the data is associated with a future event.
  • Fix @@Ba and @@Ea message display formats so they are like @@Ha.
  • Local time is not supported by uBlox modules so disable for SSR boards.
  • The seconds field in @@Ha, @@Ba, @@Ea, @@Hb now has a two digit
    integer field with leading zero.
  • Satellites with Eb/No = 0 are no longer displayed to avoid
    conflict between the @@Ba, @@Ea, @@Ha messages and the @@Bb message.
  • Implemented a mechanism so @@Ba, @@Ea and @@Ha can coexist without
    fighting over control of date elements and the and satellite screen.
  • Reworded the DOP status line for six and eight channel Motorola
    receivers to prevent oevrflow and mising data on the display.


Version 2.7.11, Aug 22, 2012


  • Add the @@Hr command in the manual command dialog and add a decoder for the @@Hr message.
  • Allow any serial port settings for most modes, This is to support unusual hardware configurations like a modified HP Z3801A with odd parity, 7 data bits, 1 stop bit, no handshaking, and 19200 baud.
  • Update the self survey warning text message.


  • Fix the default value for the @@Ga command in the manual command dialog.
  • Fix the default value for the @@Gk command in the manual command dialog.
  • Changed the default receiver delay to 37 nsec to match the newer CNS Clock IIs.
  • Fixed the calculation of checksums for GPS binary log files.
  • Correct a time initialization error for the Synergy SSR_6T receiver.
  • Correct a rounding error that caused a one second error in the time on rare occasions with new Synergy SSR_6 series receivers.


Version 2.7.10, Feb 10, 2012


  • Improve detection, initialization and mode switching for Synergy SSR-6T receivers.
  • Implemented a decoder for the @@Bd message.
  • Provide NMEA support for u-blox receivers in the Manual Command dialog window.
  • Implemented a checkbox in the GPS Receiver Serial Port Setting dialog box that will minimize the GPS receiver initialization. Use of this capability speed up the program startup and will preserve some special settings that may be in effect before start-up. However, the receiver mode (binary, NMEA, etc.) cannot be changed when this capability is activated.


  • Correct the management of Motorola and iLotus receivers when switching between binary and NMEA modes.
  • Reinitialize the manual command dialog entries when changing GPS receiver modes.
  • Set the @@Ci default parameter correctly in the manual command dialog.
  • Assure that the Set Reference Location selections work correctly for receivers in the Motorola binary mode. These receivers must be in navigation (3D) mode before the position data is loaded and then must be returned to the selected mode. This is now handled automatically.


Version 2.7.9, Mar 22, 2011


  • Implement support for the i-Lotus TX Oncore receiver.
  • Provide support for the Synergy Systems SSR-6T receiver. This
    receiver has the same footprint as an M12 series Motorola/iLotus
    receiver. The SSR-6T has a uBlox LEA-6T receiver that operates in
    uBox NMEA or Binary mode. A version of this board has
    a processor that permits emulation of M12 series messages as well as
    other modes. Added the @@Wb message to switch the SSR-6T from M12
    to uBlox message mode.Added "@@Wc" to switch to the boot loader.
  • Added a new checkbox in the manual reference location dialog box
    titled "Load reference location on program startup." The default
    is off.
  • Added a mode for CMC Superstar Rx Only.
  • Enable Motorola Binary Rx Only mode for Tac32.


  • Correct an error that impeded correct startup in Motorola Binary if
    the serial port is set to other than 9600 baud.
  • Corrected the order of fields in the @@Ha raw data output. Added
    reserved fields for completeness.
  • Make Vehicle ID field visible at the end of the @@Ha decoded message
    even if blank by adding quotes
  • Changed the sawtooth correction message at the beginning of the
    averaging files to differentiate between software sawtooth corrected
    data, raw data and external TIC data used in the file.
  • Stop @@Hb from updating system parameters as it conflicts with @@Ha.
  • Changed the manual command dialog box to non-model so that it now
    allows the user to perform other functions outside this dialog box
    while the manual command dialog box is open.
  • Corrected an error that caused a program crash when satellite PRN
    numbers greater than 32 were detected. These PRNs are associated
    primarily with augmentation satellites.
  • Corrected a number of bugs that will improve the operation and
    stability of Tac32 and Tac32Plus.
  • Ensure that all unused rows in the satellite data table are erased.
  • Change the default elevation mask for Precision Timing mode to
    10 degrees for all receiver types.
  • Corrected the header and data fields for the Motorola PVT format log
    so that the header correctly describes the log contents. Changed the
    order of some fields for consistancy between entries created by the
    @@Ha and the @@Hb messages from 12 channel receivers such as the
    M12M used by the current generation of CNS Clock II clocks.
  • Improve the performance of the Navigation Status and Antenna
    Status panes in the Status Bar.
  • Increase the number of recognized COM ports from 64 to 128.


Version 2.7.8, Jul 26, 2009


  • Some serial port drivers produce faulty outputs for the 1PPS signal control lines. This is now managed correctly if it occurs.
  • Spell out "Motorola" instead of using "Mot" (e.g., "Motorola Binary" replaces "Mot Bin".
  • Improved the efficiency of processing certain Motorola Binary messages.
  • Eliminate intermittent exception when closing the program.


Version 2.7.7, May 08, 2009


  • A configuration management error prevented the fix that allows use of any baud rate for any receiver from 2.7.6 to function on some variations of the software. This is now fixed.


Version 2.7.6, Jul 22, 2008


  • Updated the CMC hardware-software identification message (#45) decoder to reflect more recent message data specification and to display more information.
  • Allow use of any baud rate for any receiver. New models of some receivers are implementing new data rates.


  • Correctly display PRN32 on the Satellite Az-El Chart.
  • Fixed a memory leak.


Version 2.7.5, Nov 11, 2007


  • Recognize the iLotus built M12M based on the new SiRF copyright notice.


  • Change the "Bad Almanac" message to "Cold Start or Bad Almanac" for the M12 series receivers.


Version 2.7.4, Aug 23, 2007


  • Added 100PPS support for the CNS Clock II. The CNS Clock II is unique in that it provides a precision 1PPS even when in 100PPS mode so that normal operations can continue in 100PPS mode.


  • Correctly identify the new iLotus M12M receiver modules. These modules are designed by Motorola but built by iLotus.
  • Added interim support for the SIGNAV TM3-1 receiver which is intended to be a Motorola M12 Timing receiver clone.
  • CMC (Marconi) message receive was broken in Version 2.7.3 when converting to unicode and is now fixed.
  • The CMC receiver's DGPS Status message was being derived from the wrong message thus giving false indications. Also, the CMC DGPS status tells if DGPS is enabled, not if it is being received, so the display message was changed.
  • In decoding the CMC message 33 it was found that the satellite table was incompletely cleared resulting in unused satellites remaining on the screen and occasionally even showing duplicate satellites. This is now fixed.
  • Identify CMC Allstar and Superstar receivers separately. Improve CMC receiver initialization, especially disabling undesired messages so that the Superstar correctly displays its data on TAC32's screens.
  • Fix the default size of the main window for first time users.

2.0 - 2.7.3 1.0 - 1.2.8

For earlier release notes click on the Version 1 or 2 aircraft icons below.

Go to the Version 2 release notes archive

Go to the Version 1 release notes archive

Fly off to the Release Notes pages

The release notes archive is on separate pages.
Click on the airplanes to get there.