- •Contents at a Glance
- •Contents
- •Hardware Hacks
- •GPS Secrets
- •Hidden Secrets
- •Garmin Secret Screens
- •Hard Resets
- •Soft Resets
- •Warm Resets
- •Full GPS Resets
- •Diagnostic Screens
- •Autolocating
- •Magellan Secret Screens
- •Magellan Meridian Series
- •After a Hard or Soft Reset
- •Summary
- •Cables Demystified
- •The Data Cable
- •Power Cords
- •Combo Cables
- •Combining Cable Types
- •Multi-GPS Cables
- •Multi-Data Cables
- •Multi-Data/Power Cables
- •Multi-Data/Power/GPS Cables
- •Making Your Own Data Cables
- •Materials You Will Need
- •Don’t Want to Buy a Connector?
- •Making Power Cords
- •Power Cord Assembly
- •Testing
- •Precautions
- •GPS/iPAQ Connections
- •Cradle Modification
- •Testing the Connection
- •Making Combo Cables
- •Making Multi Cables
- •Summary
- •Power Hacks
- •GPS Power Needs
- •Alkaline Batteries
- •Lithium Batteries
- •Rechargeable (NiMH) Batteries
- •Battery Do’s and Don’ts
- •Power Hacks
- •Carrying Your Own 12-Volt Power Supply
- •Battery Packs
- •A Different Kind of Battery Pack
- •Alternative Power Supplies
- •Summary
- •Antenna Hacks
- •The GPS Antenna
- •Quad-Helix Orientation
- •Patch Antenna Orientation
- •Best Performance Summary
- •External Antennas
- •Antenna Placement
- •Other Things to Avoid
- •Reradiating Antennas
- •Personal Reradiating Antenna
- •Communal Reradiating Antenna
- •Reradiating Antenna Considerations
- •Setting Up a Reradiating Antenna in a Car
- •Testing the System
- •Making the System Permanent
- •Carrying a GPS Signal via Cable
- •How Much Signal Do You Need?
- •Cable Losses
- •Connector Losses
- •Using a Signal Repeater
- •Building Your Own Mega GPS Antenna
- •Materials
- •Building the Antenna
- •Summary
- •Screen Damage
- •Screen Protectors
- •More Screen Armoring
- •Commercial Protection for GPS and PDAs
- •Mounting GPS
- •Car Mounting
- •Mounting a GPS for Biking, Hiking, and Skiing
- •Making a Personalized Case
- •Summary
- •Software Hacks
- •Hacking the Firmware
- •Firmware
- •Updating Warnings
- •Updating the Firmware
- •Hacking GPS Firmware
- •Bypassing the Garmin eTrex Vista Startup Screen
- •Bypassing the Garmin eTrex Legend Startup Screen
- •Bypassing the Garmin eTrex Venture Startup Screen
- •MeMap Personalization
- •Manual Firmware Editing
- •Magellan GPS Firmware Modifications
- •Recovering from a Failed Firmware Load
- •Garmin
- •Magellan
- •Summary
- •Connection Types
- •Which Connection Is Best?
- •Troubleshooting Problems
- •PC Connection Trouble
- •General PDA Connection Trouble
- •General Bluetooth Connection Trouble
- •Software-Specific Issues
- •Erratic Mouse Pointer after Connecting a GPS
- •Windows XP Problem: Microsoft Ball Point
- •Microsoft MapPoint Troubleshooting
- •USB-to-Serial Converters
- •Summary
- •GPS Data Collection
- •Position, Velocity, Time
- •Waypoints
- •Working with the Data
- •EasyGPS
- •G7toWin
- •Creative Uses of GPS Data
- •Sharing Waypoints
- •Adding GPS Information to Digital Photos
- •Lightning Detector and Plotter
- •Wardriving
- •GPS in Programming
- •Summary
- •Examining the Data
- •NMEA
- •NMEA Sentences
- •NMEA Sentence Structure
- •A Closer Look at NMEA Sentences
- •Examining NMEA Sentences
- •NMEA Checksum
- •SiRF
- •Using NMEA Sentences
- •GPS NMEA LOG
- •GPS Diagnostic
- •RECSIM III
- •Using NMEA
- •GpsGate
- •Recording Actual NMEA Sentences with GpsGate
- •Recording Simulated NMEA Using GpsGate
- •Data Playback
- •Why Bother with NMEA?
- •Ensuring That Your GPS Works
- •Avoiding Data Corruption
- •Summary
- •More Data Tricks
- •Screenshots
- •G7toWin
- •G7toCE
- •Turning Your PC into a High-Precision Atomic Clock
- •Setting Up the Software
- •Setting Up the Hardware
- •Hooking Up Hardware to Software
- •Bringing a GPS Signal Indoors
- •Other Uses for GPS Data
- •Azimuth and Elevation Graphs
- •Surveying
- •Navigation
- •Signal Quality/SNR Window
- •NMEA Command Monitor
- •Experiment for Yourself
- •Summary
- •Playtime
- •Hacking Geocaching
- •GPS Accuracy
- •The Birth of Geocaching
- •Geocaching Made Simple
- •What Is Geocaching?
- •Geocaching from Beginning to End
- •The Final 20 Yards
- •Geocaching Hacks
- •Go Paper-free
- •Plan Before You Leave
- •Sort Out Cabling
- •Power for the Trip
- •Better Antennas
- •Protecting the GPS
- •Summary
- •GPS Games
- •The Dawn of GPS Games
- •Points of Confluence
- •Benchmarking/Trigpointing
- •GPS Drawing
- •Hide-and-Seek
- •Foxhunt
- •Other Games
- •Summary
- •GPS Primer
- •The GPS Network
- •How GPS Works
- •GPS Signal Errors
- •Summary
- •Glossary
- •Index
Chapter 9 — Examining the Data 199
Examining NMEA Sentences
Many applications enable you to look at, examine, and even save NMEA sentences from your GPS because this is the closest, purest way to work with the GPS data. However, most people don’t give them much thought because the sentences themselves seem to complex. Little information is provided as to what they contain and how the data is structured.
This is a real shame — with a bit of information and a little practice, reading NMEA can become quite easy as you learn what to look for and where to look for it.
The following sections examine some of the common NMEA sentences that you will come across if you view NMEA data. There are the main sentences, the ones that relate to navigation and signal quality.
RMB (Recommended Minimum Navigation Information)
RMB is the “recommended minimum navigation” sentence, and it is sent whenever a route or a goto (such as going to a waypoint) is set as active. Some systems are set to transmit this all the time, transmitting null data if no goto is selected, while others only send it when required.
$GPRMB,A,x.x,a,c--c,d--d,llll.ll,e,yyyyy.yy,f,g.g,h.h,i.i,j*kk
A |
Data status (A = OK, V = Void) |
|
|
x.x |
Crosstrack error (measured in nautical miles, maximum 9.99) |
|
|
a |
Direction to steer to correct crosstrack error (L = left, R = Right) |
|
|
c--c |
Origin waypoint ID# |
|
|
d--d |
Destination waypoint ID# |
|
|
1111.11 |
Destination waypoint latitude |
|
|
e |
N or S (for latitude) |
yyyyy.yyDestination waypoint longitude
f |
E or W (for longitude) |
g.gRange to destination (measured in nautical miles, maximum 999.9)
h.hBearing to destination, True degrees
i.i |
Velocity towards destination (measured in nautical miles) |
|
|
j |
Arrival status (A = arrived, V = not arrived) |
|
|
*kk |
Checksum |
|
|
RMC (Recommended Minimum Specific GPS/TRANSIT Data)
This is the NMEA equivalent of PVT (Position, Velocity, Time) data.
$GPRMC,hhmmss.ss,A,llll.ll,e,yyyyy.yy,f,x.x,y.y,ddmmyy,z.z,a*hh
200 Part III — Data Hacking
hhmmss.ss |
UTC of position fix (time) |
|
|
A |
Data status (A = OK, V = Void) |
|
|
1111.11 |
Destination waypoint latitude |
|
|
e |
N or S (for latitude) |
yyyyy.yyDestination waypoint longitude
f |
E or W (for longitude) |
x.x |
Speed over ground made good (measured in nautical miles) |
y.yTrack made good (measured in degrees True)
ddmmyy |
UT date |
z.zMagnetic variation (easterly variation is subtracted from True course)
a |
E or W (for magnetic variation) |
*hh |
Checksum |
GGA (Global Positioning System Fix Data)
This sentence provides 3D location and accuracy data.
$GPGGA,hhmmss.ss,llll.ll,e,yyyyy.yy,f,a,bb,x.x,y.y,M,z.z,M,s.s,
####*hh
hhmmss.ss |
UTC of position fix (time) |
1111.11 |
Destination waypoint latitude |
e |
N or S (for latitude) |
yyyyy.yyDestination waypoint longitude
f |
E or W (for longitude) |
|
|
|
|
a |
Fix quality: |
|
|
0 |
= Invalid |
|
1 |
= GPS fix (SPS) |
|
2 |
= DGPS fix |
|
3 |
= PPS fix |
|
4 |
= Real Time Kinematic |
|
5 |
= Float RTK |
|
6 |
= Estimated (dead reckoning) |
|
7 |
= Manual input mode |
|
8 |
= Simulation mode |
|
|
|
bb |
Number of satellites in use |
|
|
|
|
x.x |
Horizontal error (dilution or precision) |
|
|
|
|
y.y,M |
Antenna height in meters |
|
|
|
|
z.z,M |
Height of geoid (mean sea level) in meters |
|
|
|
|
Chapter 9 — Examining the Data 201
s.sTime in seconds since last update
####DGPS station ID
*hh |
Checksum |
VTG (Actual Track Made Good and Speed Over Ground)
This sentence provides the velocity made good information.
$GPVTG,t,T,?,??,s.ss,N,S.SS,K*hh
t |
Track made good |
|
|
T |
Fixed text T indicates that track made good is relative to true north |
?Not used
??Not used
s.ssSpeed over ground (measured in nautical miles)
N |
Fixed text N indicates that speed over ground is in knots |
S.SSSpeed over ground (measured in kilometers/hour)
K |
Fixed text K indicates that speed over ground is in kilometers/hour |
*hh |
Checksum |
RMA (Navigation Data from Present Position)
This sentence provides navigational data based on current position.
$GPRMA,A,llll.ll,e,yyyyy.yy,f,?,??,ss.s,ccc,zz.z,a*hh
A |
Data status (A = OK, V = Void) |
|
|
1111.11 |
Destination waypoint latitude |
|
|
e |
N or S (for latitude) |
yyyyy.yyDestination waypoint longitude
f |
E or W (for longitude) |
? |
Not used |
??Not used
s.ssSpeed over ground (measured in nautical miles)
ccc |
Course over ground |
z.zMagnetic variation (easterly variation is subtracted from True course)
a |
E or W (for magnetic variation) |
*hh |
Checksum |
202 Part III — Data Hacking
GSA (GPS DoP and Active Satellites)
This sentence provides detailed information on the satellite fix. It includes the numbers of the satellites being used in the current solution and the dilution of precision (DoP). DoP is an indication of the effect of satellite geometry on the accuracy of the fix. DoP has no units of measure — it is a case of smaller is better.
$GPGSA,A,B,x1,x2,x3,x4,x5,x6,x6,x8,x9,x10,x11,x12,x,y,z*hh
AFix mode:
M = Manual (where the receiver is forced to work in 2D or 3D) A = Automatic
BFix mode:
1 = Fix not possible
2 = 2D
3 = 3D
x1 – x12 IDs of satellites (SVs) used for position fix
z |
Positional dilution of precision |
yHorizontal dilution of precision
zVertical dilution of precision
*hh Checksum
GSV (Satellites in View Data)
This is a very interesting and informative NMEA sentence. Satellites in view shows data about the satellites that the unit might be able to find based on its viewing mask and almanac data. It also shows the unit’s current ability to track this data.
One GSV sentence can provide data for up to four satellites, so three sentences may be needed for the full information. The GSV for all satellite sentences do not need to appear in sequence.
$GPGSV,A,B,C,D1,E1,Az1,SNR1,D2,E2,Az2,SNR2,D3,E3,Az3,SNR3,D4,E4, Az4,SNR4*hh
A |
Number of messages required to hold data on all SVs in view |
|
|
B |
Message number |
|
|
C |
Total number of satellites in view |
|
|
D1-D4 |
Satellite PRN number |
|
|
E1-E4 |
Elevation in degrees (90 maximum) |
|
|
Az1-Az4 |
Azimuth (measured in degrees from True north, 000 to 359) |
|
|
SNR1-SNR4 |
Signal-to-noise ratio (the higher the number the better the signal) |
|
|
*hh |
Checksum |
|
|
Chapter 9 — Examining the Data 203
WPL (Waypoint Location)
When a route is active, this NMEA sentence is sent once for each waypoint that the route contains, in sequence. When all waypoints have been sent, GPR00 is sent in the next data set to indicate the end.
In any block of NMEA sentences, only one WPL or GPR00 sentence will be sent.
$GPWPL,llll.ll,e,yyyyy.yy,f,####*hh
1111.11 Destination waypoint latitude
e |
N or S (for latitude) |
yyyyy.yyDestination waypoint longitude
f |
E or W (for longitude) |
####Waypoint ID
*hh |
Checksum |
ZDA (Date and Time)
This sentence provides date and time information.
$GPZDA,hhmmss.ss,dd,mm,yyyy,xx,yy*hh
hhmmss |
UTC time |
dd |
Day |
mm |
Month |
yyyy |
Year |
xxLocal zone hours (-13 to 13)
yyLocal zone minutes (00 to 59)
*hh Checksum
ALM (GPS Almanac Data)
The GPS almanac data sentence contains GPS week number, satellite health, and complete almanac data for one satellite. Multiple satellites mean that multiple messages may be transmitted, one for each satellite in the GPS constellation (up to a maximum of 32 messages).
This sentence breaks the 80-character rule.
$GPALM,A,B,C.D,E,F,G,H,J,K,L,M,T1,T2,*hh
204 Part III — Data Hacking
ATotal number of messages
BCurrent message number
CSatellite PRN number (01 to 32)
DGPS week ID (0 to 1023)
ESatellite health
FOrbital eccentricity
GAlmanac reference time
HSigma – Inclination angle
IOmegaDOT – Rate of right ascension
JSquare root of semi-major axis
KOmega – Argument perigee
LLongitude of ascension node
MMean anomaly
T1 |
Clock parameter |
T2 |
Clock parameter |
*hh |
Checksum |
BOD (Bearing: Origin to Destination)
This NMEA sentence shows the bearing angle of a line calculated at the origin waypoint and extending to the destination waypoint for the active navigation leg of the journey.
$GPBOD,xxx,T,yyy,M,DESTID,STARTID*hh
xxx |
Bearing (True, from origin to destination) |
|
|
T |
True |
|
|
yyy |
Bearing (Magnetic, from origin to destination) |
|
|
M |
Magnetic |
|
|
DESTID |
Destination ID |
|
|
STARTID |
Origin ID |
|
|
*hh |
Checksum |
|
|