mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-29 13:12:46 +00:00
162 lines
5.4 KiB
HTML
162 lines
5.4 KiB
HTML
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.2.16-22 i586) [Netscape]">
|
|
<title>Generic NMEA GPS Receiver
|
|
</title>
|
|
</head>
|
|
<body>
|
|
|
|
<h3>
|
|
Generic NMEA GPS Receiver</h3>
|
|
|
|
<hr>
|
|
<h4>
|
|
Synopsis</h4>
|
|
Address: 127.127.20.<i>u</i>
|
|
<br>Reference ID: <tt>GPS</tt>
|
|
<br>Driver ID: <tt>GPS_NMEA</tt>
|
|
<br>Serial Port: <tt>/dev/gps<i>u</i></tt>; 4800 baud, 8-bits, no parity
|
|
<br>Features: <tt>tty_clk</tt>
|
|
<h4>
|
|
Description</h4>
|
|
This driver supports GPS receivers with the <tt>$GPRMC</tt> NMEA output
|
|
string by default. Alternately the <tt>$GPGGA</tt> or <tt>$GPGLL
|
|
</tt>may
|
|
be selected.
|
|
<br>The driver expects the receiver to be set up to transmit a <tt>$GPRMC</tt>
|
|
message every second.
|
|
<p>The accuracy depend on the receiver used. Inexpesive GPS models are
|
|
available with a claimed PPS signal accuracy of 1 <font face="Symbol">m</font>s
|
|
or better relative to the broadcast signal. However, in most cases the
|
|
actual accuracy is limited by the precision of the timecode and the latencies
|
|
of the serial interface and operating system.
|
|
<p>If the Operating System supports the PPSAPI, RFC-2783, it will be used.
|
|
<br>
|
|
<p>The various GPS sentences that this driver recognises look like this:
|
|
<br>(others quietly ignored)
|
|
<pre><tt>$GPRMC,POS_UTC,POS_STAT,LAT,LAT_REF,LON,LON_REF,SPD,HDG,DATE,MAG_VAR,MAG_REF*CC<cr><lf>
|
|
$GPGLL,LAT,LAT_REF,LONG,LONG_REF,POS_UTC,POS_STAT*CC<cr><lf>
|
|
$GPGGA,POS_UTC,LAT,LAT_REF,LONG,LONG_REF,FIX_MODE,SAT_USED,HDOP,ALT,ALT_UNIT,GEO,G_UNIT,D_AGE,D_REF*CC<cr><lf>
|
|
|
|
POS_UTC - UTC of position. Hours, minutes and seconds [fraction (opt.)]. (hhmmss[.fff])
|
|
POS_STAT - Position status. (A = Data valid, V = Data invalid)
|
|
LAT - Latitude (llll.ll)
|
|
LAT_REF - Latitude direction. (N = North, S = South)
|
|
LON - Longitude (yyyyy.yy)
|
|
LON_REF - Longitude direction (E = East, W = West)
|
|
SPD - Speed over ground. (knots) (x.x)
|
|
HDG - Heading/track made good (degrees True) (x.x)
|
|
DATE - Date (ddmmyy)
|
|
MAG_VAR - Magnetic variation (degrees) (x.x)
|
|
MAG_REF - Magnetic variation (E = East, W = West)
|
|
FIX_MODE - Position Fix Mode ( 0 = Invalid, >0 = Valid)
|
|
SAT_USED - Number Satellites used in solution
|
|
HDOP - Horizontal Dilution of Precision
|
|
ALT - Antenna Altitude
|
|
ALT_UNIT - Altitude Units (Metres/Feet)
|
|
GEO - Geoid/Elipsoid separation
|
|
G_UNIT - Geoid units (M/F)
|
|
D_AGE - Age of last DGPS Fix
|
|
D_REF - Reference ID of DGPS station
|
|
CC - Checksum (optional)
|
|
<cr><lf> - Sentence terminator.</tt></pre>
|
|
Alternate GPS sentences (other than <tt>$GPRMC</tt> - the default) may
|
|
be enabled by setting the relevent bits of 'mode' in the server configuration
|
|
line
|
|
<br> * server 127.127.20.x mode X
|
|
<br> bit 0 - enables RMC ( value =
|
|
1)
|
|
<br> bit 1 - enables GGA ( value =
|
|
2)
|
|
<br> bit 2 - enables GLL
|
|
( value = 4)
|
|
<br>multiple sentences may be selected
|
|
<br>
|
|
<p>The driver will send a <tt>$PMOTG,RMC,0000*1D<cr><lf></tt> message
|
|
each time a <tt>$GPRMC</tt> string is needed. This is not needed on most
|
|
GPS receivers because they automatically send the <tt>$GPRMC</tt> string
|
|
every second and will only work on GPS receivers that understand the <tt>$PMOTG</tt>
|
|
string. Others will just ignore it.
|
|
<h4>
|
|
Setting up the Garmin GPS-25XL</h4>
|
|
Switch off all output with by sending it the following string.
|
|
<pre>"$PGRMO,,2<cr><lf>"</pre>
|
|
Now switch only $GPRMC on by sending it the following string.
|
|
<pre>"$PGRMO,GPRMC,1<cr><lf>"</pre>
|
|
On some systems the PPS signal isn't switched on by default. It can be
|
|
switched on by sending the following string.
|
|
<pre>"$PGRMC,,,,,,,,,,,,2<cr><lf>"</pre>
|
|
|
|
<h4>
|
|
Monitor Data</h4>
|
|
The GPS sentence(s) that is used is written to the clockstats file.
|
|
<h4>
|
|
Fudge Factors</h4>
|
|
|
|
<dl>
|
|
<dt>
|
|
<tt>time1 <i>time</i></tt></dt>
|
|
|
|
<dd>
|
|
Specifies the time offset calibration factor, in seconds and fraction,
|
|
with default 0.0.</dd>
|
|
|
|
<dt>
|
|
<tt>time2 <i>time</i></tt></dt>
|
|
|
|
<dd>
|
|
Not used by this driver.</dd>
|
|
|
|
<dt>
|
|
<tt>stratum <i>number</i></tt></dt>
|
|
|
|
<dd>
|
|
Specifies the driver stratum, in decimal from 0 to 15, with default 0.</dd>
|
|
|
|
<dt>
|
|
<tt>refid <i>string</i></tt></dt>
|
|
|
|
<dd>
|
|
Specifies the driver reference identifier, an ASCII string from one to
|
|
four characters, with default <tt>GPS</tt>.</dd>
|
|
|
|
<dt>
|
|
<tt>flag1 0 | 1</tt></dt>
|
|
|
|
<dd>
|
|
Not used by this driver.</dd>
|
|
|
|
<dt>
|
|
<tt>flag2 0 | 1</tt></dt>
|
|
|
|
<dd>
|
|
Specifies the PPS signal on-time edge: 0 for assert (default), 1 for clear.</dd>
|
|
|
|
<dt>
|
|
<tt>flag3 0 | 1</tt></dt>
|
|
|
|
<dd>
|
|
Controls the kernel PPS discipline: 0 for disable (default), 1 for enable.</dd>
|
|
|
|
<dt>
|
|
<tt>flag4 0 | 1</tt></dt>
|
|
|
|
<dd>
|
|
Not used by this driver.</dd>
|
|
|
|
<br>
|
|
<p>
|
|
<br>
|
|
<br>
|
|
<p>Additional Information
|
|
<p><a href="refclock.htm">Reference Clock Drivers</a></dl>
|
|
|
|
<hr>
|
|
<address>
|
|
David L. Mills (mills@udel.edu)</address>
|
|
|
|
</body>
|
|
</html>
|