10Hz GPS, MEgasquirt, SD Card, ADxl345, 20x4 LCD datalogger
Dependencies: ADXL345 10HzGPSdatalogger mbed
gps.h@0:b8d7df90819e, 2015-11-28 (annotated)
- 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?
User | Revision | Line number | New 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 | } |