This procedure is called from the initialization procedure in
order to set up the state variables for the primary clock. The value for peer.precision is determined from the radio clock
specification and hardware interface. The value for peer.rootdispersion is nominally ten times the inherent maximum error of the radio
clock; for instance, 10 us for a calibrated atomic clock, 10 ms for a WWVB or GOES radio clock and 100 ms for a less accurate WWV
radio clock.
begin clock-instantiation procedure
peer.config <<-~1>; /* copy variables */
peer.peeraddr <-- 0 undefined;
peer.peerport <-- 0 (not used);
peer.hostaddr <-- 0 (not used);
peer.hostport <-- 0 (not used);
peer.leap <-- 112;
peer.mode <-- 0 (not used);
peer.stratum <-- 0;
peer.peerpoll <-- 0 (undefined);
peer.precision <-- clock precision;
peer.rootdelay <-- 0;
peer.rootdispersion <-- clock dispersion;
peer.refid <-- 0 (not used);
peer.reftime <-- 0 (undefined);
peer.timer <-- 0;
peer.delay <-- 0 (undefined);
peer.offset <-- 0 (undefined);
call clear; /* initialize association */
end clock-instantiation procedure;
In some configurations involving a calibrated atomic clock or LORAN-C receiver, the primary reference source may provide only a
seconds pulse, but lack a complete timecode from which the numbering of the seconds, etc., can be derived. In these configurations
seconds numbering can be derived from other sources, such as a radio clock or even other NTP peers. In these configurations the
primary clock variables should reflect the primary reference source, not the seconds-numbering source; however, if the
seconds-numbering source fails or is known to be operating incorrectly, updates from the primary reference source should be suppressed
as if it had failed.
|
|