Bmag incl gps rettelse
Dependencies: mbed WDT MODSERIAL BME280
Diff: main.cpp
- 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(); }