Skip to content

Commit e757698

Browse files
Update RMC parsing to handle the extra parameter in NMEA 4.1 (Closes #65)
1 parent d9a0793 commit e757698

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

adafruit_gps.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@
4444
_GSV11 = 6
4545
_GSV15 = 7
4646
_GSV19 = 8
47+
_RMC_4_1 = 9
4748
_ST_MIN = _GLL
48-
_ST_MAX = _GSV19
49+
_ST_MAX = _RMC_4_1
4950

5051
_SENTENCE_PARAMS = (
5152
# 0 - _GLL
@@ -66,6 +67,8 @@
6667
"iiiiiiIiiiIiiiI",
6768
# 8 - _GSV19
6869
"iiiiiiIiiiIiiiIiiiI",
70+
# 9 - _RMC_4_1
71+
"fcdcdcffiDCCC",
6972
)
7073

7174

@@ -439,9 +442,9 @@ def _parse_gll(self, data):
439442
def _parse_rmc(self, data):
440443
# RMC - Recommended Minimum Navigation Information
441444

442-
if data is None or len(data) != 12:
445+
if data is None or len(data) not in (12, 13):
443446
return False # Unexpected number of params.
444-
data = _parse_data(_RMC, data)
447+
data = _parse_data({12: _RMC, 13: _RMC_4_1}[len(data)], data)
445448
if data is None:
446449
return False # Params didn't parse
447450

0 commit comments

Comments
 (0)