Skip to content

Commit e91222c

Browse files
committed
Added info about nmea data to README
I thought it might be useful to add an explanation of NMEA 0183 and the different formats in which the data is transmitted to the microcontroller from the GPS. Only caveat is, I essentially plagiarized all of it. I did credit and link to where I got it from, but I'm not sure about the proper way to cite it is.
1 parent 0facb5a commit e91222c

File tree

1 file changed

+64
-2
lines changed

1 file changed

+64
-2
lines changed

README.rst

Lines changed: 64 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Feather boards and many other circuitpython boards will round to two decimal pla
4141
>>> float('1234.5678')
4242
1234.57
4343
44-
This isn't ideal for gps data as this lowers the accuracty from 0.1m to 11m.
44+
This isn't ideal for gps data as this lowers the accuracy from 0.1m to 11m.
4545

4646
This can be fixed by using string formatting when the gps data is outputted.
4747

@@ -88,7 +88,69 @@ These two lines are the lines that actually solve the issue:
8888
8989
print('Latitude: {0:.6f} degrees'.format(gps.latitude))
9090
print('Longitude: {0:.6f} degrees'.format(gps.longitude))
91-
91+
92+
About NMEA Data
93+
===============
94+
This GPS module uses the NMEA 0183 protocol.
95+
96+
This data is formatted by the GPS in one of two ways.
97+
98+
The first of these is GGA. GGA has more or less everything you need.
99+
100+
Here's an explanation of GGA:
101+
::
102+
11
103+
1 2 3 4 5 6 7 8 9 10 | 12 13 14 15
104+
| | | | | | | | | | | | | | |
105+
$--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh
106+
107+
108+
1. Time (UTC)
109+
2. Latitude
110+
3. N or S (North or South)
111+
4. Longitude
112+
5. E or W (East or West)
113+
6. GPS Quality Indicator,
114+
115+
* 0 - fix not available,
116+
* 1 - GPS fix,
117+
* 2 - Differential GPS fix
118+
119+
7. Number of satellites in view, 00 - 12
120+
8. Horizontal Dilution of precision
121+
9. Antenna Altitude above/below mean-sea-level (geoid)
122+
10. Units of antenna altitude, meters
123+
11. Geoidal separation, the difference between the WGS-84 earth ellipsoid and mean-sea-level (geoid), "-" means mean-sea-level below ellipsoid
124+
12. Units of geoidal separation, meters
125+
13. Age of differential GPS data, time in seconds since last SC104 type 1 or 9 update, null field when DGPS is not used
126+
14. Differential reference station ID, 0000-1023
127+
15. Checksum
128+
129+
The second of these is RMC. RMC is Reccomended Minimum Navigation Information.
130+
131+
Here's an explanation of RMC:
132+
::
133+
12
134+
1 2 3 4 5 6 7 8 9 10 11|
135+
| | | | | | | | | | | |
136+
$--RMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxx,x.x,a*hh
137+
138+
1. Time (UTC)
139+
2. Status, V = Navigation receiver warning
140+
3. Latitude
141+
4. N or S
142+
5. Longitude
143+
6. E or W
144+
7. Speed over ground, knots
145+
8. Track made good, degrees true
146+
9. Date, ddmmyy
147+
10. Magnetic Variation, degrees
148+
11. E or W
149+
12. Checksum
150+
151+
152+
`Info about NMEA taken from here
153+
<https://www.tronico.fi/OH6NT/docs/NMEA0183.pdf/>`_.
92154

93155
Contributing
94156
============

0 commit comments

Comments
 (0)