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:
Wed May 20 07:14:22 2015 +0000
Revision:
3:6085916c9d74
Parent:
2:bcd60a69583f
First release V1_0

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 2:bcd60a69583f 3 #include "debug.h"
rlinnmoran 0:77857a36b4ff 4 //#include "main.h"
rlinnmoran 0:77857a36b4ff 5
rlinnmoran 0:77857a36b4ff 6 int sd_append(char*);
rlinnmoran 0:77857a36b4ff 7
rlinnmoran 2:bcd60a69583f 8 DigitalIn sdDetect(PTE6,PullDown); // SD Detect Pin
rlinnmoran 2:bcd60a69583f 9
rlinnmoran 2:bcd60a69583f 10
rlinnmoran 0:77857a36b4ff 11 SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); // MOSI, MISO, SCK, CS
rlinnmoran 0:77857a36b4ff 12 FILE *fp;
rlinnmoran 0:77857a36b4ff 13 //Serial pc(USBTX, USBRX);
rlinnmoran 0:77857a36b4ff 14 char buffer[1024];
rlinnmoran 0:77857a36b4ff 15
rlinnmoran 0:77857a36b4ff 16 double utc = 123456.34;
rlinnmoran 0:77857a36b4ff 17 double mg = 123.4;
rlinnmoran 0:77857a36b4ff 18 double la = 12345.67;
rlinnmoran 0:77857a36b4ff 19
rlinnmoran 0:77857a36b4ff 20 int sd_append(char* CSVOutput) {
rlinnmoran 2:bcd60a69583f 21
rlinnmoran 2:bcd60a69583f 22 D(printf("Booting... SD Preset?=%d\r\n",sdDetect.read()));
rlinnmoran 2:bcd60a69583f 23
rlinnmoran 2:bcd60a69583f 24 // Test to see if SD card is present, if not return.
rlinnmoran 2:bcd60a69583f 25 if (sdDetect == NULL){
rlinnmoran 2:bcd60a69583f 26 D(printf("No SD card present\r\n"));
rlinnmoran 2:bcd60a69583f 27 return -1;
rlinnmoran 2:bcd60a69583f 28 }
rlinnmoran 2:bcd60a69583f 29
rlinnmoran 2:bcd60a69583f 30
rlinnmoran 2:bcd60a69583f 31 D(printf("Initializing \r\n"));
rlinnmoran 0:77857a36b4ff 32
rlinnmoran 2:bcd60a69583f 33 /*
rlinnmoran 0:77857a36b4ff 34 fp = fopen("/sd/metaData.csv", "r");
rlinnmoran 0:77857a36b4ff 35 if (fp != NULL) {
rlinnmoran 0:77857a36b4ff 36 fclose(fp);
rlinnmoran 0:77857a36b4ff 37 //remove("/sd/hello.txt");
rlinnmoran 2:bcd60a69583f 38 D(printf("Could not open file\n"));
rlinnmoran 2:bcd60a69583f 39 return -1;
rlinnmoran 0:77857a36b4ff 40 }
rlinnmoran 2:bcd60a69583f 41 */
rlinnmoran 0:77857a36b4ff 42
rlinnmoran 2:bcd60a69583f 43 D(printf("Appending data to the sd card \r\n"));
rlinnmoran 0:77857a36b4ff 44 fp = fopen("/sd/metaData.csv", "a");
rlinnmoran 0:77857a36b4ff 45 if (fp == NULL) {
rlinnmoran 2:bcd60a69583f 46 D(printf("Unable to write the file \r\n"));
rlinnmoran 0:77857a36b4ff 47 } else {
rlinnmoran 0:77857a36b4ff 48 fprintf(fp, "%s", CSVOutput);
rlinnmoran 0:77857a36b4ff 49 fclose(fp);
rlinnmoran 2:bcd60a69583f 50 D(printf("File successfully written! \r\n"));
rlinnmoran 2:bcd60a69583f 51 return -1;
rlinnmoran 0:77857a36b4ff 52 }
rlinnmoran 0:77857a36b4ff 53
rlinnmoran 0:77857a36b4ff 54 /*
rlinnmoran 0:77857a36b4ff 55 printf("\nReading data from the SD card. \r\n");
rlinnmoran 0:77857a36b4ff 56 fp = fopen("/sd/metaData.csv", "r");
rlinnmoran 0:77857a36b4ff 57 if (fp != NULL) {
rlinnmoran 0:77857a36b4ff 58 int size = fread(buffer, sizeof(char), 1024, fp);
rlinnmoran 0:77857a36b4ff 59 printf("Number of data read: %d, text from hello.txt file: %s \r\n", size, buffer);
rlinnmoran 0:77857a36b4ff 60 fclose(fp);
rlinnmoran 0:77857a36b4ff 61 }
rlinnmoran 0:77857a36b4ff 62 //printf("End of Lab 4. \n");
rlinnmoran 0:77857a36b4ff 63 */
rlinnmoran 0:77857a36b4ff 64 return 0;
rlinnmoran 0:77857a36b4ff 65 }