/*
* Master Firmware: NMEA Parser
*
* This file is part of OpenTrack.
*
* OpenTrack is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* OpenTrack is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with OpenTrack. If not, see <http://www.gnu.org/licenses/>.
*
* Ethan Zonca
* Matthew Kanning
* Kyle Ripperger
* Matthew Kroening
*
*/
#ifndef GPS_H_
#define GPS_H_
#include <stdint.h>
// Duration before GPS fix is declared stale
#define GPS_STALEFIX_MS 60000
enum gps_state
{
GPS_STATE_ACQUIRING = 0,
GPS_STATE_FRESHFIX,
GPS_STATE_STALEFIX,
GPS_STATE_NOFIX
};
void gps_init();
void gps_update_position();
void gps_update_time(uint8_t* hour, uint8_t* minute, uint8_t* second);
void gps_check_lock(uint8_t* lock, uint8_t* sats);
uint8_t gps_check_nav(void);
void gps_poweron(void);
void gps_poweroff(void);
void gps_acquirefix(void);
uint8_t gps_getstate(void);
#endif /* GPS_H_ */