10Hz GPS, MEgasquirt, SD Card, ADxl345, 20x4 LCD datalogger

Dependencies:   ADXL345 10HzGPSdatalogger mbed

gps.h

Committer:
jpnovak
Date:
2015-11-28
Revision:
0:b8d7df90819e

File content as of revision 0:b8d7df90819e:

#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;
}