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

Dependencies:   ADXL345 10HzGPSdatalogger mbed

Committer:
jpnovak
Date:
Sat Nov 28 17:07:15 2015 +0000
Revision:
0:b8d7df90819e
10HzGPS Megasquirt adxl345 SD card LCD;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jpnovak 0:b8d7df90819e 1 #include "mbed.h"
jpnovak 0:b8d7df90819e 2 #include "data.h"
jpnovak 0:b8d7df90819e 3
jpnovak 0:b8d7df90819e 4 Serial gps(p9, p10);
jpnovak 0:b8d7df90819e 5
jpnovak 0:b8d7df90819e 6 void parseRMC(void)
jpnovak 0:b8d7df90819e 7 {
jpnovak 0:b8d7df90819e 8 rmc2 = strtok(rmc1, ",");
jpnovak 0:b8d7df90819e 9 while (rmc2 != NULL) {
jpnovak 0:b8d7df90819e 10 sep++;
jpnovak 0:b8d7df90819e 11 switch (sep) {
jpnovak 0:b8d7df90819e 12 case 1:
jpnovak 0:b8d7df90819e 13 // Time
jpnovak 0:b8d7df90819e 14
jpnovak 0:b8d7df90819e 15 time_GPS = rmc2;
jpnovak 0:b8d7df90819e 16
jpnovak 0:b8d7df90819e 17 break;
jpnovak 0:b8d7df90819e 18 case 2 :
jpnovak 0:b8d7df90819e 19 // Status
jpnovak 0:b8d7df90819e 20 status = rmc2;
jpnovak 0:b8d7df90819e 21 break;
jpnovak 0:b8d7df90819e 22 case 3 :
jpnovak 0:b8d7df90819e 23 // Lattitude
jpnovak 0:b8d7df90819e 24 Lat = rmc2;
jpnovak 0:b8d7df90819e 25
jpnovak 0:b8d7df90819e 26 break;
jpnovak 0:b8d7df90819e 27 case 4 :
jpnovak 0:b8d7df90819e 28 // Hemisphere
jpnovak 0:b8d7df90819e 29 Lat_h = rmc2;
jpnovak 0:b8d7df90819e 30
jpnovak 0:b8d7df90819e 31 break;
jpnovak 0:b8d7df90819e 32 case 5 :
jpnovak 0:b8d7df90819e 33 // Longitude
jpnovak 0:b8d7df90819e 34 Long = rmc2;
jpnovak 0:b8d7df90819e 35
jpnovak 0:b8d7df90819e 36 break;
jpnovak 0:b8d7df90819e 37 case 6:
jpnovak 0:b8d7df90819e 38 //Hemisphere
jpnovak 0:b8d7df90819e 39 Long_h = rmc2;
jpnovak 0:b8d7df90819e 40
jpnovak 0:b8d7df90819e 41 break;
jpnovak 0:b8d7df90819e 42 case 7:
jpnovak 0:b8d7df90819e 43 //speed in Knots
jpnovak 0:b8d7df90819e 44 speed_k = rmc2;
jpnovak 0:b8d7df90819e 45
jpnovak 0:b8d7df90819e 46 break;
jpnovak 0:b8d7df90819e 47 case 8:
jpnovak 0:b8d7df90819e 48 //heading
jpnovak 0:b8d7df90819e 49 heading = rmc2;
jpnovak 0:b8d7df90819e 50 /*
jpnovak 0:b8d7df90819e 51 fgets ( rmc2, 256, heading_int );
jpnovak 0:b8d7df90819e 52 i = atoi (rmc2);
jpnovak 0:b8d7df90819e 53 pc.printf ("heading:%d.\n",i);
jpnovak 0:b8d7df90819e 54 //return 0;*/
jpnovak 0:b8d7df90819e 55
jpnovak 0:b8d7df90819e 56
jpnovak 0:b8d7df90819e 57
jpnovak 0:b8d7df90819e 58 //pc.printf("Heading:%s ",heading); // Heading degrees
jpnovak 0:b8d7df90819e 59
jpnovak 0:b8d7df90819e 60 break;
jpnovak 0:b8d7df90819e 61 case 9:
jpnovak 0:b8d7df90819e 62 //pc.printf("UTS Date:%s \n",rmc2); //Date
jpnovak 0:b8d7df90819e 63 break;
jpnovak 0:b8d7df90819e 64 }
jpnovak 0:b8d7df90819e 65 rmc2 = strtok(NULL, ",");
jpnovak 0:b8d7df90819e 66 }
jpnovak 0:b8d7df90819e 67 sep = 0;
jpnovak 0:b8d7df90819e 68 return;// *rmc2;
jpnovak 0:b8d7df90819e 69 }
jpnovak 0:b8d7df90819e 70
jpnovak 0:b8d7df90819e 71
jpnovak 0:b8d7df90819e 72
jpnovak 0:b8d7df90819e 73
jpnovak 0:b8d7df90819e 74 void getGPSstring(int str)
jpnovak 0:b8d7df90819e 75 {
jpnovak 0:b8d7df90819e 76 if (gps.scanf("%s", &gpsString) ==1) {
jpnovak 0:b8d7df90819e 77
jpnovak 0:b8d7df90819e 78 if (str == 1) {
jpnovak 0:b8d7df90819e 79 if (sscanf(gpsString, "$GPRMC,%s",rmc1) >= 1) {
jpnovak 0:b8d7df90819e 80 sep = 0;
jpnovak 0:b8d7df90819e 81 parseRMC();
jpnovak 0:b8d7df90819e 82
jpnovak 0:b8d7df90819e 83 }
jpnovak 0:b8d7df90819e 84 return ;//*rmc2;
jpnovak 0:b8d7df90819e 85 }
jpnovak 0:b8d7df90819e 86
jpnovak 0:b8d7df90819e 87
jpnovak 0:b8d7df90819e 88 }
jpnovak 0:b8d7df90819e 89
jpnovak 0:b8d7df90819e 90
jpnovak 0:b8d7df90819e 91
jpnovak 0:b8d7df90819e 92 return;
jpnovak 0:b8d7df90819e 93 }