SD card parse delimiters

Dependencies:   4DGL-uLCD-SE SDFileSystem mbed

Fork of SDFileSystem_HelloWorld by mbed official

Committer:
deronmai
Date:
Thu Apr 28 00:48:45 2016 +0000
Revision:
1:2d4f37839b50
Parent:
0:bdbd3d6fc5d5
sdfile commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:bdbd3d6fc5d5 1 #include "mbed.h"
mbed_official 0:bdbd3d6fc5d5 2 #include "SDFileSystem.h"
deronmai 1:2d4f37839b50 3
deronmai 1:2d4f37839b50 4 #include "uLCD_4DGL.h"
mbed_official 0:bdbd3d6fc5d5 5
deronmai 1:2d4f37839b50 6 uLCD_4DGL uLCD(p28,p27,p29);
deronmai 1:2d4f37839b50 7
deronmai 1:2d4f37839b50 8 SDFileSystem sd(p11, p12, p13, p14, "sd"); // the pinout on the mbed Cool Components workshop board
mbed_official 0:bdbd3d6fc5d5 9
mbed_official 0:bdbd3d6fc5d5 10 int main() {
deronmai 1:2d4f37839b50 11 //printf("Hello World!\n");
deronmai 1:2d4f37839b50 12
deronmai 1:2d4f37839b50 13 //mkdir("/sd/mydir", 0777);
deronmai 1:2d4f37839b50 14 char c;
deronmai 1:2d4f37839b50 15 FILE *fp = fopen("/sd/mydir/sdtest.txt", "r");
deronmai 1:2d4f37839b50 16 if(fp == NULL) {
deronmai 1:2d4f37839b50 17 error("Could not open file for read\n");
deronmai 1:2d4f37839b50 18 }
deronmai 1:2d4f37839b50 19 int count = 0;
deronmai 1:2d4f37839b50 20 int i;
deronmai 1:2d4f37839b50 21 char arr_time[8] = "";
deronmai 1:2d4f37839b50 22 char hour[3], min[3];
deronmai 1:2d4f37839b50 23 int arrival_hour;
deronmai 1:2d4f37839b50 24 int arrival_min;
deronmai 1:2d4f37839b50 25 char r_time[8] = "";
deronmai 1:2d4f37839b50 26 int ready_time = 0;
deronmai 1:2d4f37839b50 27 char start_add[32] = ""; // start location address
deronmai 1:2d4f37839b50 28 char dest_add[32] = ""; // destination address
mbed_official 0:bdbd3d6fc5d5 29
deronmai 1:2d4f37839b50 30 while (!feof(fp)){ // while not end of file
deronmai 1:2d4f37839b50 31 c=fgetc(fp); // get a character/byte from the file
deronmai 1:2d4f37839b50 32 uLCD.printf("%c",c);
deronmai 1:2d4f37839b50 33 if (c == '@') {
deronmai 1:2d4f37839b50 34 count++; // specifies what data (eg. arrival time, ready time, etc)
deronmai 1:2d4f37839b50 35 i = 0;
deronmai 1:2d4f37839b50 36 }
deronmai 1:2d4f37839b50 37 else {
deronmai 1:2d4f37839b50 38 //uLCD.printf("%d",count);
deronmai 1:2d4f37839b50 39 switch (count) {
deronmai 1:2d4f37839b50 40 case 0: // arrival time
deronmai 1:2d4f37839b50 41 arr_time[i] = c;
deronmai 1:2d4f37839b50 42 i++;
deronmai 1:2d4f37839b50 43 break;
deronmai 1:2d4f37839b50 44 case 1: // ready time (min)
deronmai 1:2d4f37839b50 45 r_time[i] = c;
deronmai 1:2d4f37839b50 46 i++;
deronmai 1:2d4f37839b50 47 break;
deronmai 1:2d4f37839b50 48 case 2: // start address
deronmai 1:2d4f37839b50 49 start_add[i] = c;
deronmai 1:2d4f37839b50 50 i++;
deronmai 1:2d4f37839b50 51 break;
deronmai 1:2d4f37839b50 52 case 3: // destination address
deronmai 1:2d4f37839b50 53 dest_add[i] = c;
deronmai 1:2d4f37839b50 54 i++;
deronmai 1:2d4f37839b50 55 break;
deronmai 1:2d4f37839b50 56 default:
deronmai 1:2d4f37839b50 57 error("too many & detected\n");
deronmai 1:2d4f37839b50 58 break;
deronmai 1:2d4f37839b50 59 }
deronmai 1:2d4f37839b50 60
deronmai 1:2d4f37839b50 61 //uLCD.printf("Read from file %02x\n\r",c); // and show it in hex format
deronmai 1:2d4f37839b50 62 }
mbed_official 0:bdbd3d6fc5d5 63 }
deronmai 1:2d4f37839b50 64 memcpy( hour, &arr_time[0], 2 );
deronmai 1:2d4f37839b50 65 memcpy( min, &arr_time[3], 2 );
deronmai 1:2d4f37839b50 66
deronmai 1:2d4f37839b50 67 arrival_hour = atoi(hour);
deronmai 1:2d4f37839b50 68 arrival_min = atoi(min);
deronmai 1:2d4f37839b50 69 uLCD.printf("\narrival hour is %d\n",arrival_hour);
deronmai 1:2d4f37839b50 70 uLCD.printf("arrival min is %d\n",arrival_min);
deronmai 1:2d4f37839b50 71
deronmai 1:2d4f37839b50 72 ready_time = atoi(r_time);
deronmai 1:2d4f37839b50 73 //uLCD.printf("\nString ready time is %s",r_time);
deronmai 1:2d4f37839b50 74 uLCD.printf("Ready Time is %d\n",ready_time);
deronmai 1:2d4f37839b50 75 uLCD.printf("start address is %s\n", start_add);
deronmai 1:2d4f37839b50 76 uLCD.printf("dest address is %s\n", dest_add);
deronmai 1:2d4f37839b50 77
deronmai 1:2d4f37839b50 78
deronmai 1:2d4f37839b50 79
deronmai 1:2d4f37839b50 80
deronmai 1:2d4f37839b50 81 //fprintf(fp, "Hello fun SD Card World!");
mbed_official 0:bdbd3d6fc5d5 82 fclose(fp);
mbed_official 0:bdbd3d6fc5d5 83
deronmai 1:2d4f37839b50 84 //printf("Goodbye World!\n");
mbed_official 0:bdbd3d6fc5d5 85 }