10Hz GPS, MEgasquirt, SD Card, ADxl345, 20x4 LCD datalogger
Dependencies: ADXL345 10HzGPSdatalogger mbed
Diff: gps.h
- Revision:
- 0:b8d7df90819e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gps.h Sat Nov 28 17:07:15 2015 +0000 @@ -0,0 +1,93 @@ +#include "mbed.h" +#include "data.h" + +Serial gps(p9, p10); + +void parseRMC(void) +{ + rmc2 = strtok(rmc1, ","); + while (rmc2 != NULL) { + sep++; + switch (sep) { + case 1: + // Time + + time_GPS = rmc2; + + break; + case 2 : + // Status + status = rmc2; + break; + case 3 : + // Lattitude + Lat = rmc2; + + break; + case 4 : + // Hemisphere + Lat_h = rmc2; + + break; + case 5 : + // Longitude + Long = rmc2; + + break; + case 6: + //Hemisphere + Long_h = rmc2; + + break; + case 7: + //speed in Knots + speed_k = rmc2; + + break; + case 8: + //heading + heading = rmc2; + /* + fgets ( rmc2, 256, heading_int ); + i = atoi (rmc2); + pc.printf ("heading:%d.\n",i); + //return 0;*/ + + + + //pc.printf("Heading:%s ",heading); // Heading degrees + + break; + case 9: + //pc.printf("UTS Date:%s \n",rmc2); //Date + break; + } + rmc2 = strtok(NULL, ","); + } + sep = 0; + return;// *rmc2; +} + + + + +void getGPSstring(int str) +{ + if (gps.scanf("%s", &gpsString) ==1) { + + if (str == 1) { + if (sscanf(gpsString, "$GPRMC,%s",rmc1) >= 1) { + sep = 0; + parseRMC(); + + } + return ;//*rmc2; + } + + + } + + + + return; +}