@@ -41,9 +41,9 @@ Feather boards and many other circuitpython boards will round to two decimal pla
41
41
>> > float (' 1234.5678' )
42
42
1234.57
43
43
44
- This isn't ideal for gps data as this lowers the accuracy from 0.1m to 11m.
44
+ This isn't ideal for GPS data as this lowers the accuracy from 0.1m to 11m.
45
45
46
- This can be fixed by using string formatting when the gps data is outputted .
46
+ This can be fixed by using string formatting when the GPS data is output .
47
47
48
48
An implementation of this can be found in examples/gps_simpletest.py
49
49
@@ -88,7 +88,71 @@ These two lines are the lines that actually solve the issue:
88
88
89
89
print (' Latitude: {0:.6f } degrees' .format(gps.latitude))
90
90
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
+
103
+ 11
104
+ 1 2 3 4 5 6 7 8 9 10 | 12 13 14 15
105
+ | | | | | | | | | | | | | | |
106
+ $--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh
107
+
108
+
109
+ 1. Time (UTC)
110
+ 2. Latitude
111
+ 3. N or S (North or South)
112
+ 4. Longitude
113
+ 5. E or W (East or West)
114
+ 6. GPS Quality Indicator,
115
+
116
+ * 0 - fix not available,
117
+ * 1 - GPS fix,
118
+ * 2 - Differential GPS fix
119
+
120
+ 7. Number of satellites in view, 00 - 12
121
+ 8. Horizontal Dilution of precision
122
+ 9. Antenna Altitude above/below mean-sea-level (geoid)
123
+ 10. Units of antenna altitude, meters
124
+ 11. Geoidal separation, the difference between the WGS-84 earth ellipsoid and mean-sea-level (geoid), "-" means mean-sea-level below ellipsoid
125
+ 12. Units of geoidal separation, meters
126
+ 13. Age of differential GPS data, time in seconds since last SC104 type 1 or 9 update, null field when DGPS is not used
127
+ 14. Differential reference station ID, 0000-1023
128
+ 15. Checksum
129
+
130
+ The second of these is RMC. RMC is Recommended Minimum Navigation Information.
131
+
132
+ Here's an explanation of RMC:
133
+ ::
134
+
135
+ 12
136
+ 1 2 3 4 5 6 7 8 9 10 11|
137
+ | | | | | | | | | | | |
138
+ $--RMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxx,x.x,a*hh
139
+
140
+ 1. Time (UTC)
141
+ 2. Status, V = Navigation receiver warning
142
+ 3. Latitude
143
+ 4. N or S
144
+ 5. Longitude
145
+ 6. E or W
146
+ 7. Speed over ground, knots
147
+ 8. Track made good, degrees true
148
+ 9. Date, ddmmyy
149
+ 10. Magnetic Variation, degrees
150
+ 11. E or W
151
+ 12. Checksum
152
+
153
+
154
+ `Info about NMEA taken from here
155
+ <https://www.tronico.fi/OH6NT/docs/NMEA0183.pdf> `_.
92
156
93
157
Contributing
94
158
============
@@ -100,7 +164,7 @@ before contributing to help this project stay welcoming.
100
164
Building locally
101
165
================
102
166
103
- To build this library locally you'll need to install the
167
+ To build this library locally, you'll need to install the
104
168
`circuitpython-build-tools <https://github.com/adafruit/circuitpython-build-tools >`_ package.
105
169
106
170
.. code-block :: shell
0 commit comments