pulls data from SD and parses 1 line
Dependencies: 4DGL-uLCD-SE SDFileSystem mbed
main.cpp@0:956fa5e51717, 2016-11-10 (annotated)
- Committer:
- nlougen33
- Date:
- Thu Nov 10 21:53:02 2016 +0000
- Revision:
- 0:956fa5e51717
:)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nlougen33 | 0:956fa5e51717 | 1 | //SD Import from scratch |
nlougen33 | 0:956fa5e51717 | 2 | |
nlougen33 | 0:956fa5e51717 | 3 | #include "mbed.h" |
nlougen33 | 0:956fa5e51717 | 4 | #include "SDFileSystem.h" |
nlougen33 | 0:956fa5e51717 | 5 | #include "uLCD_4DGL.h" |
nlougen33 | 0:956fa5e51717 | 6 | uLCD_4DGL uLCD(p28,p27,p29); |
nlougen33 | 0:956fa5e51717 | 7 | SDFileSystem sd(p5, p6, p7, p8, "sd"); // the pinout on the mbed Cool Components workshop board |
nlougen33 | 0:956fa5e51717 | 8 | |
nlougen33 | 0:956fa5e51717 | 9 | const int MAX_CHARS_PER_LINE = 17; |
nlougen33 | 0:956fa5e51717 | 10 | const int MAX_TOKENS_PER_LINE = 4; |
nlougen33 | 0:956fa5e51717 | 11 | const char* const DELIMITER = " "; |
nlougen33 | 0:956fa5e51717 | 12 | |
nlougen33 | 0:956fa5e51717 | 13 | int main() { |
nlougen33 | 0:956fa5e51717 | 14 | // file reading object |
nlougen33 | 0:956fa5e51717 | 15 | FILE *fp = fopen("/sd/mydir/sdtest.txt", "r"); |
nlougen33 | 0:956fa5e51717 | 16 | char mytext[15]; |
nlougen33 | 0:956fa5e51717 | 17 | // fread(mytext, 15, 1, fp); |
nlougen33 | 0:956fa5e51717 | 18 | // uLCD.printf("%s", mytext); |
nlougen33 | 0:956fa5e51717 | 19 | char buf[MAX_CHARS_PER_LINE]; |
nlougen33 | 0:956fa5e51717 | 20 | // read each line of file |
nlougen33 | 0:956fa5e51717 | 21 | //while (!feof(fp)) // while not end of file |
nlougen33 | 0:956fa5e51717 | 22 | while (fgets(buf, sizeof(buf), fp)) |
nlougen33 | 0:956fa5e51717 | 23 | { |
nlougen33 | 0:956fa5e51717 | 24 | // read an entire line into memory |
nlougen33 | 0:956fa5e51717 | 25 | //fgets(buf,MAX_CHARS_PER_LINE,fp); //need to check this out |
nlougen33 | 0:956fa5e51717 | 26 | |
nlougen33 | 0:956fa5e51717 | 27 | //parse line into blank-delimited tokens |
nlougen33 | 0:956fa5e51717 | 28 | int n=0; // for-loop index |
nlougen33 | 0:956fa5e51717 | 29 | |
nlougen33 | 0:956fa5e51717 | 30 | // array to store memory addresses of the tokens in buf |
nlougen33 | 0:956fa5e51717 | 31 | const char* token[MAX_TOKENS_PER_LINE] = {}; // initialize to 0 |
nlougen33 | 0:956fa5e51717 | 32 | |
nlougen33 | 0:956fa5e51717 | 33 | char * pch; |
nlougen33 | 0:956fa5e51717 | 34 | //printf ("Splitting string \"%s\" into tokens:\n",str); |
nlougen33 | 0:956fa5e51717 | 35 | uLCD.printf("original buf: %s\n", buf); |
nlougen33 | 0:956fa5e51717 | 36 | pch = strtok (buf," "); |
nlougen33 | 0:956fa5e51717 | 37 | while (pch != NULL) |
nlougen33 | 0:956fa5e51717 | 38 | { |
nlougen33 | 0:956fa5e51717 | 39 | uLCD.printf("%s\n",pch); |
nlougen33 | 0:956fa5e51717 | 40 | pch = strtok (NULL, " "); |
nlougen33 | 0:956fa5e51717 | 41 | } |
nlougen33 | 0:956fa5e51717 | 42 | |
nlougen33 | 0:956fa5e51717 | 43 | // parse line |
nlougen33 | 0:956fa5e51717 | 44 | /* |
nlougen33 | 0:956fa5e51717 | 45 | token[0]=strtok(buf,DELIMITER); //reminder token |
nlougen33 | 0:956fa5e51717 | 46 | { |
nlougen33 | 0:956fa5e51717 | 47 | for (n = 1; n < MAX_TOKENS_PER_LINE; n++) |
nlougen33 | 0:956fa5e51717 | 48 | { |
nlougen33 | 0:956fa5e51717 | 49 | token[n] = strtok(, DELIMITER); // subsequent tokens |
nlougen33 | 0:956fa5e51717 | 50 | if (!token[n]) break; // no more tokens |
nlougen33 | 0:956fa5e51717 | 51 | } |
nlougen33 | 0:956fa5e51717 | 52 | }*/ |
nlougen33 | 0:956fa5e51717 | 53 | |
nlougen33 | 0:956fa5e51717 | 54 | // process the tokens |
nlougen33 | 0:956fa5e51717 | 55 | /* |
nlougen33 | 0:956fa5e51717 | 56 | for (int i = 0; i < n; i++) // n = #of tokens |
nlougen33 | 0:956fa5e51717 | 57 | |
nlougen33 | 0:956fa5e51717 | 58 | uLCD.printf("%s",token[i]); |
nlougen33 | 0:956fa5e51717 | 59 | */ |
nlougen33 | 0:956fa5e51717 | 60 | fclose(fp); |
nlougen33 | 0:956fa5e51717 | 61 | } |
nlougen33 | 0:956fa5e51717 | 62 | } |
nlougen33 | 0:956fa5e51717 | 63 | |
nlougen33 | 0:956fa5e51717 | 64 | |
nlougen33 | 0:956fa5e51717 | 65 | |
nlougen33 | 0:956fa5e51717 | 66 | // memcpy( hour, &arr_time[0], 2 ); |
nlougen33 | 0:956fa5e51717 | 67 | // memcpy( min, &arr_time[3], 2 ); |
nlougen33 | 0:956fa5e51717 | 68 | |
nlougen33 | 0:956fa5e51717 | 69 | // arrival_hour = atoi(hour); |
nlougen33 | 0:956fa5e51717 | 70 | // arrival_min = atoi(min); |
nlougen33 | 0:956fa5e51717 | 71 | //uLCD.printf("\narrival hour is %d\n",arrival_hour); |
nlougen33 | 0:956fa5e51717 | 72 | //uLCD.printf("arrival min is %d\n",arrival_min); |
nlougen33 | 0:956fa5e51717 | 73 | |
nlougen33 | 0:956fa5e51717 | 74 | //ready_time = atoi(r_time); |
nlougen33 | 0:956fa5e51717 | 75 | //uLCD.printf("\nString ready time is %s",r_time); |
nlougen33 | 0:956fa5e51717 | 76 | // uLCD.printf("Ready Time is %d\n",ready_time); |
nlougen33 | 0:956fa5e51717 | 77 | //uLCD.printf("start address is %s\n", start_add); |
nlougen33 | 0:956fa5e51717 | 78 | //uLCD.printf("dest address is %s\n", dest_add); |
nlougen33 | 0:956fa5e51717 | 79 | |
nlougen33 | 0:956fa5e51717 | 80 | |
nlougen33 | 0:956fa5e51717 | 81 | |
nlougen33 | 0:956fa5e51717 | 82 | |
nlougen33 | 0:956fa5e51717 | 83 |