Hmm..
I thought it would be a pretty cool idea to see how many satellites the module was currently tracking so i looked up the datasheet.
GGA-Global Positioning System Fixed Data
Table B-2 contains the values for the following example:
$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M,,,,0000*18
The 07 is the "Satellites Used" return with a max of 12 satellites. It's been two years since my last C/C++ course and i rarely program so i added the next bit of code hoping for the best.
From the gps.cpp i added "&tracking" and correspondingly linked it to %d
// Check if it is a GPGGA msg (matches both locked and non-locked msg)
if(sscanf(msg, "GPGGA,%f,%f,%c,%f,%c,%d,%d", &time, &latitude, &ns, &longitude, &ew, &lock, &tracking) >= 1) {
In the GPS.h i added
// Returns the number of satellites currently tracking, 12 max
int tracking;
But, sadly, when in my code i call gps.tracking it always returns a 0 (but lat and long are outputting just fine).
Any ideas here? Am i overlooking something?
Thanks for everyones help and time,
-Jorge
So i'm using a modified Hello World GPS program, i'm outputting to my LCD other then to my PC. I'm using the EM-406A GPS module, it gets a location fix within a minute but i'm still reading 0.000000 for my lat and long.
Any ideas as to why i'm not getting my location information, even when i have a valid location lock?
Thanks much,
-Jorge