1290001Sglebius<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2132451Sroberto
3132451Sroberto<html>
4132451Sroberto
5182007Sroberto	<head>
6290001Sglebius		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
7182007Sroberto		<title>Ultralink Clock</title>
8290001Sglebius		<link href="scripts/style.css" type="text/css" rel="stylesheet">
9290001Sglebius	</head>
10290001Sglebius
11290001Sglebius	<body>
12290001Sglebius		<h3>Ultralink Clock</h3>
13290001Sglebius<p>Last update:
14290001Sglebius  <!-- #BeginDate format:En2m -->31-Dec-2007  19:43<!-- #EndDate -->
15290001Sglebius  UTC</p>
16182007Sroberto		<hr>
17182007Sroberto		<h4>Synopsis</h4>
18290001Sglebius		<p>Address: 127.127.34.<i>u</i><br>
19290001Sglebius				Reference ID: <tt>WWVB</tt><br>
20290001Sglebius				Driver ID: <tt>ULINK</tt><br>
21290001Sglebius				Serial Port: <tt>/dev/wwvb<i>u</i></tt>; 9600 bps, 8-bits, no parity<br>
22290001Sglebius				Features: <tt>(none)</tt></p>
23182007Sroberto		<h4>Description</h4>
24290001Sglebius		<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>
25290001Sglebius		<h4>Model 325 timecode format</h4>
26290001Sglebius		<p><tt>&lt;cr&gt;&lt;lf&gt;RQ_1C00LYYYY+DDDUTCS_HH:MM:SSL+5</tt></p>
27290001Sglebius		<p>R = Signal readability indicator, ranging from R1 to R5 Q R1 is unreadable, R5 is best reception<br>
28290001Sglebius				_ = Space<br>
29290001Sglebius			1 = prev. received data bit, values: 0, 1 ,M or ? unknown
30290001Sglebius		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>
31290001Sglebius				L = HEX A5 if receiver is locked to WWVB, Space if not<br>
32290001Sglebius				YYYY = Year from 2000 to 2099<br>
33290001Sglebius				+ = '+' if current year is a leap year, else ' '<br>
34290001Sglebius				DDD = current day in the year from 1 to 365/366<br>
35290001Sglebius				UTC = timezone (always UTC)<br>
36290001Sglebius				S = Daylight savings indicator, (S)TD, (D)ST, (O) transition into DST, (I) transition out of DST<br>
37290001Sglebius				_ = Space<br>
38290001Sglebius				HH = UTC hour 0 to 23<br>
39290001Sglebius				: = Time delimiter, ':' if synced, Space if not<br>
40290001Sglebius		   MM = Minutes of current hour from 0 to 59<br>
41290001Sglebius				: = Time delimiter, ':' if synced, Space if not<br>
42290001Sglebius				SS = Seconds of current minute from 0 to 59<br>
43290001Sglebius				mm = 10's milliseconds of the current second from 00 to 99<br>
44290001Sglebius				L = Leap second pending at end of month, (I)nsert, (D)elete or Space<br>
45290001Sglebius				+5 = UT1 correction, +/- .1 sec increments</p>
46182007Sroberto		<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>
47290001Sglebius		<h4>Model 320 timecode format</h4>
48290001Sglebius		<p><tt>&lt;cr&gt;&lt;lf&gt;SQRYYYYDDD+HH:MM:SS.mmLT&lt;cr&gt;</tt></p>
49290001Sglebius		<p>S = 'S' -- sync'd in last hour, '0'-'9' - hours x 10 since last update, else '?'<br>
50290001Sglebius				Q = Number of correlating time-frames, from 0 to 5<br>
51290001Sglebius				R = 'R' -- reception in progress,'N' -- Noisy reception, ' ' -- standby mode<br>
52290001Sglebius				YYYY = year from 1990 to 2089<br>
53290001Sglebius				DDD = current day from 1 to 366 + = '+' if current year is a leap year, else ' '<br>
54290001Sglebius				HH = UTC hour 0 to 23<br>
55290001Sglebius				MM = Minutes of current hour from 0 to 59<br>
56290001Sglebius				SS = Seconds of current minute from 0 to 59<br>
57290001Sglebius				mm = 10's milliseconds of the current second from 00 to 99<br>
58290001Sglebius				L = Leap second pending at end of month -- 'I' = insert, 'D'=delete<br>
59290001Sglebius			T = DST &lt;-&gt; STD transition indicators</p>
60290001Sglebius		<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>
61290001Sglebius		<h4>Model 33x timecode format</h4>
62290001Sglebius		<p><tt>S9+D 00 YYYY+DDDUTCS HH:MM:SSl+5</tt></p>
63290001Sglebius		<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>
64290001Sglebius		<p>9+ = signal level 0 thru 9+ If over 9 indicated as 9<br>
65290001Sglebius				D = data bit (fun to watch but useless ;-) space<br>
66290001Sglebius				00 = hours since last GOOD WWVB frame sync space<br>
67290001Sglebius				YYYY = current year + = leap year indicator<br>
68290001Sglebius				DDD = day of year<br>
69290001Sglebius				UTC = timezone (always UTC)<br>
70290001Sglebius				S = daylight savings indicator space<br>
71290001Sglebius				HH = hours : = This is the REAL in sync indicator (: = insync)<br>
72290001Sglebius				MM = minutes : = : = in sync ? = NOT in sync<br>
73290001Sglebius				SS = seconds<br>
74290001Sglebius				L = leap second flag<br>
75290001Sglebius				+5 = UT1 correction (sign + digit ))</p>
76290001Sglebius		<p>This driver ignores UT1 correction, DST indicator,Leap year and signal level.</p>
77182007Sroberto		<h4>Fudge factors</h4>
78182007Sroberto		<p>flag1 polling enable (1=poll 0=no poll)</p>
79182007Sroberto		<hr>
80290001Sglebius		<script type="text/javascript" language="javascript" src="scripts/footer.txt"></script>
81290001Sglebius	</body>
82290001Sglebius</html>
83