-
Notifications
You must be signed in to change notification settings - Fork 321
Description
I am developing a fitness-datalogger using nrF52840 Feather and UltimateGPS Featherwing. The GPS module and/or the serial erratically sends malformed NMEA sentence, which causes data loss.
An example of such a sentence:
$GPRMC,181536.000,A,5936.79K,D*3A
-
Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE
nrf52840 Express Feather -
Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
VERSION HERE
n/a -
List the steps to reproduce the problem below (if possible attach a sketch or
copy the sketch code in too): LIST REPRO STEPS BELOW
Try to parse "$GPRMC,181536.000,A,5936.79K,D*3A" with the library.
This is a malformed NMEA sentence (field count is invalid), and as such it should have been discarded entirely. However, the parse() method partially parses it, causing (the earlier established) GPS date info to became invalid (setting the GPS date to the bogus 2000-00-00 date).
This requirement is true for any decent GPS parser, IMHO: the effect of the unseccesful parsing attempt of any invalid NMEA sentence shall leave all stateful data members of the GPS instance unchanged
#bug