132 lines
3.8 KiB
HTML
132 lines
3.8 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
|
<META NAME="GENERATOR" CONTENT="Mozilla/4.01 [en] (Win95; I) [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.
|
|
The driver expect 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>The $GPRMC message that the GPS transmits look like this:
|
|
<PRE>$GPRMC,POS_UTC,POS_STAT,LAT,LAT_REF,LON,LON_REF,SPD,HDG,DATE,MAG_VAR,MAG_REF*CC<cr><lf>
|
|
|
|
POS_UTC - UTC of position. Hours, minutes and seconds. (hhmmss)
|
|
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)
|
|
CC - Checksum (optional)
|
|
<cr><lf> - Sentence terminator.</PRE>
|
|
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 $GPRMC string 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>
|
|
Not used by this driver.</DD>
|
|
|
|
<DT>
|
|
<TT>flag3 0 | 1</TT></DT>
|
|
|
|
<DD>
|
|
Not used by this driver.</DD>
|
|
|
|
<DT>
|
|
<TT>flag4 0 | 1</TT></DT>
|
|
|
|
<DD>
|
|
Not used by this driver.</DD>
|
|
|
|
|
|
<P>Additional Information
|
|
|
|
<P><A HREF="refclock.htm">Reference Clock Drivers</A></DL>
|
|
|
|
<HR>
|
|
<ADDRESS>
|
|
David L. Mills (mills@udel.edu)</ADDRESS>
|
|
|
|
</BODY>
|
|
</HTML>
|