Revised Embedded Artists' MTK3339 library to save all raw GPS messages and enable optional decoding of RMC message.

Fork of MTK3339 by EmbeddedArtists AB

Revision:
2:2391d165df47
Parent:
1:3057ad6a5d4b
--- a/MTK3339.h	Fri Jul 31 21:20:55 2015 +0000
+++ b/MTK3339.h	Sat Aug 01 02:56:26 2015 +0000
@@ -1,6 +1,6 @@
 // Header to represent serial interface to MTK3339 GPS chip
 // Original author: Embedded Artists
-// Revised by T. Bronez, 2015-05-28
+// Revised by T. Bronez, 2015-07-31
 
 #ifndef MTK3339_H
 #define MTK3339_H
@@ -83,12 +83,13 @@
      */
     enum PubConstants {
         MSG_BUF_SZ = 100
-    };    
-    char ggaMsg[MSG_BUF_SZ];
-    char gsaMsg[MSG_BUF_SZ];
-    char gsvMsg[MSG_BUF_SZ];
-    char rmcMsg[MSG_BUF_SZ];
-    char vtgMsg[MSG_BUF_SZ];
+    };
+    // Leave room for a terminating \0 in each buffer
+    char ggaMsg[MSG_BUF_SZ+1];  // longest observed strlen = 72
+    char gsaMsg[MSG_BUF_SZ+1];  // longest observed strlen = 56
+    char gsvMsg[MSG_BUF_SZ+1];  // longest observed strlen = 68
+    char rmcMsg[MSG_BUF_SZ+1];  // longest observed strlen = 70
+    char vtgMsg[MSG_BUF_SZ+1];  // longest observed strlen = 37
 
     RmcType rmc;
     void decodeRMC();