New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

If checksum is corrupt don't assume message is OK #67

Open
snorfalorpagus opened this Issue Aug 7, 2017 · 3 comments

Comments

Projects
None yet
3 participants
@snorfalorpagus

snorfalorpagus commented Aug 7, 2017

If an NMEA checksum is missing the library will assume everything is OK and continue to parse the message. This can cause problems if the message is so corrupt that the checksum itself is also corrupted, i.e. the * is missing or in the wrong place. I think a better approach would be to skip the message if the checksum is missing. The GPS unit on the v3 board always seems to have a checksum, so I can't see a benefit to ignoring missing values.

Relevant code here: https://github.com/adafruit/Adafruit_GPS/blob/master/Adafruit_GPS.cpp#L36

@SamuelWAnderson45

This comment has been minimized.

SamuelWAnderson45 commented Nov 16, 2017

I've had to manually patch this for myself to prevent collecting bad data from the GPS. It would be good to see this fixed on master

@billpugh

This comment has been minimized.

billpugh commented Sep 10, 2018

I agree. I encountered several situations in which the strings coming from the GPS unit were corrupted such that there wasn't a * in the expected column and thus the checksum check was ignored.

@snorfalorpagus

This comment has been minimized.

snorfalorpagus commented Sep 11, 2018

This repository hasn't seen a commit for a year and I think it's fair to say it's stagnant. There are plenty of other NMEA parsers available for Arduino. I have had some luck with TinyGPS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment