13 #define NUMBERS_OF_SENTENCE 4 15 #define NUMBERS_OF_SENTENCE_MAX 10 24 #define RATE_1SEC "$PMTK220,1000*1F\r\n" 26 #define RATE_2SEC "$PMTK220,2000*1C\r\n" 28 #define RATE_5SEC "$PMTK220,5000*1B\r\n" 30 #define RATE_10SEC "$PMTK220,10000*2F\r\n" 32 #define DISABLE_ALL "$PMTK314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n" 34 #define TURN_ALL "$PMTK314,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n" 36 #define GGA_RMC "$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n" 38 #define RMC_ONLY "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n" 107 float calcDistance(
float lat1,
float lon1,
float lat2,
float lon2);
float deg2rad(float deg)
Degrees to radians converter.
Definition: gps.c:146
float heading
The heading.
Definition: gps.h:51
float longitude
The longitude.
Definition: gps.h:47
void gpsSend(char *message)
Send sentences to GPS to configure it (interrupt mode)
Definition: gps.c:71
void usart0_rx(void)
Receive function for GPS data (USART0, interrupt mode)
Definition: gps.c:80
float speed
The speed.
Definition: gps.h:49
void enableUSARTforGPS(void)
Enable and config USART for GPS.
Definition: gps.c:36
float calcDistance(float lat1, float lon1, float lat2, float lon2)
Calculate the distance between two points (Haversine formula)
Definition: gps.c:137
void toggleGPSInterrupt(unsigned int state)
Toggle GPS interrupt.
Definition: gps.c:30
void toggleGPS(unsigned int state)
Toggle GPS (P4.0, ENABLE_GPS)
Definition: gps.c:25
float latitude
The latitude.
Definition: gps.h:45
unsigned int dataValid
Definition: gps.c:18
struct gps_data GPSData
Useful data received and valid.
Definition: gps.c:23