Jose Jn
/
mbed-os-example-blinky2
Hiber
GPS/MAXM8.h@107:fc06d50dacef, 2019-12-19 (annotated)
- Committer:
- hmbed
- Date:
- Thu Dec 19 10:52:48 2019 +0000
- Revision:
- 107:fc06d50dacef
Hiber First Commit
Who changed what in which revision?
User | Revision | Line number | New 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 |