I don't see a huge problem here.
Why not just parse whatever message with interesting info we get?
if (!strcmp("$GPGLL") {
// extract coordinates and update buffer
} else if(!strcmp("$GPGGA)) {
// extract coordinates and update buffer
} else if(!strcmp("$GPRMC)) {
// extract coordinates and update buffer
} else if(!strcmp("$GPSuperProprietaryMessageWithAwesomePrecisionData")) {
// extract coordinates and update buffer
} else {
// no luck with this message
return;
}
Sebastien
On Mon, Jan 31, 2011 at 4:28 PM, <mad(a)auth.se> wrote:
On Mon, 31 Jan 2011 13:34:16 +0100, Dario Lombardo
wrote:
Good, but why did you change the old code? Why don't you put something
like
if (strcmp("$GPGLL") {
// run the old code
} else if(strcmp("$GPGGA)) {
// run your new code
} else {
return;
}
That could support both the devices.
BTW, best practice would be to implement parsing of the "GPRMC"-sentence as
it
is the "Recommended Minimal Sentence" for every NMEA-capable gps receiver.
It contains time, date, latitude, longitude, validity, speed and heading, so
everything needed is delivered and should work with all receivers out there.
Regards,
Mad