SD card parse delimiters
Dependencies: 4DGL-uLCD-SE SDFileSystem mbed
Fork of SDFileSystem_HelloWorld by
main.cpp@1:2d4f37839b50, 2016-04-28 (annotated)
- 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?
User | Revision | Line number | New 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 | } |