pulls data from SD and parses 1 line

Dependencies:   4DGL-uLCD-SE SDFileSystem mbed

Committer:
nlougen33
Date:
Thu Nov 10 21:53:02 2016 +0000
Revision:
0:956fa5e51717
:)

Who changed what in which revision?

UserRevisionLine numberNew 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