@@ -229,37 +229,86 @@ def __init__(self, uart: UART, debug: bool = False) -> None:
229
229
self ._uart = uart
230
230
# Initialize null starting values for GPS attributes.
231
231
self .timestamp_utc = None
232
+ """Timestamp in UTC"""
232
233
self .latitude = None
234
+ """Degrees latitude"""
233
235
self .latitude_degrees = None
236
+ """Degrees component of latitude measurement"""
234
237
self .latitude_minutes = None # Use for full precision minutes
238
+ """Minutes component of latitude measurement"""
235
239
self .longitude = None
240
+ """Degrees longitude"""
236
241
self .longitude_degrees = None
242
+ """Degrees component of longitude measurement"""
237
243
self .longitude_minutes = None # Use for full precision minutes
244
+ """Minutes component of longitude measurement"""
238
245
self .fix_quality = 0
246
+ """
247
+ GPS quality indicator
248
+
249
+ | 0 - fix not available
250
+ | 1 - GPS fix
251
+ | 2 - Differential GPS fix (values above 2 are 2.3 features)
252
+ | 3 - PPS fix
253
+ | 4 - Real Time Kinematic
254
+ | 5 - Float RTK
255
+ | 6 - estimated (dead reckoning)
256
+ | 7 - Manual input mode
257
+ | 8 - Simulation mode
258
+ """
239
259
self .fix_quality_3d = 0
260
+ """
261
+ The type of fix for a reading
262
+
263
+ | 1 - no fix
264
+ | 2 - 2D fix
265
+ | 3 - 3D fix
266
+ """
240
267
self .satellites = None
268
+ """The number of satellites in use, 0 - 12"""
241
269
self .satellites_prev = None
270
+ """The number of satellites in use from the previous data point, 0 - 12"""
242
271
self .horizontal_dilution = None
272
+ """Horizontal dilution of precision (GGA)"""
243
273
self .altitude_m = None
274
+ """Antenna altitude relative to mean sea level"""
244
275
self .height_geoid = None
276
+ """Geoidal separation relative to WGS 84"""
245
277
self .speed_knots = None
278
+ """Ground speed in knots"""
246
279
self .track_angle_deg = None
280
+ """Track angle in degrees"""
247
281
self ._sats = None # Temporary holder for information from GSV messages
248
- self .sats = None # Completed information from GSV messages
282
+ self .sats = None
283
+ """Information from GSV messages"""
249
284
self .isactivedata = None
250
- self .true_track = None
251
- self .mag_track = None
285
+ """Status Valid(A) or Invalid(V)"""
286
+ self .true_track = None ### TODO: unused?
287
+ self .mag_track = None ### TODO: unused?
252
288
self .sat_prns = None
289
+ """Satellite pseudorandom noise code"""
253
290
self .sel_mode = None
291
+ """
292
+ Selection mode
293
+
294
+ | 'M' - manual
295
+ | 'A' - automatic
296
+ """
254
297
self .pdop = None
298
+ """Dilution of precision"""
255
299
self .hdop = None
300
+ """Horizontal dilution of precision (GSA)"""
256
301
self .vdop = None
302
+ """Vertical dilution of precision"""
257
303
self .total_mess_num = None
304
+ """Number of messages"""
258
305
self .mess_num = None
306
+ """Message number"""
259
307
self ._raw_sentence = None
260
308
self ._mode_indicator = None
261
309
self ._magnetic_variation = None
262
310
self .debug = debug
311
+ """Toggles debug mode. When True, prints the incoming data sentence to the console"""
263
312
264
313
def update (self ) -> bool :
265
314
"""Check for updated data from the GPS module and process it
@@ -535,15 +584,6 @@ def _parse_gga(self, data: List[str]) -> bool:
535
584
self .longitude_degrees , self .longitude_minutes = _read_int_degrees (data , 3 , "w" )
536
585
537
586
# GPS quality indicator
538
- # 0 - fix not available,
539
- # 1 - GPS fix,
540
- # 2 - Differential GPS fix (values above 2 are 2.3 features)
541
- # 3 - PPS fix
542
- # 4 - Real Time Kinematic
543
- # 5 - Float RTK
544
- # 6 - estimated (dead reckoning)
545
- # 7 - Manual input mode
546
- # 8 - Simulation mode
547
587
self .fix_quality = data [5 ]
548
588
549
589
# Number of satellites in use, 0 - 12
0 commit comments