testing out sd card on sensor pod

Dependencies:   SDFileSystem mbed

Fork of frdm-sdcard by Seiya Ono

Committer:
seiya1225
Date:
Fri Aug 10 16:57:19 2018 +0000
Revision:
0:a3e9377ba6a5
Publish sd card test code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
seiya1225 0:a3e9377ba6a5 1 #include "mbed.h"
seiya1225 0:a3e9377ba6a5 2 #include "SDFileSystem.h"
seiya1225 0:a3e9377ba6a5 3
seiya1225 0:a3e9377ba6a5 4 SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); // MOSI, MISO, SCK, CS
seiya1225 0:a3e9377ba6a5 5 DigitalIn sd_cs(PTA16);
seiya1225 0:a3e9377ba6a5 6 Serial pc(USBTX, USBRX);
seiya1225 0:a3e9377ba6a5 7 FILE *fp;
seiya1225 0:a3e9377ba6a5 8
seiya1225 0:a3e9377ba6a5 9 uint32_t do_list(const char *fsrc)
seiya1225 0:a3e9377ba6a5 10 {
seiya1225 0:a3e9377ba6a5 11 DIR *d = opendir(fsrc);
seiya1225 0:a3e9377ba6a5 12 struct dirent *p;
seiya1225 0:a3e9377ba6a5 13 uint32_t counter = 0;
seiya1225 0:a3e9377ba6a5 14
seiya1225 0:a3e9377ba6a5 15 while ((p = readdir(d)) != NULL) {
seiya1225 0:a3e9377ba6a5 16 counter++;
seiya1225 0:a3e9377ba6a5 17 printf("%s\n", p->d_name);
seiya1225 0:a3e9377ba6a5 18 }
seiya1225 0:a3e9377ba6a5 19 closedir(d);
seiya1225 0:a3e9377ba6a5 20 return counter;
seiya1225 0:a3e9377ba6a5 21 }
seiya1225 0:a3e9377ba6a5 22
seiya1225 0:a3e9377ba6a5 23 int main()
seiya1225 0:a3e9377ba6a5 24 {
seiya1225 0:a3e9377ba6a5 25 pc.printf("Initializing \n\r");
seiya1225 0:a3e9377ba6a5 26 wait(1);
seiya1225 0:a3e9377ba6a5 27 pc.printf("Opening nyah/nyoho.txt\n\r");
seiya1225 0:a3e9377ba6a5 28
seiya1225 0:a3e9377ba6a5 29 wait(1);
seiya1225 0:a3e9377ba6a5 30 fp = fopen("/sd/nyah/nyoho.txt", "r+");
seiya1225 0:a3e9377ba6a5 31
seiya1225 0:a3e9377ba6a5 32 if (fp == NULL) {
seiya1225 0:a3e9377ba6a5 33 pc.printf("Unable to open the file \r\n");
seiya1225 0:a3e9377ba6a5 34 } else {
seiya1225 0:a3e9377ba6a5 35 pc.printf("\n\rFile pointer address: 0x%X\n\r", &fp);
seiya1225 0:a3e9377ba6a5 36
seiya1225 0:a3e9377ba6a5 37 pc.printf("\n\rWriting to nyah/nyoho.txt\n\r");
seiya1225 0:a3e9377ba6a5 38 wait(0.25);
seiya1225 0:a3e9377ba6a5 39
seiya1225 0:a3e9377ba6a5 40 fprintf(fp, "The quick brown fox jumps over the lazy dog");
seiya1225 0:a3e9377ba6a5 41
seiya1225 0:a3e9377ba6a5 42 rewind(fp);
seiya1225 0:a3e9377ba6a5 43 fprintf(fp, "Seiya is trying to eat the SD card please stop him");
seiya1225 0:a3e9377ba6a5 44 wait(0.25);
seiya1225 0:a3e9377ba6a5 45
seiya1225 0:a3e9377ba6a5 46 pc.printf("\n\rFlushing the buffer...\n\r");
seiya1225 0:a3e9377ba6a5 47 int flush = fflush(fp);
seiya1225 0:a3e9377ba6a5 48 wait(0.25);
seiya1225 0:a3e9377ba6a5 49 if (flush == 0) pc.printf("Flush Successful!\n\r");
seiya1225 0:a3e9377ba6a5 50 else pc.printf("**WARNING** Flush Failed\n\r");
seiya1225 0:a3e9377ba6a5 51 }
seiya1225 0:a3e9377ba6a5 52 wait(1);
seiya1225 0:a3e9377ba6a5 53 fclose(fp);
seiya1225 0:a3e9377ba6a5 54 pc.printf("\n\rDone\r\n");
seiya1225 0:a3e9377ba6a5 55 wait(1);
seiya1225 0:a3e9377ba6a5 56 exit(3);
seiya1225 0:a3e9377ba6a5 57 }