1132451Sroberto<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2285612Sdelphij<html><head>
3285612Sdelphij    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Generic NMEA GPS Receiver</title>
4285612Sdelphij    <!-- Changed by: Harlan &, 31-Mar-2014 -->
5285612Sdelphij    <link href="scripts/style.css" type="text/css" rel="stylesheet">
6285612Sdelphij    <style type="text/css">
7285612Sdelphij      table.dlstable { font-size:85%; }
8285612Sdelphij      td.ttf{ font-family:Courier; font-weight:bold; }
9285612Sdelphij    </style></head>
10132451Sroberto
11132451Sroberto
12132451Sroberto
13285612Sdelphij  <body>
14285612Sdelphij    <h3>Generic NMEA GPS Receiver</h3>
15285612Sdelphij<p>Last update:
16285612Sdelphij  <!-- #BeginDate format:En2m -->31-Mar-2014  03:55<!-- #EndDate -->
17285612Sdelphij  UTC</p>
18285612Sdelphij    <hr>
19285612Sdelphij    <h4>Synopsis</h4>
20132451Sroberto
21285612Sdelphij    <p>
22285612Sdelphij      Address: 127.127.20.<i>u</i><br>
23285612Sdelphij      Reference ID: <tt>GPS</tt><br>
24285612Sdelphij      Driver ID: <tt>GPS_NMEA</tt><br>
25285612Sdelphij      Serial Port: <tt>/dev/gps<i>u</i></tt>; 4800 - 115200 bps, 8-bits, no parity<br>
26285612Sdelphij      Serial Port: <tt>/dev/gpspps<i>u</i></tt>; for just the PPS signal (this
27285612Sdelphij      is tried first for PPS, before <tt>/dev/gps<i>u</i></tt>)<br>
28285612Sdelphij      Serial Port: <tt>/dev/gps<i>u</i></tt>; symlink to server:port (for nmead)<br>
29285612Sdelphij      Features: <tt>tty_clk</tt>
30285612Sdelphij    </p>
31132451Sroberto
32285612Sdelphij    <h4>Description</h4>
33285612Sdelphij
34285612Sdelphij    <p>
35285612Sdelphij      This driver supports GPS receivers with
36285612Sdelphij      the <tt>$GPRMC</tt>, <tt>$GPGLL</tt>, <tt>$GPGGA</tt>, <tt>$GPZDA</tt>
37285612Sdelphij      and <tt>$GPZDG</tt> NMEA sentences by default.&nbsp; Note that Accord's
38285612Sdelphij      custom NMEA sentence <tt>$GPZDG</tt> reports using the GPS timescale,
39285612Sdelphij      while the rest of the sentences report UTC.&nbsp; The difference between
40285612Sdelphij      the two is a whole number of seconds which increases with each leap
41285612Sdelphij      second insertion in UTC.&nbsp; To avoid problems mixing UTC and GPS
42285612Sdelphij      timescales, the driver disables processing of UTC sentences
43285612Sdelphij      once <tt>$GPZDG</tt> is received.
44285612Sdelphij    </p>
45285612Sdelphij    <p>
46285612Sdelphij      The driver expects the receiver to be set up to transmit at least one
47285612Sdelphij      supported sentence every second.
48285612Sdelphij    </p>
49285612Sdelphij    <p>
50285612Sdelphij      The accuracy depends on the receiver used. Inexpensive GPS models are
51285612Sdelphij      available with a claimed PPS signal accuracy of
52285612Sdelphij      1 &mu;s or better relative to the broadcast
53285612Sdelphij      signal. However, in most cases the actual accuracy is limited by the
54285612Sdelphij      precision of the timecode and the latencies of the serial interface and
55285612Sdelphij      operating system.
56285612Sdelphij    </p>
57285612Sdelphij    <p>
58285612Sdelphij      If the Operating System supports PPSAPI
59285612Sdelphij      (<a href="http://www.ietf.org/rfc/rfc2783.txt">RFC 2783</a>), fudge flag1
60285612Sdelphij      1 enables its use.
61285612Sdelphij    </p>
62285612Sdelphij    <p>
63285612Sdelphij      The various GPS sentences that this driver recognises look like this:<br>
64285612Sdelphij      (others quietly ignored)
65285612Sdelphij    </p>
66285612Sdelphij
67285612Sdelphij    <p><table class="dlstable" border="1">
68285612Sdelphij      <caption>Accepted NMEA sentences</caption>
69285612Sdelphij      <tbody><tr>
70285612Sdelphij	<th>Sentence</th>
71285612Sdelphij	<th>Vendor</th>
72285612Sdelphij      </tr><tr>
73285612Sdelphij	<td class="ttf">$GPRMC,UTC,POS_STAT,LAT,LAT_REF,LON,LON_REF,SPD,HDG,DATE,MAG_VAR,MAG_REF*CS&lt;cr&gt;&lt;lf&gt;</td>
74285612Sdelphij      </tr><tr>
75285612Sdelphij	<td class="ttf">$GPGLL,LAT,LAT_REF,LON,LON_REF,UTC,POS_STAT*CS&lt;cr&gt;&lt;lf&gt;</td>
76285612Sdelphij      </tr><tr>
77285612Sdelphij	<td class="ttf">$GPGGA,UTC,LAT,LAT_REF,LON,LON_REF,FIX_MODE,SAT_USED,HDOP,ALT,ALT_UNIT,GEO,G_UNIT,D_AGE,D_REF*CS&lt;cr&gt;&lt;lf&gt;</td>
78285612Sdelphij      </tr><tr>
79285612Sdelphij	<td class="ttf">$GPZDA,UTC,DD,MM,YYYY,TH,TM,*CS&lt;cr&gt;&lt;lf&gt;</td>
80285612Sdelphij      </tr><tr>
81285612Sdelphij	<td class="ttf">$GPZDG,GPSTIME,DD,MM,YYYY,AA.BB,V*CS&lt;cr&gt;&lt;lf&gt;</td>
82285612Sdelphij	<td>Accord</td>
83285612Sdelphij      </tr>
84285612Sdelphij    </tbody></table></p>
85285612Sdelphij
86285612Sdelphij    <p><table class="dlstable" border="1">
87285612Sdelphij      <caption>NMEA data items</caption>
88285612Sdelphij      <tbody><tr>
89285612Sdelphij	<th>Symbol</th>
90285612Sdelphij	<th>Meaning and Format</th>
91285612Sdelphij      </tr>
92285612Sdelphij      
93285612Sdelphij      <tr>
94285612Sdelphij	<td class="ttf">UTC</td>
95285612Sdelphij	<td>Time of day on UTC timescale. Hours, minutes and seconds [fraction (opt.)]. (hhmmss[.fff])</td>
96285612Sdelphij      </tr><tr>
97285612Sdelphij	<td class="ttf">POS_STAT</td>
98285612Sdelphij	<td>Position status. (A = Data valid, V = Data invalid)</td>
99285612Sdelphij      </tr><tr>
100285612Sdelphij	<td class="ttf">LAT</td>
101285612Sdelphij	<td>Latitude (llll.ll)</td>
102285612Sdelphij      </tr><tr>
103285612Sdelphij	<td class="ttf">LAT_REF</td>
104285612Sdelphij	<td>Latitude direction. (N = North, S = South)</td>
105285612Sdelphij      </tr><tr>
106285612Sdelphij	<td class="ttf">LON</td>
107285612Sdelphij	<td>Longitude (yyyyy.yy)</td>
108285612Sdelphij      </tr><tr>
109285612Sdelphij	<td class="ttf">LON_REF</td>
110285612Sdelphij	<td>Longitude direction (E = East, W = West)</td>
111285612Sdelphij      </tr><tr>
112285612Sdelphij	<td class="ttf">SPD</td>
113285612Sdelphij	<td>Speed over ground. (knots) (x.x)</td>
114285612Sdelphij      </tr><tr>
115285612Sdelphij	<td class="ttf">HDG</td>
116285612Sdelphij	<td>Heading/track made good (degrees True) (x.x)</td>
117285612Sdelphij      </tr><tr>
118285612Sdelphij	<td class="ttf">DATE</td>
119285612Sdelphij	<td>Date (ddmmyy)</td>
120285612Sdelphij      </tr><tr>
121285612Sdelphij	<td class="ttf">MAG_VAR</td>
122285612Sdelphij	<td>Magnetic variation (degrees) (x.x)</td>
123285612Sdelphij      </tr><tr>
124285612Sdelphij	<td class="ttf">MAG_REF</td>
125285612Sdelphij	<td>Magnetic variation (E = East, W = West)</td>
126285612Sdelphij      </tr><tr>
127285612Sdelphij	<td class="ttf">FIX_MODE</td>
128285612Sdelphij	<td>Position Fix Mode (0 = Invalid, &gt;0 = Valid)</td>
129285612Sdelphij      </tr><tr>
130285612Sdelphij	<td class="ttf">SAT_USED</td>
131285612Sdelphij	<td>Number of Satellites used in solution</td>
132285612Sdelphij      </tr><tr>
133285612Sdelphij	<td class="ttf">HDOP</td>
134285612Sdelphij	<td>Horizontal Dilution of Precision</td>
135285612Sdelphij      </tr><tr>
136285612Sdelphij	<td class="ttf">ALT</td>
137285612Sdelphij	<td>Antenna Altitude</td>
138285612Sdelphij      </tr><tr>
139285612Sdelphij	<td class="ttf">ALT_UNIT</td>
140285612Sdelphij	<td>Altitude Units (Metres/Feet)</td>
141285612Sdelphij      </tr><tr>
142285612Sdelphij	<td class="ttf">GEO</td>
143285612Sdelphij	<td>Geoid/Elipsoid separation</td>
144285612Sdelphij      </tr><tr>
145285612Sdelphij	<td class="ttf">G_UNIT</td>
146285612Sdelphij	<td>Geoid units (M/F)</td>
147285612Sdelphij      </tr><tr>
148285612Sdelphij	<td class="ttf">D_AGE</td>
149285612Sdelphij	<td>Age of last DGPS Fix</td>
150285612Sdelphij      </tr><tr>
151285612Sdelphij	<td class="ttf">D_REF</td>
152285612Sdelphij	<td>Reference ID of DGPS station</td>
153285612Sdelphij      </tr><tr>
154285612Sdelphij	<td class="ttf">GPSTIME</td>
155285612Sdelphij	<td>Time of day on GPS timescale. Hours, minutes and seconds [fraction (opt.)]. (hhmmss[.f])</td>
156285612Sdelphij      </tr><tr>
157285612Sdelphij	<td class="ttf">DD</td>
158285612Sdelphij	<td>Day of the month (1-31)</td>
159285612Sdelphij      </tr><tr>
160285612Sdelphij	<td class="ttf">MM</td>
161285612Sdelphij	<td>Month of the year (1-12)</td>
162285612Sdelphij      </tr><tr>
163285612Sdelphij	<td class="ttf">YYYY</td>
164285612Sdelphij	<td>Year</td>
165285612Sdelphij      </tr><tr>
166285612Sdelphij	<td class="ttf">AA.BB</td>
167285612Sdelphij	<td>Denotes the signal strength (should be &lt; 05.00)</td>
168285612Sdelphij      </tr><tr>
169285612Sdelphij	<td class="ttf">V</td>
170285612Sdelphij	<td>GPS sync status<br>
171285612Sdelphij	  &nbsp;&nbsp;&nbsp;'0' =&gt; INVALID time,<br>
172285612Sdelphij	  &nbsp;&nbsp;&nbsp;'1' =&gt; accuracy of +/- 20ms,<br>
173285612Sdelphij	  &nbsp;&nbsp;&nbsp;'2' =&gt; accuracy of +/- 100ns</td>
174285612Sdelphij      </tr><tr>
175285612Sdelphij	<td class="ttf">CS</td>
176285612Sdelphij	<td> Checksum</td>
177285612Sdelphij      </tr><tr>
178285612Sdelphij	<td class="ttf">&lt;cr&gt;&lt;lf&gt;</td>
179285612Sdelphij	<td>Sentence terminator.</td>
180285612Sdelphij      </tr>
181285612Sdelphij    </tbody></table></p>
182285612Sdelphij
183285612Sdelphij
184285612Sdelphij    <h4>The 'mode' byte</h4>
185285612Sdelphij    
186285612Sdelphij    <p>
187285612Sdelphij      Specific GPS sentences and bitrates may be selected by setting bits of
188285612Sdelphij      the 'mode' in the server configuration line:<br> &nbsp;&nbsp;<tt>server
189285612Sdelphij      127.127.20.x mode X</tt>
190285612Sdelphij    </p>
191285612Sdelphij
192285612Sdelphij    <table border="1">
193285612Sdelphij      <caption>mode byte bits and bit groups</caption>
194285612Sdelphij      <tbody><tr>
195285612Sdelphij	<th align="center">Bit</th>
196285612Sdelphij	<th align="center">Decimal</th>
197285612Sdelphij	<th align="center">Hex</th>
198285612Sdelphij	<th align="left">Meaning</th>
199285612Sdelphij      </tr>
200285612Sdelphij      
201285612Sdelphij      <tr>
202285612Sdelphij	<td align="center">0</td>
203285612Sdelphij	<td align="center">1</td>
204285612Sdelphij	<td align="center">1</td>
205285612Sdelphij	<td>process <tt>$GPMRC</tt></td>
206285612Sdelphij      </tr><tr>
207285612Sdelphij	<td align="center">1</td>
208285612Sdelphij	<td align="center">2</td>
209285612Sdelphij	<td align="center">2</td>
210285612Sdelphij	<td>process <tt>$GPGGA</tt></td>
211285612Sdelphij      </tr><tr>
212285612Sdelphij	<td align="center">2</td>
213285612Sdelphij	<td align="center">4</td>
214285612Sdelphij	<td align="center">4</td>
215285612Sdelphij	<td>process <tt>$GPGLL</tt></td>
216285612Sdelphij      </tr><tr>
217285612Sdelphij	<td align="center">3</td>
218285612Sdelphij	<td align="center">8</td>
219285612Sdelphij	<td align="center">8</td>
220285612Sdelphij	<td>process <tt>$GPZDA</tt> or <tt>$GPZDG</tt></td>
221285612Sdelphij      </tr><tr>
222285612Sdelphij	<td rowspan="6" align="center">4-6</td>
223285612Sdelphij	<td align="center">0</td>
224285612Sdelphij	<td align="center">0</td>
225285612Sdelphij	<td>linespeed 4800 bps</td>
226285612Sdelphij      </tr><tr>
227285612Sdelphij	<td align="center">16</td>
228285612Sdelphij	<td align="center">0x10</td>
229285612Sdelphij	<td>linespeed 9600 bps</td>
230285612Sdelphij      </tr><tr>
231285612Sdelphij	<td align="center">32</td>
232285612Sdelphij	<td align="center">0x20</td>
233285612Sdelphij	<td>linespeed 19200 bps</td>
234285612Sdelphij      </tr><tr>
235285612Sdelphij	<td align="center">48</td>
236285612Sdelphij	<td align="center">0x30</td>
237285612Sdelphij	<td>linespeed 38400 bps</td>
238285612Sdelphij      </tr><tr>
239285612Sdelphij	<td align="center">64</td>
240285612Sdelphij	<td align="center">0x40</td>
241285612Sdelphij	<td>linespeed 57600 bps</td>
242285612Sdelphij      </tr><tr>
243285612Sdelphij	<td align="center">80</td>
244285612Sdelphij	<td align="center">0x50</td>
245285612Sdelphij	<td>linespeed 115200 bps</td>
246285612Sdelphij      </tr><tr>
247285612Sdelphij	<td align="center">7</td>
248285612Sdelphij	<td align="center">128</td>
249285612Sdelphij	<td align="center">0x80</td>
250285612Sdelphij	<td>Write the sub-second fraction of the receive time stamp to the
251285612Sdelphij	clockstat file for all recognised NMEA sentences. This can be used to
252285612Sdelphij	get a useful value for fudge time2.<br><strong>Caveat:</strong> This
253285612Sdelphij	will fill your clockstat file rather fast. Use it only temporarily to
254285612Sdelphij	get the numbers for the NMEA sentence of your choice.</td>
255285612Sdelphij      </tr>
256285612Sdelphij      </tr><tr>
257285612Sdelphij        <td align="center">8</td>
258285612Sdelphij        <td align="center">256</td>
259285612Sdelphij        <td align="center">0x100</td>
260285612Sdelphij	<td>process <tt>$PGRMF</tt></td>
261285612Sdelphij      </tr><tr>
262285612Sdelphij        <td align="center">9-15</td>
263285612Sdelphij        <td align="center"></td>
264285612Sdelphij        <td align="center">0xFE00</td>
265285612Sdelphij	<td>reserved - leave 0</td>
266285612Sdelphij      </tr><tr>
267285612Sdelphij        <td align="center">16</td>
268285612Sdelphij        <td align="center">65536</td>
269285612Sdelphij        <td align="center">0x10000</td>
270285612Sdelphij        <td>Append extra statistics to the clockstats line.
271285612Sdelphij        Details below.</td>
272285612Sdelphij      </tr>
273285612Sdelphij    </tbody></table> 
274285612Sdelphij
275285612Sdelphij 
276285612Sdelphij    <p>
277285612Sdelphij      The default (mode 0) is to process all supported sentences at a linespeed
278285612Sdelphij      of 4800 bps, which results in the first one received and recognised in
279285612Sdelphij      each cycle being used.&nbsp; If only specific sentences should be
280285612Sdelphij      recognised, then the mode byte must be chosen to enable only the selected
281285612Sdelphij      ones.&nbsp; Multiple sentences may be selected by adding their mode bit
282285612Sdelphij      values, but of those enabled still only the first received sentence in a
283285612Sdelphij      cycle will be used.&nbsp; Using more than one sentence per cycle is
284285612Sdelphij      impossible, because
285285612Sdelphij      </p><ul>
286285612Sdelphij	<li>there is only <a href="#fudgetime2">fudge time2</a> available to
287285612Sdelphij	  compensate for transmission delays but every sentence would need a
288285612Sdelphij	  different one and
289285612Sdelphij	</li><li>using more than one sentence per cycle overstuffs the internal data
290285612Sdelphij	  filters.
291285612Sdelphij      </li></ul>
292285612Sdelphij      The driver uses 4800 bits per second by default, but faster bitrates can
293285612Sdelphij      be selected using bits 4 to 6 of the mode field.
294285612Sdelphij    <p></p>
295285612Sdelphij
296285612Sdelphij    <p>
297285612Sdelphij      <strong>Caveat:</strong> Using higher line speeds does not necessarily
298285612Sdelphij      increase the precision of the timing device.&nbsp; Higher line speeds are
299285612Sdelphij      not necessarily helpful for the NMEA driver, either.&nbsp; They can be
300285612Sdelphij      used to accomodate for an amount of data that does not fit into a
301285612Sdelphij      1-second cycle at 4800 bps, but high-speed high-volume NMEA data is likely
302285612Sdelphij      to cause trouble with the serial line driver since NMEA supports no
303285612Sdelphij      protocol handshake.&nbsp; Any device that is exclusively used for time
304285612Sdelphij      synchronisation purposes should be configured to transmit the relevant
305285612Sdelphij      data only, e.g. one <tt>$GPRMC</tt> or <tt>$GPZDA</tt> per second, at a
306285612Sdelphij      linespeed of 4800 bps or 9600 bps.
307285612Sdelphij    </p>
308285612Sdelphij
309285612Sdelphij    <h4>Monitor Data</h4>
310285612Sdelphij
311285612Sdelphij    <p>The last GPS sentence that is accepted or rejected is written to the
312285612Sdelphij    clockstats file and available with <code>ntpq -c clockvar</code>.
313285612Sdelphij    (Logging the rejected sentences lets you see/debug why they were rejected.)
314285612Sdelphij    Filtered sentences are not logged.</p>
315285612Sdelphij
316285612Sdelphij    <p>
317285612Sdelphij      If the 0x10000 mode bit is on and clockstats is enabled, several extra
318285612Sdelphij      counters will be appended to the NMEA sentence that gets logged.
319285612Sdelphij      For example:
320285612Sdelphij<pre>
321285612Sdelphij56299 76876.691 127.127.20.20 $GPGGA,212116.000,3726.0785,N,12212.2605,W,1,05,2.0,17.0,M,-25.7,M,,0000*5C  228 64 0 0 64 0
322285612Sdelphij</pre>
323285612Sdelphij    </p>
324285612Sdelphij
325285612Sdelphij    <table border="1">
326285612Sdelphij      <caption>Clockstats</caption>
327285612Sdelphij      <tbody><tr>
328285612Sdelphij	<th align="center">Column</th>
329285612Sdelphij	<th align="center">Sample</th>
330285612Sdelphij	<th align="left">Meaning</th>
331285612Sdelphij      </tr>
332285612Sdelphij      
333285612Sdelphij      <tr>
334285612Sdelphij	<td align="center">1</td>
335285612Sdelphij	<td align="center">56299</td>
336285612Sdelphij	<td>MJD</td>
337285612Sdelphij      </tr><tr>
338285612Sdelphij	<td align="center">2</td>
339285612Sdelphij	<td align="center">76876.691</td>
340285612Sdelphij	<td>Time of day in seconds</td>
341285612Sdelphij      </tr><tr>
342285612Sdelphij	<td align="center">3</td>
343285612Sdelphij	<td align="center">127.127.20.20</td>
344285612Sdelphij	<td>IP Address from server config line</td>
345285612Sdelphij      </tr><tr>
346285612Sdelphij	<td align="center">4</td>
347285612Sdelphij	<td align="center">$GPGGA,...0*5C</td>
348285612Sdelphij	<td>NMEA Sentence</td>
349285612Sdelphij      </tr><tr>
350285612Sdelphij        <td align="center">5</td>
351285612Sdelphij        <td align="center">228</td>
352285612Sdelphij        <td>Number of sentences received</td>
353285612Sdelphij      </tr><tr>
354285612Sdelphij        <td align="center">6</td>
355285612Sdelphij        <td align="center">64</td>
356285612Sdelphij        <td>Number of sentences accepted and used for timekeeping</td>
357285612Sdelphij      </tr><tr>
358285612Sdelphij        <td align="center">7</td>
359285612Sdelphij        <td align="center">0</td>
360285612Sdelphij        <td>Number of sentences rejected because they were marked invalid (poor signal)</td>
361285612Sdelphij      </tr><tr>
362285612Sdelphij        <td align="center">8</td>
363285612Sdelphij        <td align="center">0</td>
364285612Sdelphij        <td>Number of sentences rejected because of bad checksum or invalid date/time</td>
365285612Sdelphij      </tr><tr>
366285612Sdelphij        <td align="center">9</td>
367285612Sdelphij        <td align="center">64</td>
368285612Sdelphij        <td>Number of sentences filtered by mode bits or same second</td>
369285612Sdelphij      </tr><tr>
370285612Sdelphij        <td align="center">10</td>
371285612Sdelphij        <td align="center">0</td>
372285612Sdelphij        <td>Number of PPS pulses used, overrides NMEA sentences</td>
373285612Sdelphij      </tr>
374285612Sdelphij    </tbody></table>
375285612Sdelphij
376285612Sdelphij    Sentences like $GPGSV that don't contain the time will get
377285612Sdelphij    counted in the total but otherwise ignored.
378285612Sdelphij
379285612Sdelphij    <p>
380285612Sdelphij      <a href="https://support.ntp.org/bin/view/Support/ConfiguringNMEARefclocks">Configuring
381285612Sdelphij      NMEA Refclocks</a> might give further useful hints for specific hardware
382285612Sdelphij      devices that exhibit strange or curious behaviour.
383285612Sdelphij    </p>
384285612Sdelphij
385285612Sdelphij    <p>
386285612Sdelphij      To make a specific setting, select the corresponding decimal values from
387285612Sdelphij      the mode byte table, add them all together and enter the resulting
388285612Sdelphij      decimal value into the clock configuration line.
389285612Sdelphij    </p>
390285612Sdelphij
391285612Sdelphij    <h4>Setting up the Garmin GPS-25XL</h4>
392285612Sdelphij
393285612Sdelphij    Switch off all output with by sending it the following string.
394285612Sdelphij    <pre>"$PGRMO,,2&lt;cr&gt;&lt;lf&gt;"</pre>
395285612Sdelphij    <p>Now switch only $GPRMC on by sending it the following string.</p>
396285612Sdelphij    <pre>"$PGRMO,GPRMC,1&lt;cr&gt;&lt;lf&gt;"</pre>
397285612Sdelphij
398285612Sdelphij    <p>On some systems the PPS signal isn't switched on by default. It can be
399285612Sdelphij    switched on by sending the following string.</p>
400285612Sdelphij    <pre>"$PGRMC,,,,,,,,,,,,2&lt;cr&gt;&lt;lf&gt;"</pre>
401285612Sdelphij
402285612Sdelphij    <h4>Fudge Factors</h4>
403285612Sdelphij
404285612Sdelphij    <dl>
405285612Sdelphij      <dt><tt>time1 <i>time</i></tt></dt>
406285612Sdelphij      <dd>Specifies the PPS time offset calibration factor, in seconds and fraction, with default 0.0.</dd>
407285612Sdelphij      <dt><a name="fudgetime2"><tt>time2 <i>time</i></tt></a></dt>
408285612Sdelphij      <dd>Specifies the serial end of line time offset calibration factor, in seconds and fraction, with default
409285612Sdelphij	0.0.</dd>
410285612Sdelphij      <dt><tt>stratum <i>number</i></tt></dt>
411285612Sdelphij      <dd>Specifies the driver stratum, in decimal from 0 to 15, with default 0.</dd>
412285612Sdelphij      <dt><tt>refid <i>string</i></tt></dt>
413285612Sdelphij      <dd>Specifies the driver reference identifier, an ASCII string from one to four characters, with
414285612Sdelphij	default <tt>GPS</tt>.</dd>
415285612Sdelphij      <dt><tt>flag1 0 | 1</tt></dt>
416285612Sdelphij      <dd>Disable PPS signal processing if 0 (default); enable PPS signal processing if 1.</dd>
417285612Sdelphij      <dt><tt>flag2 0 | 1</tt></dt>
418285612Sdelphij      <dd>If PPS signal processing is enabled, capture the pulse on the rising edge if 0 (default); capture on the
419285612Sdelphij	falling edge if 1.</dd>
420285612Sdelphij      <dt><tt>flag3 0 | 1</tt></dt>
421285612Sdelphij      <dd>If PPS signal processing is enabled, use the <tt>ntpd</tt> clock discipline if 0 (default); use the kernel
422285612Sdelphij	discipline if 1.</dd>
423285612Sdelphij      <dt><tt>flag4 0 | 1</tt></dt>
424285612Sdelphij      <dd>Obscures location in timecode: 0 for disable (default), 1 for enable.</dd>
425285612Sdelphij    </dl>
426285612Sdelphij
427285612Sdelphij    <p>Additional Information</p>
428285612Sdelphij    <p><tt>flag1</tt>, <tt>flag2</tt>, and <tt>flag3</tt> are ignored under Windows.</p>
429285612Sdelphij    <p><a href="../refclock.html">Reference Clock Drivers</a></p>
430285612Sdelphij    <hr>
431285612Sdelphij    <script type="text/javascript" language="javascript" src="scripts/footer.txt"></script>
432285612Sdelphij  </body></html>
433