From 812c99b3a4ff3d491718b819f6bb1620b1f20585 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 9 Sep 2016 19:40:33 +0200 Subject: Parse and print GPS GNTXT messages --- src/common/includes/GPS/minmea.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/common/includes/GPS/minmea.h') diff --git a/src/common/includes/GPS/minmea.h b/src/common/includes/GPS/minmea.h index 6d7fe18..ab770a6 100644 --- a/src/common/includes/GPS/minmea.h +++ b/src/common/includes/GPS/minmea.h @@ -31,6 +31,7 @@ enum minmea_sentence_id { MINMEA_SENTENCE_GLL, MINMEA_SENTENCE_GST, MINMEA_SENTENCE_GSV, + MINMEA_SENTENCE_TXT, }; struct minmea_float { @@ -138,6 +139,22 @@ struct minmea_sentence_gsv { struct minmea_sat_info sats[4]; }; +enum minmea_txt_msgtype { + MINMEA_GPTXT_ERROR = 0, + MINMEA_GPTXT_WARNING = 1, + MINMEA_GPTXT_NOTICE = 2 +}; + +#define MINMEA_TXT_START_IX 16 + +struct minmea_sentence_txt { + int num_msg; + int msg_num; + enum minmea_txt_msgtype msgtype; + const char* text; + int text_len; +}; + /** * Calculate raw sentence checksum. Does not check sentence integrity. */ @@ -180,6 +197,7 @@ bool minmea_parse_gsa(struct minmea_sentence_gsa *frame, const char *sentence); bool minmea_parse_gll(struct minmea_sentence_gll *frame, const char *sentence); bool minmea_parse_gst(struct minmea_sentence_gst *frame, const char *sentence); bool minmea_parse_gsv(struct minmea_sentence_gsv *frame, const char *sentence); +bool minmea_parse_txt(struct minmea_sentence_txt *frame, const char *sentence); /** * Convert GPS UTC date/time representation to a UNIX timestamp. -- cgit v1.2.3