Bmag incl gps rettelse

Dependencies:   mbed WDT MODSERIAL BME280

Revision:
1:f347c4ef25fa
Parent:
0:b3313c5ffca3
--- a/main.cpp	Fri Feb 17 09:33:57 2017 +0000
+++ b/main.cpp	Thu Feb 23 07:32:05 2017 +0000
@@ -13,17 +13,12 @@
 //global tmpGpsRxString
 char tmpGpsRxString[128];
 
-WatchDog wdt;
-
 int main(void){
-    
+     
     //Initializing string buffer for GPS data
     string GPS_String_Buff;
     GPS_String_Buff.resize(128);
     memset(tmpGpsRxString,'\0',128);
-    
-    //initializing watchdog timer to 10 second idle limit
-    wdt.kick(10);
         
     //GPS communication init
     gps.baud(9600);
@@ -34,12 +29,20 @@
     
     //setting up USB device
     USBHostMSD msd("usb");
-    
+  
     while(!msd.connect()){
         dbg.printf("Trying to connect to usb flash disk\r\n");
         wait_ms(500);       
     }
     
+    
+    if (wd.WatchdogCausedReset()){
+         dbg.printf("Watchdog caused reset.\r\n");
+    }
+    
+    //configure watchdog
+    wd.Configure(3.0); 
+    
     //Opening a file on usb disk
     FILE * fp = fopen("/usb/test1.txt", "a");
     
@@ -60,18 +63,28 @@
             memset(tmpGpsRxString,'\0',128);
             
             //printing GPS string buffer
-            dbg.printf(GPS_String_Buff.c_str());
-            dbg.printf("\r\n");
+            //dbg.printf(GPS_String_Buff.c_str());
+            //dbg.printf("\r\n");
             //dbg.printf("Validating GPS data\r\n");
             //Validate CRC
-            GPS_Data_Valid = gpsNMEA.ValidateData(GPS_String_Buff, &dbg);
+            GPS_Data_Valid = gpsNMEA.ValidateData(GPS_String_Buff);
          
             //store valid string, either gga or rmc
             if(GPS_Data_Valid){
-                 gpsNMEA.StoreString(GPS_String_Buff, &dbg);   
+                 gpsNMEA.StoreString(GPS_String_Buff);   
             }
             
-            GGA_Fix_Present = gpsNMEA.GGAFixVerification(&dbg);
+            GGA_Fix_Present = gpsNMEA.GGAFixVerification();
+            
+            //getting UTC from GPRMC
+            gpsNMEA.GetCurrentUTCFromGPRMC();
+            
+            //getting DATE from GPRMC
+            gpsNMEA.GetCurrentDateFromGPRMC();
+            
+            //Getting gps coordinates
+            gpsNMEA.GetCurrentLongitudeFromGPRMC();
+            gpsNMEA.GetCurrentLatitudeFromGPRMC();
             
             //Clearing RX buffer.
             //dbg.printf("Clearing Rx buffer, and flags... ");  
@@ -85,7 +98,7 @@
                             
             //write current data received data to file if gga fix is present.
             if (fp != NULL && GGA_Fix_Present) {
-                dbg.printf("Writing to usb flash disk\r\n");
+                //dbg.printf("Writing to usb flash disk\r\n");
                 writecount += 1;
                 fprintf(fp, gpsNMEA.currentGGAString.c_str());
                 fprintf(fp, "\r\n");
@@ -114,7 +127,7 @@
         if(!msd.connected()){
             //reestablish usb connection
             while(!msd.connect()){
-                dbg.printf("Trying to reconnect to usb flash disk\r\n");
+                //dbg.printf("Trying to reconnect to usb flash disk\r\n");
                 wait_ms(500);
             }
                 
@@ -123,7 +136,8 @@
                      
         }
         
-        wdt.kick();
+        
+        wd.Service();
        
     }