// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: t -*- #include "GPS.h" #include "WProgram.h" void GPS::update(void) { bool result; // call the GPS driver to process incoming data result = read(); // if we did not get a message, and the idle timer has expired, re-init if (!result) { if ((millis() - _idleTimer) > _idleTimeout) { _status = NO_GPS; init(); } } else { // we got a message, update our status correspondingly _status = fix ? GPS_OK : NO_FIX; valid_read = true; new_data = true; } // reset the idle timer _idleTimer = millis(); } // XXX this is probably the wrong way to do it, too void GPS::_error(const char *msg) { Serial.println(msg); }