12b15cb3dSCy Schubert<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 22b15cb3dSCy Schubert<html><head> 32b15cb3dSCy Schubert <meta http-equiv="Content-Type" 42b15cb3dSCy Schubert content="text/html;charset=iso-8859-1"><title>GPSD-NG client driver</title> 52b15cb3dSCy Schubert 62b15cb3dSCy Schubert <link href="scripts/style.css" type="text/css" rel="stylesheet"> 72b15cb3dSCy Schubert <style type="text/css"> 82b15cb3dSCy Schubert table.dlstable { font-size:85%; } 92b15cb3dSCy Schubert td.ttf{ font-family:Courier; font-weight:bold; } 102b15cb3dSCy Schubert </style></head> 112b15cb3dSCy Schubert 122b15cb3dSCy Schubert 132b15cb3dSCy Schubert 142b15cb3dSCy Schubert <body> 152b15cb3dSCy Schubert <h3>GPSD NG client driver</h3> 162b15cb3dSCy Schubert<p>Last update: 17*276da39aSCy Schubert <!-- #BeginDate format:En2m -->30-Apr-2015 05:53<!-- #EndDate --> 182b15cb3dSCy Schubert UTC</p> 192b15cb3dSCy Schubert <hr> 202b15cb3dSCy Schubert <h4>Synopsis</h4> 212b15cb3dSCy Schubert 222b15cb3dSCy Schubert <p> 232b15cb3dSCy Schubert Address: 127.127.46.<i>u</i><br> 242b15cb3dSCy Schubert Reference ID: <tt>GPSD</tt><br> 252b15cb3dSCy Schubert Driver ID: <tt>GPSD_JSON</tt><br> 262b15cb3dSCy Schubert Serial Port: <tt>/dev/gps<i>u</i></tt> as symlink to the true 272b15cb3dSCy Schubert device (not used directly; see below)<br> 282b15cb3dSCy Schubert Features: <tt></tt> 292b15cb3dSCy Schubert </p> 302b15cb3dSCy Schubert 31*276da39aSCy Schubert <!-- --------------------------------------------------------- --> 322b15cb3dSCy Schubert 33*276da39aSCy Schubert <br><h4>Description</h4> 342b15cb3dSCy Schubert <p> 352b15cb3dSCy Schubert This driver is a client driver to the <i>GPSD</i> daemon, which 362b15cb3dSCy Schubert over the time became increasingly popular for UN*Xish 372b15cb3dSCy Schubert platforms. <i>GPSD</i> can manage several devices in parallel, 382b15cb3dSCy Schubert aggregate information, and acts as a data hub for client 392b15cb3dSCy Schubert applications. <i>GPSD</i> can also auto-detect and handle PPS 402b15cb3dSCy Schubert hardware signals on serial ports. Have a look 412b15cb3dSCy Schubert at <a href="http://www.catb.org/gpsd/">the 422b15cb3dSCy Schubert <i>GPSD</i> project page</a>. 432b15cb3dSCy Schubert </p> 442b15cb3dSCy Schubert <p> 452b15cb3dSCy Schubert <b>It is important to understand that this driver works best 462b15cb3dSCy Schubert using a GPS device with PPS support.</b> 472b15cb3dSCy Schubert </p> 482b15cb3dSCy Schubert <p> 492b15cb3dSCy Schubert The GPSD-NG protocol is text based, using JSON notation to 502b15cb3dSCy Schubert transfer records in form of JSON objects. The driver uses a 512b15cb3dSCy Schubert TCP/IP connection to <tt>localhost:gpsd</tt> to connect to the 522b15cb3dSCy Schubert daemon and then requests the GPS 532b15cb3dSCy Schubert device <tt>/dev/gps<i>u</i></tt> to be watched. (Different clock 542b15cb3dSCy Schubert units use different devices, and 552b15cb3dSCy Schubert <i>GPSD</i> is able to give only the relevant information to a clock 562b15cb3dSCy Schubert instance.) 572b15cb3dSCy Schubert </p> 582b15cb3dSCy Schubert <p> 592b15cb3dSCy Schubert This driver does not expect <i>GPSD</i> to be running or the 602b15cb3dSCy Schubert clock device to be present <i>a priori</i>; it will try to 612b15cb3dSCy Schubert re-establish a lost or hitherto unsuccessful connection and will 622b15cb3dSCy Schubert wait for device to come up in <i>GPSD.</i> There is an initial 632b15cb3dSCy Schubert 10 seconds delay between a connection loss or failed attempt and 642b15cb3dSCy Schubert the next reconnect attempt; this makes sure that there is no 652b15cb3dSCy Schubert thrashing on the network layer. If the connection fails again, 662b15cb3dSCy Schubert an exponential back off is used with an upper limit of 672b15cb3dSCy Schubert approximately 10 minutes. 682b15cb3dSCy Schubert </p> 692b15cb3dSCy Schubert <p> 702b15cb3dSCy Schubert The overall accuracy depends on the receiver used. The driver 712b15cb3dSCy Schubert uses the error estimations (95% probability limits) provided by 72*276da39aSCy Schubert <i>GPSD</i> to set the clock precision dynamically according to 73*276da39aSCy Schubert these readings. 742b15cb3dSCy Schubert </p> 752b15cb3dSCy Schubert <p> 76*276da39aSCy Schubert The driver needs the VERSION, TPV, PPS, WATCH and TOFF objects 77*276da39aSCy Schubert of the <i>GPSD</i> protocol. (Others are quietly ignored.) The 78*276da39aSCy Schubert driver can operate without the TOFF objects, which are available 79*276da39aSCy Schubert with the <i>protocol</i> version 3.10 and above. (Not to be 80*276da39aSCy Schubert confused with the <i>release</i> version of <i>GPSD</i>!) 81*276da39aSCy Schubert Running without TOFF objects has a negative impact on the jitter 82*276da39aSCy Schubert and offset of the serial timing information; if possible, a 83*276da39aSCy Schubert version of <i>GPSD</i> with support for TOFF objects should be 84*276da39aSCy Schubert used. 85*276da39aSCy Schubert </p> 86*276da39aSCy Schubert <p>The acronym <u>STI</u> is used here as a synonym for <i>serial 87*276da39aSCy Schubert time information</i> from the data channel of the receiver, no 88*276da39aSCy Schubert matter what objects were used to obtain it. 892b15cb3dSCy Schubert </p> 902b15cb3dSCy Schubert 91*276da39aSCy Schubert <!-- --------------------------------------------------------- --> 922b15cb3dSCy Schubert 93*276da39aSCy Schubert <br><h4>Naming a Device</h4> 942b15cb3dSCy Schubert <p> 95*276da39aSCy Schubert The <i>GPSD</i> driver uses the same device name as the NMEA 96*276da39aSCy Schubert driver, namely <tt>/dev/gps<i>u</i></tt>. There is a simple 97*276da39aSCy Schubert reason for that: While the NMEA driver and the <i>GPSD</i> 98*276da39aSCy Schubert driver can be active at the same time <b>for different 99*276da39aSCy Schubert devices</b>, they cannot access the same device at a 100*276da39aSCy Schubert time. Having the same name helps on that. It also eases 101*276da39aSCy Schubert migration from using NMEA directly to using <i>GPSD</i>, as no 102*276da39aSCy Schubert new links etc need to be created. 1032b15cb3dSCy Schubert </p> 1042b15cb3dSCy Schubert <p> 1052b15cb3dSCy Schubert <i>GPSD</i> is normally started with the device name to access; 1062b15cb3dSCy Schubert it can also be instructed by hot-plug scripts to add or remove 1072b15cb3dSCy Schubert devices from its device pool. Luckily, the symlinks used by the 1082b15cb3dSCy Schubert NMEA driver are happily accepted and used by <i>GPSD</i>; this 1092b15cb3dSCy Schubert makes it possible to use the symlink names as device 1102b15cb3dSCy Schubert identification. This makes the migration from the built-in NMEA 1112b15cb3dSCy Schubert driver a bit easier. 1122b15cb3dSCy Schubert </p> 113*276da39aSCy Schubert <p><b>Note:</b> <i>GPSD</i> (as of version 3.10) cannot use kernel 114*276da39aSCy Schubert mode PPS on devices that are hot-plugged. This would require to 115*276da39aSCy Schubert attach the PPS line discipline to the character special file, 116*276da39aSCy Schubert which is not possible when running with root privileges already 117*276da39aSCy Schubert dropped. This is not likely to change in the future. 1182b15cb3dSCy Schubert </p> 1192b15cb3dSCy Schubert 120*276da39aSCy Schubert <!-- --------------------------------------------------------- --> 121*276da39aSCy Schubert 122*276da39aSCy Schubert <br><h4>The 'mode' word</h4> 1232b15cb3dSCy Schubert <p> 1242b15cb3dSCy Schubert A few operation modes can be selected with the mode word. 1252b15cb3dSCy Schubert </p> 1262b15cb3dSCy Schubert <p> 1272b15cb3dSCy Schubert <table border="1" frame="box" rules="all"> 1282b15cb3dSCy Schubert <th colspan="3">The Mode Word</th> 1292b15cb3dSCy Schubert <tr> <td>Bits</td><td>Value</td><td>Description</td> 1302b15cb3dSCy Schubert </tr> 131*276da39aSCy Schubert <tr> <td rowspan="4"align="center">0..1</td> 132*276da39aSCy Schubert <td align="center">0</td> 133*276da39aSCy Schubert <td>STI only operation. This mode is affected by the timing 134*276da39aSCy Schubert stability of whatever protocol is used between the GPS 135*276da39aSCy Schubert device and GPSD. 136*276da39aSCy Schubert <br> 137*276da39aSCy Schubert Running on STI only is not recommended in general. Possible 138*276da39aSCy Schubert use cases include: 139*276da39aSCy Schubert <ul> 140*276da39aSCy Schubert <li>The receiver does not provide a PPS signal. 141*276da39aSCy Schubert <li>The receiver <i>does</i> provide a PPS signal and 142*276da39aSCy Schubert the secondary PPS unit is used. 143*276da39aSCy Schubert <li>The receiver has a stable serial timing and a proper 144*276da39aSCy Schubert fudge can be established. 145*276da39aSCy Schubert <li>You have other time sources available and want to 146*276da39aSCy Schubert establish a useful fudge value for <tt>time2</tt>. 147*276da39aSCy Schubert </ul> 148*276da39aSCy Schubert </td> 1492b15cb3dSCy Schubert </tr> 150*276da39aSCy Schubert <tr> 151*276da39aSCy Schubert <td align="center">1</td> 152*276da39aSCy Schubert <td>Strict operation. This mode needs a valid PPS and a 153*276da39aSCy Schubert valid STI to combine the absolute time from the STI with 154*276da39aSCy Schubert the time stamp from the PPS record. Does not feed clock 155*276da39aSCy Schubert samples if no valid PPS+STI pair is available. 156*276da39aSCy Schubert <br><br> 157*276da39aSCy Schubert This type of operation results in an ordinary clock with a 158*276da39aSCy Schubert very low jitter as long as the PPS data is available, but 159*276da39aSCy Schubert the clock fails once PPS drops out. This mode is a 160*276da39aSCy Schubert possible choice for receivers that provide a PPS signal 161*276da39aSCy Schubert most of the time but have an unstable serial timing that 162*276da39aSCy Schubert cannot be fudge-compensated. 163*276da39aSCy Schubert </td> 1642b15cb3dSCy Schubert </tr> 1652b15cb3dSCy Schubert <tr><td align="center">2</td> 166*276da39aSCy Schubert <td>Automatic mode. Tries to operate in strict mode unless 167*276da39aSCy Schubert it fails to process valid samples for some time, currently 168*276da39aSCy Schubert 120s. Then it reverts to STI-only operation until the PPS 169*276da39aSCy Schubert is stable again for 40s, when strict mode is engaged 170*276da39aSCy Schubert again. 171*276da39aSCy Schubert <br><br><b>Important Notice: This is an expiremental 172*276da39aSCy Schubert feature!</b><br> Switching between strict and STI-only 173*276da39aSCy Schubert mode will cause changes in offset and jitter. Use this 174*276da39aSCy Schubert mode only if STI-only works fairly well with your setup, 175*276da39aSCy Schubert or if you expect longer dropouts of the PPS signal and 176*276da39aSCy Schubert prefer to use STI alone over not getting synchronised at 177*276da39aSCy Schubert all.</td> 1782b15cb3dSCy Schubert </tr> 179*276da39aSCy Schubert <tr> 180*276da39aSCy Schubert <td align="center">3</td> 181*276da39aSCy Schubert <td><i>(reserved for future extension, do not use)</i></td> 1822b15cb3dSCy Schubert </tr> 183*276da39aSCy Schubert <tr> 184*276da39aSCy Schubert <td align="center">2..31</td> 185*276da39aSCy Schubert <td colspan="2"><i>(reserved for future extension, do not 186*276da39aSCy Schubert use)</i></td> 187*276da39aSCy Schubert </tr> 1882b15cb3dSCy Schubert </table> 1892b15cb3dSCy Schubert </p> 1902b15cb3dSCy Schubert 191*276da39aSCy Schubert <!-- --------------------------------------------------------- --> 192*276da39aSCy Schubert 193*276da39aSCy Schubert <br><h4>Syslog flood throttle</h4> 1942b15cb3dSCy Schubert <p>This driver can create a lot of syslog messages when things go 195*276da39aSCy Schubert wrong, and cluttering the log files is frowned upon. So we 196*276da39aSCy Schubert attempt to log persistent or recurring errors only once per 197*276da39aSCy Schubert hour. On the other hand, when tracking a problem the syslog 198*276da39aSCy Schubert flood throttle can get into the way.</p> 1992b15cb3dSCy Schubert <p>Therefore, fudge <i>flag3</i> can be used to <i>disable</i> the 2002b15cb3dSCy Schubert flood throttle at any time; the throttle is engaged by 2012b15cb3dSCy Schubert default. Running with the syslog flood throttle disabled for 2022b15cb3dSCy Schubert lengthy time is not recommended unless the log files are closely 2032b15cb3dSCy Schubert monitored.</p> 2042b15cb3dSCy Schubert 205*276da39aSCy Schubert <!-- --------------------------------------------------------- --> 206*276da39aSCy Schubert 207*276da39aSCy Schubert <br><h4>PPS secondary clock unit</h4> 208*276da39aSCy Schubert <p>Units with numbers ≥128 act as secondary clock unit for the 209*276da39aSCy Schubert primary clock unit (u mod 128). A secondary unit processes only 210*276da39aSCy Schubert the PPS data from <i>GPSD</i> and needs the corresponding master 211*276da39aSCy Schubert unit to work<a href="#fn1" name="fn1bl"><sup>1</sup></a>. Use 212*276da39aSCy Schubert the 'noselect' keyword on the primary unit if you are not 213*276da39aSCy Schubert interested in its data. 214*276da39aSCy Schubert </p><p>The secondary unit employs the usual precautions before 215*276da39aSCy Schubert feeding clock samples:</p> 216*276da39aSCy Schubert <ul> 217*276da39aSCy Schubert <li>The system must be already in a synchronised state. 218*276da39aSCy Schubert <li>The system offset must be less than 400ms absolute. 219*276da39aSCy Schubert <li>The phase adjustment from the PPS signal must also be less 220*276da39aSCy Schubert than 400ms absolute. 221*276da39aSCy Schubert </ul> 222*276da39aSCy Schubert <p>If fudge flag <tt>flag1</tt> is set for the secondary unit, the 223*276da39aSCy Schubert unit asserts the PPS flag on the clock as long as PPS data is 224*276da39aSCy Schubert available. This makes the unit eligible as PPS peer and should 225*276da39aSCy Schubert only be used if the GPS receiver can be trusted for the quality 226*276da39aSCy Schubert of its PPS signal<a href="fn2" 227*276da39aSCy Schubert name="fn2bl"><sup>2</sup></a>. The PPS flag gets cleared if no 228*276da39aSCy Schubert PPS records can be aquired for some time. The unit also flushes 229*276da39aSCy Schubert the sample buffer at this point to avoid the use of stale PPS 230*276da39aSCy Schubert data.</p> 231*276da39aSCy Schubert <p><b>Attention:</b> This unit uses its own PPS fudge value 232*276da39aSCy Schubert which must be set as fudge <tt>time1</tt>. Only the fudge 233*276da39aSCy Schubert values <tt>time1</tt> and <tt>flag1</tt> have an impact on secondary 234*276da39aSCy Schubert units.</p> 235*276da39aSCy Schubert 236*276da39aSCy Schubert <!-- --------------------------------------------------------- --> 237*276da39aSCy Schubert 238*276da39aSCy Schubert <br><h4>Clockstats</h4> 239*276da39aSCy Schubert <p>If flag4 is set when the driver is polled, a clockstats record 240*276da39aSCy Schubert is written for the primary clock unit. (The secondary PPS unit 241*276da39aSCy Schubert does not provide clock stats on its own.) The first 3 fields are 242*276da39aSCy Schubert the normal date, time, and IP address common to all clockstats 243*276da39aSCy Schubert records. 244*276da39aSCy Schubert </p><p> 245*276da39aSCy Schubert <table border="1" frame="box" rules="all"> 246*276da39aSCy Schubert <th colspan="2">The Clockstats Line</th> 247*276da39aSCy Schubert <tr> <td>field</td><td>Description</td> </tr> 248*276da39aSCy Schubert <tr> 249*276da39aSCy Schubert <td align="center">1</td> 250*276da39aSCy Schubert <td>Date as day number since NTP epoch.</td> 251*276da39aSCy Schubert </tr><tr> 252*276da39aSCy Schubert <td align="center">2</td> 253*276da39aSCy Schubert <td>Time as seconds since midnight.</td> 254*276da39aSCy Schubert </tr><tr> 255*276da39aSCy Schubert <td align="center">3</td> 256*276da39aSCy Schubert <td>(Pseudo-) IP address of clock unit.</td> 257*276da39aSCy Schubert </tr><tr> 258*276da39aSCy Schubert <td align="center">4</td> 259*276da39aSCy Schubert <td>Number of received known JSON records since last 260*276da39aSCy Schubert poll. The driver knows about TPV, PPS, TOFF, VERSION and 261*276da39aSCy Schubert WATCH records; others are silently ignored. 262*276da39aSCy Schubert </td> 263*276da39aSCy Schubert </tr><tr> 264*276da39aSCy Schubert <td align="center">5</td> 265*276da39aSCy Schubert <td>Bad replies since last poll. A record is considered 266*276da39aSCy Schubert malformed or a bad reply when it is missing vital fields 267*276da39aSCy Schubert or the fields contain malformed data that cannot be 268*276da39aSCy Schubert parsed. 269*276da39aSCy Schubert </td> 270*276da39aSCy Schubert </tr><tr> 271*276da39aSCy Schubert <td align="center">6</td> 272*276da39aSCy Schubert <td>Number of sample cycles since last poll that were 273*276da39aSCy Schubert discarded because there was no GPS fix. This is 274*276da39aSCy Schubert effectively the number of TPV records with a fix value 275*276da39aSCy Schubert < 2 or without a time stamp. 276*276da39aSCy Schubert </td> 277*276da39aSCy Schubert </tr><tr> 278*276da39aSCy Schubert <td align="center">7</td> 279*276da39aSCy Schubert <td>Number of serial time information records (TPV or TOFF, 280*276da39aSCy Schubert depending on the GPSD version) received since last poll. 281*276da39aSCy Schubert </td> 282*276da39aSCy Schubert </tr><tr> 283*276da39aSCy Schubert <td align="center">8</td> 284*276da39aSCy Schubert <td>Number of serial time information records used for 285*276da39aSCy Schubert clock samples since the last poll. 286*276da39aSCy Schubert </td> 287*276da39aSCy Schubert </tr><tr> 288*276da39aSCy Schubert <td align="center">9</td> 289*276da39aSCy Schubert <td>Number of PPS records received since the last poll.</td> 290*276da39aSCy Schubert </tr><tr> 291*276da39aSCy Schubert <td align="center">10</td> 292*276da39aSCy Schubert <td>Number of PPS records used for clock samples on the 293*276da39aSCy Schubert secondary channel since the last poll. 294*276da39aSCy Schubert </td> 295*276da39aSCy Schubert </tr> 296*276da39aSCy Schubert </table> 297*276da39aSCy Schubert </p> 298*276da39aSCy Schubert 299*276da39aSCy Schubert <!-- --------------------------------------------------------- --> 300*276da39aSCy Schubert 301*276da39aSCy Schubert <br><h4>Fudge Factors</h4> 3022b15cb3dSCy Schubert 3032b15cb3dSCy Schubert <dl> 3042b15cb3dSCy Schubert <dt><tt>time1 <i>time</i></tt></dt> 3052b15cb3dSCy Schubert <dd>Specifies the PPS time offset calibration factor, in seconds 3062b15cb3dSCy Schubert and fraction, with default 0.0.</dd> 3072b15cb3dSCy Schubert <dt><a name="fudgetime2"><tt>time2 <i>time</i></tt></a></dt> 308*276da39aSCy Schubert <dd><em>[Primary Unit]</em> Specifies the TPV/TIME time offset 309*276da39aSCy Schubert calibration factor, in seconds and fraction, with default 310*276da39aSCy Schubert 0.0.</dd> 3112b15cb3dSCy Schubert <dt><tt>stratum <i>number</i></tt></dt> 312*276da39aSCy Schubert <dd>Specifies the driver stratum, in decimal from 0 to 15, with 313*276da39aSCy Schubert default 0.</dd> 3142b15cb3dSCy Schubert <dt><tt>refid <i>string</i></tt></dt> 3152b15cb3dSCy Schubert <dd>Specifies the driver reference identifier, an ASCII string 3162b15cb3dSCy Schubert from one to four characters, with default <tt>GPSD</tt>.</dd> 317*276da39aSCy Schubert <dt><tt>flag1 0 | 1</tt></dt><dd><em>[<b>Secondary</b> 318*276da39aSCy Schubert Unit]</em> When set, flags the secondary clock unit as a 319*276da39aSCy Schubert potential PPS peer as long as good PPS data is available. 320*276da39aSCy Schubert </dd> 321*276da39aSCy Schubert <dt><tt>flag2 0 | 1</tt></dt> 322*276da39aSCy Schubert <dd><em>[Primary Unit]</em> When set, <u>disables</u> the 323*276da39aSCy Schubert processing of incoming PPS records. Intended as an aide to 324*276da39aSCy Schubert test the effects of a PPS dropout when using automatic mode 325*276da39aSCy Schubert (mode 2). 326*276da39aSCy Schubert </dd> 327*276da39aSCy Schubert <dt><tt>flag3 0 | 1</tt></dt><dd><em>[Primary Unit]</em> 328*276da39aSCy Schubert If set, <u>disables</u> the log throttle. Useful when tracking 329*276da39aSCy Schubert problems in the interaction between <i>GPSD</i> and <i>NTPD</i>, 330*276da39aSCy Schubert since now all error events are logged. Persistent/recurrent 331*276da39aSCy Schubert errors can easily fill up the log, so this should only be 332*276da39aSCy Schubert enabled during bug hunts.</dd> 333*276da39aSCy Schubert <dt><tt>flag4 0 | 1</tt></dt><dd><em>[Primary Unit]</em> 334*276da39aSCy Schubert If set, write a clock stats line on every poll cycle. 335*276da39aSCy Schubert </dd> 3362b15cb3dSCy Schubert </dl> 3372b15cb3dSCy Schubert 338*276da39aSCy Schubert <!-- -- footnotes -------------------------------------------- --> 339*276da39aSCy Schubert 340*276da39aSCy Schubert <hr> 341*276da39aSCy Schubert <p><a name="fn1" href="#fn1bl"><sup>1</sup>) </a>Data transmission 342*276da39aSCy Schubert an decoding is done only once by the primary unit. The decoded 343*276da39aSCy Schubert data is then processed independently in both clock units. This 344*276da39aSCy Schubert avoids double transmission over two sockets and decoding the 345*276da39aSCy Schubert same data twice, but the primary unit is always needed as a 346*276da39aSCy Schubert downside of this approach. 347*276da39aSCy Schubert </p> 348*276da39aSCy Schubert <p><a name="fn2" href="#fn2bl"><sup>2</sup>) </a>The clock driver 349*276da39aSCy Schubert suppresses the processing PPS records when the TPV/TIME data 350*276da39aSCy Schubert indicates the receiver has no fix. It can also deal with 351*276da39aSCy Schubert situations where the PPS signal is not delivered 352*276da39aSCy Schubert to <i>GPSD</i>. But once it is available, it is also processed 353*276da39aSCy Schubert and used to create samples. If a receiver cannot be trusted for 354*276da39aSCy Schubert the precision of its PPS signal, it should not be used to create 355*276da39aSCy Schubert a possible PPS peer: These get extra clout and can effectively 356*276da39aSCy Schubert become the sole source of input for the control loop. You do not 357*276da39aSCy Schubert want to use sloppy data for that. 358*276da39aSCy Schubert <hr> 3592b15cb3dSCy Schubert <p>Additional Information</p> 3602b15cb3dSCy Schubert <p><a href="../refclock.html">Reference Clock Drivers</a></p> 3612b15cb3dSCy Schubert <hr> 3622b15cb3dSCy Schubert <script type="text/javascript" language="javascript" src="scripts/footer.txt"></script> 3632b15cb3dSCy Schubert </body></html> 364