Hiber

Committer:
hmbed
Date:
Thu Dec 19 10:52:48 2019 +0000
Revision:
107:fc06d50dacef
Hiber First Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hmbed 107:fc06d50dacef 1 #ifndef MAXM8_H_INCLUDED
hmbed 107:fc06d50dacef 2 #define MAXM8_H_INCLUDED
hmbed 107:fc06d50dacef 3 #include <stdbool.h>
hmbed 107:fc06d50dacef 4
hmbed 107:fc06d50dacef 5 #define MAX_BUFFER_SIZE 90
hmbed 107:fc06d50dacef 6 #define MAX_FIELDS_NUMBER 25
hmbed 107:fc06d50dacef 7 #define FALSE 0
hmbed 107:fc06d50dacef 8 #define TRUE 1
hmbed 107:fc06d50dacef 9 #define UNDEFINED 3
hmbed 107:fc06d50dacef 10
hmbed 107:fc06d50dacef 11
hmbed 107:fc06d50dacef 12 enum minmea_sentence_id {
hmbed 107:fc06d50dacef 13 MINMEA_INVALID = -1,
hmbed 107:fc06d50dacef 14 MINMEA_UNKNOWN = 0,
hmbed 107:fc06d50dacef 15 NMEA_SENTENCE_RMC,
hmbed 107:fc06d50dacef 16 NMEA_SENTENCE_GGA,
hmbed 107:fc06d50dacef 17 NMEA_SENTENCE_VTG,
hmbed 107:fc06d50dacef 18 };
hmbed 107:fc06d50dacef 19
hmbed 107:fc06d50dacef 20 struct minmea_coord {
hmbed 107:fc06d50dacef 21 long integer;
hmbed 107:fc06d50dacef 22 long decimal;
hmbed 107:fc06d50dacef 23 uint8_t cardeal;
hmbed 107:fc06d50dacef 24 };
hmbed 107:fc06d50dacef 25
hmbed 107:fc06d50dacef 26 struct minmea_date {
hmbed 107:fc06d50dacef 27 int day;
hmbed 107:fc06d50dacef 28 int month;
hmbed 107:fc06d50dacef 29 int year;
hmbed 107:fc06d50dacef 30 };
hmbed 107:fc06d50dacef 31
hmbed 107:fc06d50dacef 32 struct minmea_time {
hmbed 107:fc06d50dacef 33 int hours;
hmbed 107:fc06d50dacef 34 int minutes;
hmbed 107:fc06d50dacef 35 int seconds;
hmbed 107:fc06d50dacef 36 int microseconds;
hmbed 107:fc06d50dacef 37 };
hmbed 107:fc06d50dacef 38
hmbed 107:fc06d50dacef 39 struct minmea_sentence {
hmbed 107:fc06d50dacef 40 struct minmea_time time;
hmbed 107:fc06d50dacef 41 struct minmea_coord latitude;
hmbed 107:fc06d50dacef 42 struct minmea_coord longitude;
hmbed 107:fc06d50dacef 43 struct minmea_date date;
hmbed 107:fc06d50dacef 44
hmbed 107:fc06d50dacef 45 bool valid;
hmbed 107:fc06d50dacef 46 int altitude;
hmbed 107:fc06d50dacef 47 int speed;
hmbed 107:fc06d50dacef 48 int fix_quality;
hmbed 107:fc06d50dacef 49 int num_of_satellites_tracked;
hmbed 107:fc06d50dacef 50
hmbed 107:fc06d50dacef 51 };
hmbed 107:fc06d50dacef 52
hmbed 107:fc06d50dacef 53 bool MAXM8_NMEA_Putc(char uart_char, char *uart_buffer_prt);
hmbed 107:fc06d50dacef 54 bool MAXM8_NMEA_Parser(struct minmea_sentence *gps_frame,int *isPositionDataValid,char *uart_buffer_prt);
hmbed 107:fc06d50dacef 55
hmbed 107:fc06d50dacef 56 #endif // MAXM8_H_INCLUDED