driver34.html   [plain text]


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

	<head>
		<title>Ultralink Clock</title>
		<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
		<link <link href="scripts/style.css" type="text/css" rel="stylesheet"> </HEAD> <BODY> <H3> Ultralink Clock</H3>
		<hr>
		<h4>Synopsis</h4>
			Address: 127.127.34.<i>u</i><br>
			Reference ID: <tt>WWVB</tt><br>
			Driver ID: <tt>ULINK</tt><br>
			Serial Port: <tt>/dev/wwvb<i>u</i></tt>; 9600 bps, 8-bits, no parity<br>
		<br>
			Features: <tt>(none)</tt>
		<h4>Description</h4>
		<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>
				Leap second and quality are supported.</p>
		<p>Most of this code is originally from refclock_wwvb.c with thanks. Any mistakes are mine. Any improvements are welcome.</p>
		<hr>
		<pre>  The Model 325 timecode format is:
 
   &lt;cr&gt;&lt;lf&gt;RQ_1C00LYYYY+DDDUTCS_HH:MM:SSL+5
 
  where:
 
  R = Signal readability indicator, ranging from R1 to R5  
  Q	R1 is unreadable, R5 is best reception
  _ = Space
  1 = prev. received data bit, values: 0, 1 ,M or ? unknown
  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)
  L = HEX A5 if receiver is locked to WWVB, Space if not
  YYYY = Year from 2000 to 2099
  + = '+' if current year is a leap year, else ' '
  DDD = current day in the year from 1 to 365/366
  UTC = timezone (always UTC)
  S = Daylight savings indicator, (S)TD, (D)ST, (O) transition
      into DST, (I) transition out of DST
  _ = Space
  HH = UTC hour 0 to 23
  : = Time delimiter, ':' if synced, Space if not
  MM = Minutes of current hour from 0 to 59
  : = Time delimiter, ':' if synced, Space if not
  SS = Seconds of current minute from 0 to 59
  mm = 10's milliseconds of the current second from 00 to 99
  L  = Leap second pending at end of month, (I)nsert, (D)elete
       or Space
  +5 = UT1 correction, +/- .1 sec increments
 </pre>
		<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>
		<hr>
		<pre>  The Model 320 timecode format is:
 
   &lt;cr&gt;&lt;lf&gt;SQRYYYYDDD+HH:MM:SS.mmLT&lt;cr&gt;
 
  where:
 
  S = 'S' -- sync'd in last hour, '0'-'9' - hours x 10 since last update, else '?'
  Q = Number of correlating time-frames, from 0 to 5
  R = 'R' -- reception in progress, 'N' -- Noisy reception, ' ' -- standby mode
  YYYY = year from 1990 to 2089
  DDD = current day from 1 to 366
  + = '+' if current year is a leap year, else ' '
  HH = UTC hour 0 to 23
  MM = Minutes of current hour from 0 to 59
  SS = Seconds of current minute from 0 to 59
  mm = 10's milliseconds of the current second from 00 to 99
  L  = Leap second pending at end of month -- 'I' = inset, 'D'=delete
  T  = DST &lt;-&gt; STD transition indicators
 </pre>
		<p>Note that this driver does not do anything with the T flag.</p>
		<p>The M320 also has a 'U' command which returns UT1 correction information. It is not used in this driver.</p>
		<hr>
		<pre>  The Model 33x timecode format is:

    S9+D 00 YYYY+DDDUTCS HH:MM:SSl+5

  Where:

  S =    sync indicator S insync N not in sync
         the sync flag is WWVB decoder sync
         nothing to do with time being correct
  9+ =   signal level 0 thru 9+ If over 9 indicated as 9+
  D  =   data bit ( fun to watch but useless ;-)
  space
  00 =   hours since last GOOD WWVB frame sync
  space
  YYYY = current year
  +  =   leap year indicator
  DDD =  day of year
  UTC =  timezone (always UTC)
  S  =   daylight savings indicator
  space
  HH  =  hours
  :  =   This is the REAL in sync indicator (: = insync)
  MM  =  minutes
  :  =   : = in sync ? = NOT in sync
  SS  =  seconds
  L  =   leap second flag
  +5 =   UT1 correction (sign + digit ))
 </pre>
		<p>This driver ignores UT1 correction,DST indicator,Leap year and signal level.</p>
		<hr>
		<h4>Fudge factors</h4>
		<p>flag1 polling enable (1=poll 0=no poll)</p>
		<hr>
		<address><a href="mailto:frank.migge@oracle.com">mail</a></address>
		<!-- hhmts start -->Last modified: Mon Mar 8 10:12:08 PST 2004<!-- hhmts end -->
		<hr>
		<script type="text/javascript" language="javascript" src="Ultralink Clock_files/footer.txt"></script>
		</BODY>
	</head>

</html>