xref: /freebsd/contrib/ntp/html/drivers/driver34.html (revision 416ba5c74546f32a993436a99516d35008e9f384)
1*2b15cb3dSCy Schubert<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
29c2daa00SOllivier Robert
39c2daa00SOllivier Robert<html>
49c2daa00SOllivier Robert
59c2daa00SOllivier Robert	<head>
6*2b15cb3dSCy Schubert		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
79c2daa00SOllivier Robert		<title>Ultralink Clock</title>
8*2b15cb3dSCy Schubert		<link href="scripts/style.css" type="text/css" rel="stylesheet">
9*2b15cb3dSCy Schubert	</head>
10*2b15cb3dSCy Schubert
11*2b15cb3dSCy Schubert	<body>
12*2b15cb3dSCy Schubert		<h3>Ultralink Clock</h3>
13*2b15cb3dSCy Schubert<p>Last update:
14*2b15cb3dSCy Schubert  <!-- #BeginDate format:En2m -->31-Dec-2007  19:43<!-- #EndDate -->
15*2b15cb3dSCy Schubert  UTC</p>
169c2daa00SOllivier Robert		<hr>
179c2daa00SOllivier Robert		<h4>Synopsis</h4>
18*2b15cb3dSCy Schubert		<p>Address: 127.127.34.<i>u</i><br>
199c2daa00SOllivier Robert				Reference ID: <tt>WWVB</tt><br>
209c2daa00SOllivier Robert				Driver ID: <tt>ULINK</tt><br>
219c2daa00SOllivier Robert				Serial Port: <tt>/dev/wwvb<i>u</i></tt>; 9600 bps, 8-bits, no parity<br>
22*2b15cb3dSCy Schubert				Features: <tt>(none)</tt></p>
239c2daa00SOllivier Robert		<h4>Description</h4>
24*2b15cb3dSCy Schubert		<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.Leap second and quality are supported. Most of this code is originally from refclock_wwvb.c with thanks. Any mistakes are mine. Any improvements are welcome.</p>
25*2b15cb3dSCy Schubert		<h4>Model 325 timecode format</h4>
26*2b15cb3dSCy Schubert		<p><tt>&lt;cr&gt;&lt;lf&gt;RQ_1C00LYYYY+DDDUTCS_HH:MM:SSL+5</tt></p>
27*2b15cb3dSCy Schubert		<p>R = Signal readability indicator, ranging from R1 to R5 Q R1 is unreadable, R5 is best reception<br>
28*2b15cb3dSCy Schubert				_ = Space<br>
29ea906c41SOllivier Robert			1 = prev. received data bit, values: 0, 1 ,M or ? unknown
30*2b15cb3dSCy Schubert		C = Signal reception from (C)olorado or (H)awaii 0 = Hours since last WWVB time and flag code update, values 0 00 to 99 (hopefully always 00)<br>
31*2b15cb3dSCy Schubert				L = HEX A5 if receiver is locked to WWVB, Space if not<br>
32*2b15cb3dSCy Schubert				YYYY = Year from 2000 to 2099<br>
33*2b15cb3dSCy Schubert				+ = '+' if current year is a leap year, else ' '<br>
34*2b15cb3dSCy Schubert				DDD = current day in the year from 1 to 365/366<br>
35*2b15cb3dSCy Schubert				UTC = timezone (always UTC)<br>
36*2b15cb3dSCy Schubert				S = Daylight savings indicator, (S)TD, (D)ST, (O) transition into DST, (I) transition out of DST<br>
37*2b15cb3dSCy Schubert				_ = Space<br>
38*2b15cb3dSCy Schubert				HH = UTC hour 0 to 23<br>
39*2b15cb3dSCy Schubert				: = Time delimiter, ':' if synced, Space if not<br>
40*2b15cb3dSCy Schubert		   MM = Minutes of current hour from 0 to 59<br>
41*2b15cb3dSCy Schubert				: = Time delimiter, ':' if synced, Space if not<br>
42*2b15cb3dSCy Schubert				SS = Seconds of current minute from 0 to 59<br>
43*2b15cb3dSCy Schubert				mm = 10's milliseconds of the current second from 00 to 99<br>
44*2b15cb3dSCy Schubert				L = Leap second pending at end of month, (I)nsert, (D)elete or Space<br>
45*2b15cb3dSCy Schubert				+5 = UT1 correction, +/- .1 sec increments</p>
46ea906c41SOllivier 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>
47*2b15cb3dSCy Schubert		<h4>Model 320 timecode format</h4>
48*2b15cb3dSCy Schubert		<p><tt>&lt;cr&gt;&lt;lf&gt;SQRYYYYDDD+HH:MM:SS.mmLT&lt;cr&gt;</tt></p>
49*2b15cb3dSCy Schubert		<p>S = 'S' -- sync'd in last hour, '0'-'9' - hours x 10 since last update, else '?'<br>
50*2b15cb3dSCy Schubert				Q = Number of correlating time-frames, from 0 to 5<br>
51*2b15cb3dSCy Schubert				R = 'R' -- reception in progress,'N' -- Noisy reception, ' ' -- standby mode<br>
52*2b15cb3dSCy Schubert				YYYY = year from 1990 to 2089<br>
53*2b15cb3dSCy Schubert				DDD = current day from 1 to 366 + = '+' if current year is a leap year, else ' '<br>
54*2b15cb3dSCy Schubert				HH = UTC hour 0 to 23<br>
55*2b15cb3dSCy Schubert				MM = Minutes of current hour from 0 to 59<br>
56*2b15cb3dSCy Schubert				SS = Seconds of current minute from 0 to 59<br>
57*2b15cb3dSCy Schubert				mm = 10's milliseconds of the current second from 00 to 99<br>
58*2b15cb3dSCy Schubert				L = Leap second pending at end of month -- 'I' = insert, 'D'=delete<br>
59*2b15cb3dSCy Schubert			T = DST &lt;-&gt; STD transition indicators</p>
60*2b15cb3dSCy Schubert		<p>Note that this driver does not do anything with the T flag. The M320 also has a 'U' command which returns UT1 correction information. It is not used in this driver.</p>
61*2b15cb3dSCy Schubert		<h4>Model 33x timecode format</h4>
62*2b15cb3dSCy Schubert		<p><tt>S9+D 00 YYYY+DDDUTCS HH:MM:SSl+5</tt></p>
63*2b15cb3dSCy Schubert		<p>S = sync indicator S insync N not in sync the sync flag is WWVB decoder sync nothing to do with time being correct </p>
64*2b15cb3dSCy Schubert		<p>9+ = signal level 0 thru 9+ If over 9 indicated as 9<br>
65*2b15cb3dSCy Schubert				D = data bit (fun to watch but useless ;-) space<br>
66*2b15cb3dSCy Schubert				00 = hours since last GOOD WWVB frame sync space<br>
67*2b15cb3dSCy Schubert				YYYY = current year + = leap year indicator<br>
68*2b15cb3dSCy Schubert				DDD = day of year<br>
69*2b15cb3dSCy Schubert				UTC = timezone (always UTC)<br>
70*2b15cb3dSCy Schubert				S = daylight savings indicator space<br>
71*2b15cb3dSCy Schubert				HH = hours : = This is the REAL in sync indicator (: = insync)<br>
72*2b15cb3dSCy Schubert				MM = minutes : = : = in sync ? = NOT in sync<br>
73*2b15cb3dSCy Schubert				SS = seconds<br>
74*2b15cb3dSCy Schubert				L = leap second flag<br>
75*2b15cb3dSCy Schubert				+5 = UT1 correction (sign + digit ))</p>
769c2daa00SOllivier Robert		<p>This driver ignores UT1 correction, DST indicator,Leap year and signal level.</p>
779c2daa00SOllivier Robert		<h4>Fudge factors</h4>
789c2daa00SOllivier Robert		<p>flag1 polling enable (1=poll 0=no poll)</p>
799c2daa00SOllivier Robert		<hr>
80*2b15cb3dSCy Schubert		<script type="text/javascript" language="javascript" src="scripts/footer.txt"></script>
81*2b15cb3dSCy Schubert	</body>
829c2daa00SOllivier Robert</html>
83