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@3:6085916c9d74, 2015-05-20 (annotated)
- 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?
User | Revision | Line number | New 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 | } |