diff --git a/inc/gps.h b/inc/gps.h --- a/inc/gps.h +++ b/inc/gps.h @@ -29,22 +29,17 @@ #include -// Hardware config -/*#define GPS_USART USART1 -#define GPS_IRQ NVIC_USART1_IRQ - -#define GPS_TX_PORT GPIOB -#define GPS_TX_PIN GPIO6 -#define GPS_TX_AF GPIO_AF0 +// Duration before GPS fix is declared stale +#define GPS_STALEFIX_MS 60000 -#define GPS_RX_PORT GPIOB -#define GPS_RX_PIN GPIO7 -#define GPS_RX_AF GPIO_AF0 +enum gps_state +{ + GPS_STATE_ACQUIRING = 0, + GPS_STATE_FRESHFIX, + GPS_STATE_STALEFIX, + GPS_STATE_NOFIX +}; -#define GPS_ONOFF_PORT GPIOA -#define GPS_ONOFF_PIN GPIO1 -#define GPS_ONOFF GPS_ONOFF_PORT, GPS_ONOFF_PIN -*/ // Messages (REMOVEME?) #define GGA_MESSAGE #define RMC_MESSAGE @@ -63,9 +58,13 @@ char* get_gpsaltitude(void); char* get_speedKnots(void); char* get_course(void); char* get_hdop(void); +uint16_t get_hdop_int_tenths(void); char* get_sv(void); char* get_dayofmonth(void); uint8_t gps_hasfix(void); +void gps_process(void); +uint8_t gps_getstate(void); +void gps_acquirefix(void); void parse_gps_transmission(void); void XORbyteWithChecksum(uint8_t byte);