GPS GMS-6 Module

Dependents:   RwSDCard_Xml_GPS

Revision:
1:dceb4eaf697e
Parent:
0:7ef27b349b37
Child:
4:fb1cd9893eb8
--- a/GPSGms6.h	Tue May 10 06:33:57 2016 +0000
+++ b/GPSGms6.h	Sun May 15 09:56:11 2016 +0000
@@ -1,4 +1,4 @@
-
+/* ###############  Constant Defination  ################## */
 
 #define HEADER_SIZE                 5
 #define GPRMC_TIME_SIZE             10
@@ -17,22 +17,8 @@
 #define INVALID_VALUE               0xFFFF
 #define RX_BUF_SIZE                 100
 
-typedef struct {
-    char header[HEADER_SIZE+1];
-    char time[GPRMC_TIME_SIZE+1];
-    char status[GPRMC_TIME_SIZE+1];
-    char latitude[GPRMC_LATITUDE_SIZE+1];
-    char latitude_hemi[GPRMC_LATITUDE_HEMI_SIZE+1];
-    char longitude[GPRMC_LONGITUDE_SIZE+1];
-    char longitude_hemi[GPRMC_LATITUDE_HEMI_SIZE+1];
-    char speed[GPRMC_SPEED_SIZE+1];
-    char course[GPRMC_COURSE_SIZE+1];
-    char date[GPRMC_DATE_SIZE+1];
-    char magnetic[GPRMC_MAGNETIC_SIZE+1];
-    char magnetic_dir[GPRMC_MAGNETIC_DIR_SIZE+1];
-    char indicator[GPRMC_INDICATOR_SIZE+1];
-} GPRMC_Data_TypeDef;
 
+/* ###############  Enum  ################## */
 typedef enum GPS_ProcessState {
     GPS_Process_Start = 0,
     GPS_Process_Header,
@@ -58,6 +44,25 @@
     GPS_Status_NotEnough,
 } GPS_ProcessStatus;
 
+
+/* ###############  Structure  ################## */
+typedef struct {
+    char header[HEADER_SIZE+1];
+    char time[GPRMC_TIME_SIZE+1];
+    char status[GPRMC_TIME_SIZE+1];
+    char latitude[GPRMC_LATITUDE_SIZE+1];
+    char latitude_hemi[GPRMC_LATITUDE_HEMI_SIZE+1];
+    char longitude[GPRMC_LONGITUDE_SIZE+1];
+    char longitude_hemi[GPRMC_LATITUDE_HEMI_SIZE+1];
+    char speed[GPRMC_SPEED_SIZE+1];
+    char course[GPRMC_COURSE_SIZE+1];
+    char date[GPRMC_DATE_SIZE+1];
+    char magnetic[GPRMC_MAGNETIC_SIZE+1];
+    char magnetic_dir[GPRMC_MAGNETIC_DIR_SIZE+1];
+    char indicator[GPRMC_INDICATOR_SIZE+1];
+} GPRMC_Data_TypeDef;
+
+
 typedef struct {
     GPS_ProcessState state;
     int              size;
@@ -65,14 +70,26 @@
 } GPRMC_Tbl_TypeDef;
 
 
-
+/* ###############  Class  ################## */
 class GPSGms6
 {
 public:
 
+    /**
+     * Constructor
+     */
     GPSGms6();
 
+    /**
+     * Start GPS 
+     */
     void start_GPS();
+    
+    /**
+     * Get UTC Time 
+     * @returns
+     *   UTC Time
+     */
     tm UTCTime();
     /** Get Latest GPRMC Data
      *
@@ -97,15 +114,5 @@
 
 
 private:
-    // States
-
-
-
-    //Member variables
-
-
-
-    //void GPS_ProcessGpsData(char * buf, unsigned int size, char * t, char * d);
-    //GPS_ProcessStatus GPS_ProcessGprmcSection(GPS_ProcessState state,char * buf , unsigned int buf_index,unsigned int buf_size, unsigned int section_size, char * ret_value);
 
 };
\ No newline at end of file