-
-
Notifications
You must be signed in to change notification settings - Fork 89
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
GnssMonitor: picking up GN* messages #78
Comments
GN is the combined message. Once it's detected that the device uses GN that is what is used for GGA. |
Is this delivered in one string, or compiled over time? I've confirmed that OnLocationUpdate only works if this GN* flag is ignored. |
I'm not really following what your issue is. Could you perhaps share a sample NMEA log from your device? |
Okay. I'll be sure to identify where LocationChanged (whoops, not "OnLocationChanged") is firing. |
badelf_nmea.log |
Is the location actually changing? |
No. Once the first Gga message is parsed for coordinates, the coordinates (GnssMonitor.Latitude / GnssMonitor.Longitude) never change again, and so LocationChanged is never called again. |
If your location isn't changing it makes sense that the location changed event doesn't fire then, right? |
Sure, if I was standing stock still with fantastic precision on the part of my GPS receiver. For this log, I walked in a big circle. |
Ok you just said the location wasn't changing. Sounds like we misunderstood each other 😂 |
Looking at the log, your bad elf is weird ;-) It supports GN messages, but it only uses it for GSA, and everything else is GP for location. |
@HG-Dev I'm also seeing in the log you shared that almost all the messages have invalid checksums, and thus fail to parse |
Yeah-- I still don't quite understand what GN messages are, but even I can tell they're not in there. EDIT: Okay, now I understand what GN messages are. Very scant indeed. The website specifies that it should have "GGA, GSA, GSV, RMC - Talker ID's GP,GL,GN." I guess I'll contact the maker to confirm what's going on. The Bad Elf device has only two settings for NMEA, "Default (all NMEA sentences)" and "Simplified NMEA (GGA / RMC only)." I wouldn't worry about the checksums; the text between $ and * all check out with this website. |
GP*** : GPS Satellites Never fully understood why we need location updates for each constellation, but it makes things tricky because we have to detect that this is a multi-band receiver, and we want to prefer the GN messages over the individual measurements, since this gives the most satellites for the solution fix. |
It looks like I should probably detect if there's a GN version for each message type instead. I'll submit a fix for that. Thanks for testing this out and providing the feedback |
Very illuminating, thanks! Glad to help. |
You're welcome. It seems rather odd that you're getting |
Followup: You're right, GPGGA is the combined value. In their support's words, "the Pro+ is built on a dual-frequency GNSS engine from Mediatek, it defaults to the talker identifier for for GPS (GP) for many of the messages regardless of whether the GLONASS signal is contributing to the solution." |
Thanks for the follow-up. That's definitely against the NMEA spec but I can see why. Older NMEA libraries would likely only pass |
I've been trying to figure out why GnssMonitor.OnMessageReceived has been interpreting exactly one real GGA message before going silent, and I think it might be the m_supportGNMessages flag.
Here's an idea of what my log looks like:
Assuming my device (a Bad Elf GPS Pro+) supports GN* messages, where are they interpreted?
The text was updated successfully, but these errors were encountered: