I made a GPS library for decoding NMEA protocol

I have compiled the code with my sketches and although I have not had the chance to actually connect a GPS to this version, it looks good – not having to call the status method (as in version 3) does simplify the usage. Here is the relevant fragment from my time sketch:

boolean gpsTimeSync(){
  //  syncs time and returns true if valid time avail from gps
  unsigned long datetime_fix_age = 0;
  gps.get_datetime(NULL,NULL, &datetime_fix_age);
  if(datetime_fix_age < 1100){
    DateTime.sync(gpsTimeToTime_t());
    return true;
  }   
  return false;
} 

time_t gpsTimeToTime_t(){
  // returns time_t from gps date and time 
  byte month, day, hour, minute, second, hundredths;
  int year;
  gps.crack_datetime(&year, &month, &day, &hour, &minute, &second, NULL, NULL);
  return DateTime.makeTime( second, minute, hour, day, month, year );
}

Also, for another application that involves logging gps position as frequently as possible, I was thinking about adding a callback function to the end of the term_complete method so the app did not need to poll to see if new data was available, what do you think?

BTW, I think the example sketches in the download will seem odd to many Arduino users because the streaming syntax is not common. I suggest at least one example sketch using the typical (albeit long winded) arduino style for those users that have no experience with the insertion syntax.

Again, many thanks for the library.