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
sd.cpp
- Committer:
- rlinnmoran
- Date:
- 2015-05-20
- Revision:
- 3:6085916c9d74
- Parent:
- 2:bcd60a69583f
File content as of revision 3:6085916c9d74:
#include "mbed.h" #include "SDFileSystem.h" #include "debug.h" //#include "main.h" int sd_append(char*); DigitalIn sdDetect(PTE6,PullDown); // SD Detect Pin SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); // MOSI, MISO, SCK, CS FILE *fp; //Serial pc(USBTX, USBRX); char buffer[1024]; double utc = 123456.34; double mg = 123.4; double la = 12345.67; int sd_append(char* CSVOutput) { D(printf("Booting... SD Preset?=%d\r\n",sdDetect.read())); // Test to see if SD card is present, if not return. if (sdDetect == NULL){ D(printf("No SD card present\r\n")); return -1; } D(printf("Initializing \r\n")); /* fp = fopen("/sd/metaData.csv", "r"); if (fp != NULL) { fclose(fp); //remove("/sd/hello.txt"); D(printf("Could not open file\n")); return -1; } */ D(printf("Appending data to the sd card \r\n")); fp = fopen("/sd/metaData.csv", "a"); if (fp == NULL) { D(printf("Unable to write the file \r\n")); } else { fprintf(fp, "%s", CSVOutput); fclose(fp); D(printf("File successfully written! \r\n")); return -1; } /* printf("\nReading data from the SD card. \r\n"); fp = fopen("/sd/metaData.csv", "r"); if (fp != NULL) { int size = fread(buffer, sizeof(char), 1024, fp); printf("Number of data read: %d, text from hello.txt file: %s \r\n", size, buffer); fclose(fp); } //printf("End of Lab 4. \n"); */ return 0; }