xref: /freebsd/contrib/ntp/html/drivers/driver34.html (revision ea906c4152774dff300bb26fbfc1e4188351c89a)
1ea906c41SOllivier Robert<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
29c2daa00SOllivier Robert
39c2daa00SOllivier Robert<html>
49c2daa00SOllivier Robert
59c2daa00SOllivier Robert	<head>
69c2daa00SOllivier Robert		<title>Ultralink Clock</title>
7ea906c41SOllivier Robert		<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
8ea906c41SOllivier Robert		<link <link href="scripts/style.css" type="text/css" rel="stylesheet"> </HEAD> <BODY> <H3> Ultralink Clock</H3>
99c2daa00SOllivier Robert		<hr>
109c2daa00SOllivier Robert		<h4>Synopsis</h4>
119c2daa00SOllivier Robert			Address: 127.127.34.<i>u</i><br>
129c2daa00SOllivier Robert			Reference ID: <tt>WWVB</tt><br>
139c2daa00SOllivier Robert			Driver ID: <tt>ULINK</tt><br>
149c2daa00SOllivier Robert			Serial Port: <tt>/dev/wwvb<i>u</i></tt>; 9600 bps, 8-bits, no parity<br>
159c2daa00SOllivier Robert		<br>
169c2daa00SOllivier Robert			Features: <tt>(none)</tt>
179c2daa00SOllivier Robert		<h4>Description</h4>
18ea906c41SOllivier Robert		<p>This driver supports the Ultralink Model 325 (replacement for Model 320) RS-232 powered WWVB receiver. PDF specs available on <a href="http://www.ulio.com/">http://www.ulio.com/</a>. This driver also supports the Model 320, 330,331,332 decoders in both polled or continous time code mode.<br>
19ea906c41SOllivier Robert				Leap second and quality are supported.</p>
209c2daa00SOllivier Robert		<p>Most of this code is originally from refclock_wwvb.c with thanks. Any mistakes are mine. Any improvements are welcome.</p>
219c2daa00SOllivier Robert		<hr>
22ea906c41SOllivier Robert		<pre>  The Model 325 timecode format is:
23ea906c41SOllivier Robert
24ea906c41SOllivier Robert   &lt;cr&gt;&lt;lf&gt;RQ_1C00LYYYY+DDDUTCS_HH:MM:SSL+5
25ea906c41SOllivier Robert
26ea906c41SOllivier Robert  where:
27ea906c41SOllivier Robert
28ea906c41SOllivier Robert  R = Signal readability indicator, ranging from R1 to R5
29ea906c41SOllivier Robert  Q	R1 is unreadable, R5 is best reception
30ea906c41SOllivier Robert  _ = Space
31ea906c41SOllivier Robert  1 = prev. received data bit, values: 0, 1 ,M or ? unknown
32ea906c41SOllivier Robert  C = Signal reception from (C)olorado or (H)awaii
33ea906c41SOllivier Robert  0 = Hours since last WWVB time and flag code update, values
34ea906c41SOllivier Robert  0	00 to 99 (hopefully always 00)
35ea906c41SOllivier Robert  L = HEX A5 if receiver is locked to WWVB, Space if not
36ea906c41SOllivier Robert  YYYY = Year from 2000 to 2099
37ea906c41SOllivier Robert  + = '+' if current year is a leap year, else ' '
38ea906c41SOllivier Robert  DDD = current day in the year from 1 to 365/366
39ea906c41SOllivier Robert  UTC = timezone (always UTC)
40ea906c41SOllivier Robert  S = Daylight savings indicator, (S)TD, (D)ST, (O) transition
41ea906c41SOllivier Robert      into DST, (I) transition out of DST
42ea906c41SOllivier Robert  _ = Space
43ea906c41SOllivier Robert  HH = UTC hour 0 to 23
44ea906c41SOllivier Robert  : = Time delimiter, ':' if synced, Space if not
45ea906c41SOllivier Robert  MM = Minutes of current hour from 0 to 59
46ea906c41SOllivier Robert  : = Time delimiter, ':' if synced, Space if not
47ea906c41SOllivier Robert  SS = Seconds of current minute from 0 to 59
48ea906c41SOllivier Robert  mm = 10's milliseconds of the current second from 00 to 99
49ea906c41SOllivier Robert  L  = Leap second pending at end of month, (I)nsert, (D)elete
50ea906c41SOllivier Robert       or Space
51ea906c41SOllivier Robert  +5 = UT1 correction, +/- .1 sec increments
52ea906c41SOllivier Robert </pre>
53ea906c41SOllivier Robert		<p>Note that Model 325 reports a very similar output like Model 33X series. The driver for this clock is similar to Model 33X behavior. On a unmodified new ULM325 clock, the polling flag (flag1 =1) needs to be set.</p>
54ea906c41SOllivier Robert		<hr>
55ea906c41SOllivier Robert		<pre>  The Model 320 timecode format is:
569c2daa00SOllivier Robert
579c2daa00SOllivier Robert   &lt;cr&gt;&lt;lf&gt;SQRYYYYDDD+HH:MM:SS.mmLT&lt;cr&gt;
589c2daa00SOllivier Robert
599c2daa00SOllivier Robert  where:
609c2daa00SOllivier Robert
619c2daa00SOllivier Robert  S = 'S' -- sync'd in last hour, '0'-'9' - hours x 10 since last update, else '?'
629c2daa00SOllivier Robert  Q = Number of correlating time-frames, from 0 to 5
639c2daa00SOllivier Robert  R = 'R' -- reception in progress, 'N' -- Noisy reception, ' ' -- standby mode
649c2daa00SOllivier Robert  YYYY = year from 1990 to 2089
659c2daa00SOllivier Robert  DDD = current day from 1 to 366
669c2daa00SOllivier Robert  + = '+' if current year is a leap year, else ' '
679c2daa00SOllivier Robert  HH = UTC hour 0 to 23
689c2daa00SOllivier Robert  MM = Minutes of current hour from 0 to 59
699c2daa00SOllivier Robert  SS = Seconds of current minute from 0 to 59
709c2daa00SOllivier Robert  mm = 10's milliseconds of the current second from 00 to 99
719c2daa00SOllivier Robert  L  = Leap second pending at end of month -- 'I' = inset, 'D'=delete
729c2daa00SOllivier Robert  T  = DST &lt;-&gt; STD transition indicators
739c2daa00SOllivier Robert </pre>
749c2daa00SOllivier Robert		<p>Note that this driver does not do anything with the T flag.</p>
759c2daa00SOllivier Robert		<p>The M320 also has a 'U' command which returns UT1 correction information. It is not used in this driver.</p>
769c2daa00SOllivier Robert		<hr>
77ea906c41SOllivier Robert		<pre>  The Model 33x timecode format is:
789c2daa00SOllivier Robert
799c2daa00SOllivier Robert    S9+D 00 YYYY+DDDUTCS HH:MM:SSl+5
809c2daa00SOllivier Robert
819c2daa00SOllivier Robert  Where:
829c2daa00SOllivier Robert
839c2daa00SOllivier Robert  S =    sync indicator S insync N not in sync
849c2daa00SOllivier Robert         the sync flag is WWVB decoder sync
859c2daa00SOllivier Robert         nothing to do with time being correct
869c2daa00SOllivier Robert  9+ =   signal level 0 thru 9+ If over 9 indicated as 9+
879c2daa00SOllivier Robert  D  =   data bit ( fun to watch but useless ;-)
889c2daa00SOllivier Robert  space
899c2daa00SOllivier Robert  00 =   hours since last GOOD WWVB frame sync
909c2daa00SOllivier Robert  space
919c2daa00SOllivier Robert  YYYY = current year
929c2daa00SOllivier Robert  +  =   leap year indicator
939c2daa00SOllivier Robert  DDD =  day of year
949c2daa00SOllivier Robert  UTC =  timezone (always UTC)
959c2daa00SOllivier Robert  S  =   daylight savings indicator
969c2daa00SOllivier Robert  space
979c2daa00SOllivier Robert  HH  =  hours
989c2daa00SOllivier Robert  :  =   This is the REAL in sync indicator (: = insync)
999c2daa00SOllivier Robert  MM  =  minutes
1009c2daa00SOllivier Robert  :  =   : = in sync ? = NOT in sync
1019c2daa00SOllivier Robert  SS  =  seconds
1029c2daa00SOllivier Robert  L  =   leap second flag
1039c2daa00SOllivier Robert  +5 =   UT1 correction (sign + digit ))
1049c2daa00SOllivier Robert </pre>
1059c2daa00SOllivier Robert		<p>This driver ignores UT1 correction,DST indicator,Leap year and signal level.</p>
1069c2daa00SOllivier Robert		<hr>
1079c2daa00SOllivier Robert		<h4>Fudge factors</h4>
1089c2daa00SOllivier Robert		<p>flag1 polling enable (1=poll 0=no poll)</p>
1099c2daa00SOllivier Robert		<hr>
110ea906c41SOllivier Robert		<address><a href="mailto:frank.migge@oracle.com">mail</a></address>
111ea906c41SOllivier Robert		<!-- hhmts start -->Last modified: Mon Mar 8 10:12:08 PST 2004<!-- hhmts end -->
1129c2daa00SOllivier Robert		<hr>
113ea906c41SOllivier Robert		<script type="text/javascript" language="javascript" src="Ultralink Clock_files/footer.txt"></script>
114ea906c41SOllivier Robert		</BODY>
115ea906c41SOllivier Robert	</head>
1169c2daa00SOllivier Robert
1179c2daa00SOllivier Robert</html>