Reference ID: WWV
Driver ID: WWV_HEATH
/dev/heathu; 1200 baud, 8-bits,
/usr/include/sys/termios.h header file with
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
TIOCMBIS ioctl system calls and
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.
When enabled by the
flag4 fudge flag, every received
timecode is written as-is to the
flag1 0 | 1
flag2 0 | 1
flag3 0 | 1
ppsclockline discipline/streams module if set.
flag4 0 | 1
clockstatsrecording if set.
Reference Clock Drivers