Heath WWV/WWVH Receiver


Address: 127.127.19.u
Reference ID: WWV
Serial Port: /dev/heathu; 1200 baud, 8-bits, no parity
Features: tty_clk
Requires: /usr/include/sys/termios.h header file with modem control


This driver supports the Heath GC-1000 Most Accurate Clock, with RS232C Output Accessory. This is a WWV/WWVH receiver somewhat less robust than other supported receivers. Its claimed accuracy is 100 ms when actually synchronized to the broadcast signal, but this doesn't happen even most of the time, due to propagation conditions, ambient noise sources, etc. When not synchronized, the accuracy is at the whim of the internal clock oscillator, which can wander into the sunset without warning. Since the indicated precision is 100 ms, expect a host synchronized only to this thing to wander to and fro, occasionally being rudely stepped when the offset exceeds the default CLOCK_MAX of 128 ms.

The internal DIPswitches should be set to operate at 1200 baud in MANUAL mode and the current year. The external DIPswitches should be set to GMT and 24-hour format. It is very important that the year be set correctly in the DIPswitches; otherwise, the day of year will be incorrect after 28 April of a normal or leap year.

In MANUAL mode the clock responds to a rising edge of the request to send (RTS) modem control line by sending the timecode. Therefore, it is necessary that the operating system implement the TIOCMBIC and TIOCMBIS ioctl system calls and TIOCM_RTS control bit. Present restrictions require the use of a POSIX-compatible programming interface, although other interfaces may work as well.

The clock message consists of 23 ASCII printing characters in the following format:

hh:mm:ss.f     dd/mm/yr<cr>

hh:mm:ss.f = hours, minutes, seconds
f = deciseconds ('?' when out of spec)
dd/mm/yr = day, month, year

The alarm condition is indicated by '?', rather than a digit, at A. Note that 0?:??:??.? is displayed before synchronization is first established and hh:mm:ss.? once synchronization is established and then lost again for about a day.

A fudge time1 value of .07 s appears to center the clock offset residuals.

Monitor Data

When enabled by the flag4 fudge flag, every received timecode is written as-is to the clockstats file.

Fudge Factors

time1 time
Specifies the time offset calibration factor, in seconds and fraction, with default 0.0.

time2 time
Not used by this driver.

stratum number
Specifies the driver stratum, in decimal from 0 to 15, with default 0.

refid string
Specifies the driver reference identifier, an ASCII string from one to four characters, with default WWV.

flag1 0 | 1
Not used by this driver.

flag2 0 | 1
Not used by this driver.

flag3 0 | 1
Enable ppsclock line discipline/streams module if set.

flag4 0 | 1
Enable clockstats recording if set.

Additional Information

Reference Clock Drivers

David L. Mills (mills@udel.edu)