Initial Publish Leaning GPS/SDCARD

Dependencies:   FileManager GPSGms6 SDFileSystem mbed

Fork of 2545_SD_Card by Craig Evans

Committer:
Lucyjungz
Date:
Mon May 09 08:59:23 2016 +0000
Revision:
4:aa7ac2ac6913
Parent:
3:78eaf4291b84
Child:
5:07aaa6e3784c
read variable list from another xml file

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eencae 0:5448330e1a33 1 /* 2545_SD_Card Example
eencae 0:5448330e1a33 2
eencae 0:5448330e1a33 3 Example of writing data to SD card.
eencae 0:5448330e1a33 4
eencae 0:5448330e1a33 5 Based on FTF2014_lab4 Example
eencae 0:5448330e1a33 6
eencae 0:5448330e1a33 7 https://developer.mbed.org/teams/Freescale/wiki/FTF2014_workshop
eencae 0:5448330e1a33 8
eencae 0:5448330e1a33 9 Craig A. Evans, University of Leeds, Mar 2016
eencae 0:5448330e1a33 10
eencae 0:5448330e1a33 11 */
eencae 0:5448330e1a33 12
eencae 0:5448330e1a33 13 #include "mbed.h"
eencae 0:5448330e1a33 14 #include "SDFileSystem.h"
Lucyjungz 1:f911149acd35 15 #include "GPSGms6.h"
Lucyjungz 2:c96b02fcb98e 16 #include "FileManager.h"
Lucyjungz 1:f911149acd35 17
eencae 0:5448330e1a33 18
eencae 0:5448330e1a33 19 // Connections to SD card holder on K64F (SPI interface)
Lucyjungz 1:f911149acd35 20 SDFileSystem sd(PA_7, PA_6, PA_5, PA_0, "sd"); // MOSI, MISO, SCK, CS
eencae 0:5448330e1a33 21 Serial serial(USBTX, USBRX); // for PC debug
Lucyjungz 1:f911149acd35 22 GPSGms6 gps;
Lucyjungz 1:f911149acd35 23 Timeout t1;
Lucyjungz 1:f911149acd35 24 DigitalOut myled(LED1);
Lucyjungz 1:f911149acd35 25
Lucyjungz 2:c96b02fcb98e 26 float gps_interval = 3;
Lucyjungz 2:c96b02fcb98e 27
Lucyjungz 2:c96b02fcb98e 28
Lucyjungz 1:f911149acd35 29 void t1out(void)
Lucyjungz 1:f911149acd35 30 {
Lucyjungz 1:f911149acd35 31 myled = !myled;
Lucyjungz 1:f911149acd35 32 printf("\r\nGps header = %s", gps.latestGPRMC().header);
Lucyjungz 1:f911149acd35 33 printf("\r\nGps status = %s", gps.latestGPRMC().status);
Lucyjungz 1:f911149acd35 34 printf("\r\nGps time = %s", gps.latestGPRMC().time);
Lucyjungz 1:f911149acd35 35 printf("\r\nGps date = %s", gps.latestGPRMC().date);
Lucyjungz 1:f911149acd35 36 printf("\r\nGps lat = %s", gps.latestGPRMC().latitude);
Lucyjungz 1:f911149acd35 37 printf("\r\nGps long = %s", gps.latestGPRMC().longitude);
Lucyjungz 1:f911149acd35 38 printf("\r\nGps indicator = %s", gps.latestGPRMC().indicator);
Lucyjungz 2:c96b02fcb98e 39
Lucyjungz 2:c96b02fcb98e 40 logGPSData( gps.latestGPRMC().date, gps.latestGPRMC().time);
Lucyjungz 4:aa7ac2ac6913 41 serial.printf("\r\n#### Restart Timer #####");
Lucyjungz 2:c96b02fcb98e 42 t1.attach(&t1out,gps_interval);
Lucyjungz 1:f911149acd35 43 }
eencae 0:5448330e1a33 44
eencae 0:5448330e1a33 45 int main()
eencae 0:5448330e1a33 46 {
Lucyjungz 1:f911149acd35 47 serial.baud(9600); // full-speed!
Lucyjungz 2:c96b02fcb98e 48 serial.printf("\n#### SD Card Initialization #####");
Lucyjungz 3:78eaf4291b84 49 // wait(1);
eencae 0:5448330e1a33 50
Lucyjungz 2:c96b02fcb98e 51 ////////////////////// read Setup File //////////////////////////
Lucyjungz 2:c96b02fcb98e 52 readSetupFile();
Lucyjungz 2:c96b02fcb98e 53 gps_interval = (float)GPSInterval()/1000;
Lucyjungz 4:aa7ac2ac6913 54
Lucyjungz 4:aa7ac2ac6913 55 Variable_Data_TypeDef * var_list = readVarFile();
Lucyjungz 2:c96b02fcb98e 56 logSystemData(gps_interval);
eencae 0:5448330e1a33 57
Lucyjungz 4:aa7ac2ac6913 58 unsigned int amount = getVarListAmount();
Lucyjungz 4:aa7ac2ac6913 59 for (int i = 0; i < amount ; i++)
Lucyjungz 4:aa7ac2ac6913 60 {
Lucyjungz 4:aa7ac2ac6913 61 serial.printf("\r\n first var name = %s ",var_list[i].varName);
Lucyjungz 4:aa7ac2ac6913 62 serial.printf("\r\n first addr name = %s ",var_list[i].varAddress);
Lucyjungz 4:aa7ac2ac6913 63 }
Lucyjungz 4:aa7ac2ac6913 64
eencae 0:5448330e1a33 65 ///////////////////////////////////////////////////
Lucyjungz 2:c96b02fcb98e 66 serial.printf("\n End of SD Card Initialization ");
Lucyjungz 4:aa7ac2ac6913 67 gps.start_GPS();
Lucyjungz 2:c96b02fcb98e 68 t1.attach(&t1out,gps_interval);
Lucyjungz 1:f911149acd35 69 while(1);
eencae 0:5448330e1a33 70 }
eencae 0:5448330e1a33 71
Lucyjungz 2:c96b02fcb98e 72