From f453df2001ee5be40c472e7732ce22af6fc44485 Mon Sep 17 00:00:00 2001 From: Bill Li Date: Wed, 24 Jul 2019 02:38:59 -0400 Subject: [PATCH 1/5] feat(raw): Adding raw sentense --- adafruit_gps.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/adafruit_gps.py b/adafruit_gps.py index 281f256..28e9a8c 100644 --- a/adafruit_gps.py +++ b/adafruit_gps.py @@ -115,6 +115,7 @@ def __init__(self, uart, debug=False): self.total_mess_num = None self.mess_num = None self.debug = debug + self.sentence = None def update(self): """Check for updated data from the GPS module and process it @@ -200,6 +201,7 @@ def _parse_sentence(self): actual ^= ord(sentence[i]) if actual != expected: return None # Failed to validate checksum. + self.sentence = sentence # Remove checksum once validated. sentence = sentence[:-3] # Parse out the type of sentence (first string after $ up to comma) From 6e5d1b14cd5797109b0b782f74c877cf98cd7992 Mon Sep 17 00:00:00 2001 From: Bill Li Date: Thu, 25 Jul 2019 22:13:28 -0400 Subject: [PATCH 2/5] chore(CR): Added property, and added _read_sentsence --- adafruit_gps.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/adafruit_gps.py b/adafruit_gps.py index 28e9a8c..e74b2c1 100644 --- a/adafruit_gps.py +++ b/adafruit_gps.py @@ -115,7 +115,7 @@ def __init__(self, uart, debug=False): self.total_mess_num = None self.mess_num = None self.debug = debug - self.sentence = None + self.raw_sentence = None def update(self): """Check for updated data from the GPS module and process it @@ -176,7 +176,12 @@ def datetime(self): """Return struct_time object to feed rtc.set_time_source() function""" return self.timestamp_utc - def _parse_sentence(self): + @property + def raw_sentence(self): + """Return raw_sentence which is the raw NMEA sentence read from the GPS""" + return self.raw_sentence + + def _read_sentence(self): # Parse any NMEA sentence that is available. # pylint: disable=len-as-condition # This needs to be refactored when it can be tested. @@ -201,9 +206,21 @@ def _parse_sentence(self): actual ^= ord(sentence[i]) if actual != expected: return None # Failed to validate checksum. - self.sentence = sentence - # Remove checksum once validated. - sentence = sentence[:-3] + + # copy the raw sentence + self.raw_sentence = sentence + + return sentence + + def _parse_sentence(self): + sentence = self._read_sentence() + + # sentence is a valid NMEA with a valid checksum + if sentence is None: + return None + + # Remove checksum once validated. + sentence = sentence[:-3] # Parse out the type of sentence (first string after $ up to comma) # and then grab the rest as data within the sentence. delimiter = sentence.find(',') From 1d842a0abfb91f16bd432f89982d91b6d72a50be Mon Sep 17 00:00:00 2001 From: Bill Li Date: Thu, 25 Jul 2019 22:17:32 -0400 Subject: [PATCH 3/5] chore(return): Returning None for _read_sentence --- adafruit_gps.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/adafruit_gps.py b/adafruit_gps.py index e74b2c1..115b4b1 100644 --- a/adafruit_gps.py +++ b/adafruit_gps.py @@ -211,6 +211,8 @@ def _read_sentence(self): self.raw_sentence = sentence return sentence + # At this point we don't have a valid sentence + return None def _parse_sentence(self): sentence = self._read_sentence() From c277bcf47b8a551d0149d8f9d3e8f61380cb2d3e Mon Sep 17 00:00:00 2001 From: dherrada Date: Tue, 27 Aug 2019 12:00:49 -0400 Subject: [PATCH 4/5] Made changes @ladyada suggested to @billxinli's code. --- adafruit_gps.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/adafruit_gps.py b/adafruit_gps.py index 115b4b1..0d6b42b 100644 --- a/adafruit_gps.py +++ b/adafruit_gps.py @@ -114,8 +114,8 @@ def __init__(self, uart, debug=False): self.vdop = None self.total_mess_num = None self.mess_num = None + self._raw_sentence = None self.debug = debug - self.raw_sentence = None def update(self): """Check for updated data from the GPS module and process it @@ -177,9 +177,9 @@ def datetime(self): return self.timestamp_utc @property - def raw_sentence(self): + def nmea_sentence(self): """Return raw_sentence which is the raw NMEA sentence read from the GPS""" - return self.raw_sentence + return self._raw_sentence def _read_sentence(self): # Parse any NMEA sentence that is available. @@ -208,7 +208,7 @@ def _read_sentence(self): return None # Failed to validate checksum. # copy the raw sentence - self.raw_sentence = sentence + raw_sentence = sentence return sentence # At this point we don't have a valid sentence From 237e8455a149e37c95ee2c90340611558cb1dcf8 Mon Sep 17 00:00:00 2001 From: dherrada Date: Tue, 27 Aug 2019 12:07:43 -0400 Subject: [PATCH 5/5] Fixing travis issues --- adafruit_gps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adafruit_gps.py b/adafruit_gps.py index 0d6b42b..03fc4ae 100644 --- a/adafruit_gps.py +++ b/adafruit_gps.py @@ -208,7 +208,7 @@ def _read_sentence(self): return None # Failed to validate checksum. # copy the raw sentence - raw_sentence = sentence + _raw_sentence = sentence return sentence # At this point we don't have a valid sentence