K64F based data logger for GPS (ublox MAX M8Q) & 6 Axis Sensor (FXOS8700Q) - Outputs to SD + UDP - Uses FRDM K64F + ublox "Cellular and positioning shield" (3G version)

Dependencies:   MAX_M8Q_Capture EthernetInterface FXOS8700Q SDFileSystem eCompass_FPU_Lib mbed-rtos mbed

Committer:
rlinnmoran
Date:
Fri Mar 27 08:35:29 2015 +0000
Revision:
0:77857a36b4ff
Child:
2:bcd60a69583f
Initial version.; ; Working:; - Capture GPS ; - Capture 6 Axis; - Write to CVS on SD (crude); ; Issues:; - Update freq slow (5s); - No UDP; - Improve SD functions; - Clean MetaData class code + docs; - No status led, start/stop button; - Param for printf's

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rlinnmoran 0:77857a36b4ff 1 #include "mbed.h"
rlinnmoran 0:77857a36b4ff 2 #include "SDFileSystem.h"
rlinnmoran 0:77857a36b4ff 3 //#include "main.h"
rlinnmoran 0:77857a36b4ff 4
rlinnmoran 0:77857a36b4ff 5 int sd_append(char*);
rlinnmoran 0:77857a36b4ff 6
rlinnmoran 0:77857a36b4ff 7 SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); // MOSI, MISO, SCK, CS
rlinnmoran 0:77857a36b4ff 8 FILE *fp;
rlinnmoran 0:77857a36b4ff 9 //Serial pc(USBTX, USBRX);
rlinnmoran 0:77857a36b4ff 10 char buffer[1024];
rlinnmoran 0:77857a36b4ff 11
rlinnmoran 0:77857a36b4ff 12 double utc = 123456.34;
rlinnmoran 0:77857a36b4ff 13 double mg = 123.4;
rlinnmoran 0:77857a36b4ff 14 double la = 12345.67;
rlinnmoran 0:77857a36b4ff 15
rlinnmoran 0:77857a36b4ff 16 int sd_append(char* CSVOutput) {
rlinnmoran 0:77857a36b4ff 17 printf("Initializing \n");
rlinnmoran 0:77857a36b4ff 18 wait(2);
rlinnmoran 0:77857a36b4ff 19
rlinnmoran 0:77857a36b4ff 20 fp = fopen("/sd/metaData.csv", "r");
rlinnmoran 0:77857a36b4ff 21 if (fp != NULL) {
rlinnmoran 0:77857a36b4ff 22 fclose(fp);
rlinnmoran 0:77857a36b4ff 23 //remove("/sd/hello.txt");
rlinnmoran 0:77857a36b4ff 24 printf("Could not open file\n");
rlinnmoran 0:77857a36b4ff 25 }
rlinnmoran 0:77857a36b4ff 26
rlinnmoran 0:77857a36b4ff 27
rlinnmoran 0:77857a36b4ff 28 printf("\r\nAppending data to the sd card \r\n");
rlinnmoran 0:77857a36b4ff 29 fp = fopen("/sd/metaData.csv", "a");
rlinnmoran 0:77857a36b4ff 30 if (fp == NULL) {
rlinnmoran 0:77857a36b4ff 31 printf("Unable to write the file \r\n");
rlinnmoran 0:77857a36b4ff 32 } else {
rlinnmoran 0:77857a36b4ff 33 fprintf(fp, "%s", CSVOutput);
rlinnmoran 0:77857a36b4ff 34 fclose(fp);
rlinnmoran 0:77857a36b4ff 35 printf("File successfully written! \r\n");
rlinnmoran 0:77857a36b4ff 36 }
rlinnmoran 0:77857a36b4ff 37
rlinnmoran 0:77857a36b4ff 38 /*
rlinnmoran 0:77857a36b4ff 39 printf("\nReading data from the SD card. \r\n");
rlinnmoran 0:77857a36b4ff 40 fp = fopen("/sd/metaData.csv", "r");
rlinnmoran 0:77857a36b4ff 41 if (fp != NULL) {
rlinnmoran 0:77857a36b4ff 42 int size = fread(buffer, sizeof(char), 1024, fp);
rlinnmoran 0:77857a36b4ff 43 printf("Number of data read: %d, text from hello.txt file: %s \r\n", size, buffer);
rlinnmoran 0:77857a36b4ff 44 fclose(fp);
rlinnmoran 0:77857a36b4ff 45 }
rlinnmoran 0:77857a36b4ff 46 //printf("End of Lab 4. \n");
rlinnmoran 0:77857a36b4ff 47 */
rlinnmoran 0:77857a36b4ff 48 return 0;
rlinnmoran 0:77857a36b4ff 49 }