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.
#include "mbed.h" #include "TextLCD.h" #include "GPS.h" TextLCD lcd(p14, p12, p15, p16, p29, p30, TextLCD::LCD20x4); GPS gps(p9, p10); int main() { while(1) { led2 = 1; lcd.locate(0,0); lcd.printf("LOOKING FOR GPS"); lcd.locate(0,2); lcd.printf("I'm at %f, %f\n", gps.longitude, gps.latitude); }Any ideas as to why i'm not getting my location information, even when i have a valid location lock?
Thanks much,
-Jorge