The CNS Clock
The Totally Accurate Clock (32-bit)
plus the Time Interval Counter Module (TIC)
Tac32Plus Software
CNS Clock
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 Tac32Plus software go to the Tac32Plus Software page.
Ordering information and prices
Self-extacting installation file

Install Tac32Plus: Run or download the Tac32Plus installation file by clicking the icon to the left.

Download self-extacting installation file

USB Drivers for the CNS Clock II: Version 2.12.28 (30-Aug-2017).

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.

Downloadinstallation file

GPSTime: Version 1.0.6 (18-Feb-2021).

- GPSTime is a replacement for Tac32Plus. It has been rewritten using the Qt development environment so as to be able to be fielded on multiple operating systems. GPSTime is currently only available as a 64-bit application and has only been tested on Window 10, CentOS and Linux. This is the Windows version. The passcode is the same as the current version of Tac32Plus. Please try it out and report your experiences to Rick at CNS Systems, Inc.

Version 1.0.6 implements the full range of Telnet (TCP/IP) remote control features, shows file extension types on the GPS Log file dialog boxes, and changes the text on the “accept” button for the GPS and TIC log file dialog boxes to reflect new vs. open functions.

TCPIP Discoverer TCPIP 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 hostname, MAC and IP addresses. Just run the executable "tcpip_discoverer.jar" 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 Tac32Plus 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 Tac32Plus 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.
Download the manual The TIC Documentation for Tac32Plus 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 Tac32Plus documentation files require Adobe Acrobat reader.


Version 2.7.30, September 27, 2020


  • When in UBX binary mode, correct the mode settings and transitions between Navigation, Position Hold (0D) and Survey. Note that when terminating a survey early, the mode will return to position hold before it can be set to navigation, regardless of the command settings.


Version 2.7.29, July 22, 2020


  • Correct the calculations used to resolve the automatic sawtooth
    correction add vs. subtract determination.
  • Code cleanup - Eliminate unused variables.


Version 2.7.28, February 11, 2020


  • Improve the decoding of @@Bn and @@En messages.


Version 2.7.27, November 9, 2019


  • Revise the decoding of special emulation modes for the SSR series receivers and add a new mode.


Version 2.7.26, November 2, 2019


  • Revise the detection of receiver types to so the special emulation
    modes of the SSR series receivers are correctly detected.


Version 2.7.25, June 12, 2019

New Features:

  • Enable some supprted features in the GPS Receiver Mode Selections window for the CNS Clock II and other SSR receivers in Motorola Binary mode. This includes Satellite Activation and Application Type.
  • Enable and implement self-survey in u-blox UBX mode.


  • Change the file extension of GPS receiver PVT logs from "txt" to "csv" and correct the column header for the PVT log files.
  • Correct the encoding of baud rates for the UBX pass-through mode.


Version 2.7.24, May 20, 2019

New Features:

  • Provide support for short PPS on CNS Clock II, rev L and newer, starting with serial number 404409.


Version 2.7.23, October 9, 2018


  • Many minor bug fixes.
  • Added support for legacy Motorola commands and messages, including @@Aa, @@Ab, @@Ac, @@Ad, @@Ae, @@AF and @@En.
  • Support both long and short versions of UBX MON-HW messages.
  • Corrected the logic for going from u-blox modes to Motorola binary mode.
  • Add a decoder for the UBX-TIM-DOSC message.
  • Add a "-- PPS --" tag to the raw data dialog.


Version 2.7.22, February 19, 2017


  • Provide support for the TAPR TICC time interval counter.
  • Correct an error that caused the TIC serial port to start with default parameters (baud rate, etc.) instead of the saved parameters.


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 satellite constellation selection for SSR-8 GNSS receivers. This allows selection of GPS, GLONASS, Galileo, Beidou, QZSS and/or SBAS (WAAS, etc.).
  • Implement the Leap Indicator (LI) sub-field in the first word of the NTP protocol message.
  • Add automatic polling for leap second data when in uBlox binary mode (UBX).
  • Decode the @@Cb almanac data message so it can be displayed and logged.
  • For SSR (uBlox) series receivers when in UBX binary mode:
    - Reset the Date/Time/PPS alignment source to UTC on initialization.
    - Timing setup delays are now working.
    - Activate the 1 / 100 PPS selection mode when in UBX binary mode.
    Note: these receiver modules are used in most CNS Clock II units since sn 404293 in Jan 2013.
  • Enable dynamic mode settings for SSR (uBlox) receivers in both Motorola and UBX binary modes. 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.
  • Improved the firmware upload capability for the SSR Plus series receivers.


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.


  • Correct the exponential scale factor calculation and normalization for very small time values, less than 100 nanoseconds. This applies to Time interval counters using scientific or engineering notation, such as the Berkeley Nucleonics Model 1105.


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.
  • Added support for TICs with TCP/IP interfaces, especially the Agilent 53220A/53230A 350 MHz Universal Frequency Counter/Timer and the Berkeley Nucleonics Corporation Model 1105 400 MHz Universal Counter.
  • 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.
  • Corrected an error handling TIC data when the scalling factor is "s" (seconds). This error also corrupted the TIC log.
  • 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.
  • Implemented the new TELNET Get/Set Reference Position command.
  • 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.
  • Increase the number of recognized COM ports from 64 to 128.
  • Added a mode for CMC Superstar Rx Only.


  • 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.
  • The TELNET function was not working in the UNICODE version of Tac32Plus.
    This is now fixed.
  • 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.


Version 2.7.8, Jul 26, 2009


  • Implement support for the u-blox LEA-5T.


  • Some serial port controllers would not work with the Time Interval Counter. This is fixed.
  • Some serial port drivers produced 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


  • Merge Tac32Multi into Tac32Plus
  • 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.