Initial Publish Leaning GPS/SDCARD

Dependencies:   FileManager GPSGms6 SDFileSystem mbed

Fork of 2545_SD_Card by Craig Evans

Committer:
Lucyjungz
Date:
Mon May 09 11:38:22 2016 +0000
Revision:
9:4d0c81290638
Parent:
8:8d26ce37febc
Child:
10:43fc07923c7f
GPS support return in tm struct

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eencae 0:5448330e1a33 1 #include "mbed.h"
eencae 0:5448330e1a33 2 #include "SDFileSystem.h"
Lucyjungz 1:f911149acd35 3 #include "GPSGms6.h"
Lucyjungz 2:c96b02fcb98e 4 #include "FileManager.h"
Lucyjungz 1:f911149acd35 5
eencae 0:5448330e1a33 6
eencae 0:5448330e1a33 7 // Connections to SD card holder on K64F (SPI interface)
Lucyjungz 1:f911149acd35 8 SDFileSystem sd(PA_7, PA_6, PA_5, PA_0, "sd"); // MOSI, MISO, SCK, CS
eencae 0:5448330e1a33 9 Serial serial(USBTX, USBRX); // for PC debug
Lucyjungz 1:f911149acd35 10 GPSGms6 gps;
Lucyjungz 1:f911149acd35 11 Timeout t1;
Lucyjungz 1:f911149acd35 12 DigitalOut myled(LED1);
Lucyjungz 1:f911149acd35 13
Lucyjungz 2:c96b02fcb98e 14 float gps_interval = 3;
Lucyjungz 2:c96b02fcb98e 15
Lucyjungz 2:c96b02fcb98e 16
Lucyjungz 6:a05ec997c496 17 void t1out(void)
Lucyjungz 6:a05ec997c496 18 {
Lucyjungz 6:a05ec997c496 19 myled = !myled;
Lucyjungz 1:f911149acd35 20 printf("\r\nGps header = %s", gps.latestGPRMC().header);
Lucyjungz 1:f911149acd35 21 printf("\r\nGps status = %s", gps.latestGPRMC().status);
Lucyjungz 1:f911149acd35 22 printf("\r\nGps time = %s", gps.latestGPRMC().time);
Lucyjungz 1:f911149acd35 23 printf("\r\nGps date = %s", gps.latestGPRMC().date);
Lucyjungz 1:f911149acd35 24 printf("\r\nGps lat = %s", gps.latestGPRMC().latitude);
Lucyjungz 1:f911149acd35 25 printf("\r\nGps long = %s", gps.latestGPRMC().longitude);
Lucyjungz 1:f911149acd35 26 printf("\r\nGps indicator = %s", gps.latestGPRMC().indicator);
Lucyjungz 6:a05ec997c496 27
Lucyjungz 2:c96b02fcb98e 28 logGPSData( gps.latestGPRMC().date, gps.latestGPRMC().time);
Lucyjungz 4:aa7ac2ac6913 29 serial.printf("\r\n#### Restart Timer #####");
Lucyjungz 7:ffaa90a12f00 30
Lucyjungz 9:4d0c81290638 31 tm t = gps.UTCTime();
Lucyjungz 9:4d0c81290638 32 printf("\r\n UTC Time is %d/%d/%d %d:%d", t.tm_mday , t.tm_mon , t.tm_year , t.tm_hour, t.tm_min);
Lucyjungz 9:4d0c81290638 33
Lucyjungz 7:ffaa90a12f00 34 time_t seconds = time(NULL);
Lucyjungz 8:8d26ce37febc 35 printf("\r\nTime as a basic string = %s", ctime(&seconds));
Lucyjungz 2:c96b02fcb98e 36 t1.attach(&t1out,gps_interval);
Lucyjungz 1:f911149acd35 37 }
eencae 0:5448330e1a33 38
eencae 0:5448330e1a33 39 int main()
eencae 0:5448330e1a33 40 {
Lucyjungz 1:f911149acd35 41 serial.baud(9600); // full-speed!
Lucyjungz 8:8d26ce37febc 42 serial.printf("\r\n#### SD Card Initialization #####");
Lucyjungz 9:4d0c81290638 43 wait(1);
eencae 0:5448330e1a33 44
Lucyjungz 2:c96b02fcb98e 45 ////////////////////// read Setup File //////////////////////////
Lucyjungz 2:c96b02fcb98e 46 readSetupFile();
Lucyjungz 2:c96b02fcb98e 47 gps_interval = (float)GPSInterval()/1000;
Lucyjungz 6:a05ec997c496 48
Lucyjungz 4:aa7ac2ac6913 49 Variable_Data_TypeDef * var_list = readVarFile();
Lucyjungz 2:c96b02fcb98e 50 logSystemData(gps_interval);
Lucyjungz 6:a05ec997c496 51
Lucyjungz 5:07aaa6e3784c 52 unsigned int amount = getAmountVarList();
Lucyjungz 6:a05ec997c496 53 for (int i = 0; i < amount ; i++) {
Lucyjungz 5:07aaa6e3784c 54 serial.printf("\r\n var name = %s ",var_list[i].varName);
Lucyjungz 4:aa7ac2ac6913 55 serial.printf("\r\n first addr name = %s ",var_list[i].varAddress);
Lucyjungz 4:aa7ac2ac6913 56 }
Lucyjungz 6:a05ec997c496 57
eencae 0:5448330e1a33 58 ///////////////////////////////////////////////////
Lucyjungz 8:8d26ce37febc 59 serial.printf("\r\n#### End of SD Card Initialization #####");
Lucyjungz 4:aa7ac2ac6913 60 gps.start_GPS();
Lucyjungz 2:c96b02fcb98e 61 t1.attach(&t1out,gps_interval);
Lucyjungz 7:ffaa90a12f00 62
Lucyjungz 7:ffaa90a12f00 63 set_time(1256729737); // Set RTC time to Wed, 28 Oct 2009 11:35:37
Lucyjungz 1:f911149acd35 64 while(1);
eencae 0:5448330e1a33 65 }
eencae 0:5448330e1a33 66
Lucyjungz 2:c96b02fcb98e 67