
untested
Dependencies: SDFileSystem mbed
main.cpp@2:1ee5d99a9bae, 2017-11-10 (annotated)
- Committer:
- nnguyen45
- Date:
- Fri Nov 10 02:48:53 2017 +0000
- Revision:
- 2:1ee5d99a9bae
- Parent:
- 0:276de3654c32
- Child:
- 3:734f4f80832c
restructured logic
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nnguyen45 | 0:276de3654c32 | 1 | #include "mbed.h" |
nnguyen45 | 0:276de3654c32 | 2 | #include <string> |
nnguyen45 | 0:276de3654c32 | 3 | #include <iostream> |
nnguyen45 | 0:276de3654c32 | 4 | using namespace std; |
nnguyen45 | 0:276de3654c32 | 5 | //Emic 2 Hello Speech World Demo |
nnguyen45 | 0:276de3654c32 | 6 | #include "SDFileSystem.h" |
nnguyen45 | 2:1ee5d99a9bae | 7 | Serial pc(USBTX,USBRX); |
nnguyen45 | 0:276de3654c32 | 8 | |
nnguyen45 | 0:276de3654c32 | 9 | SDFileSystem sd(p5, p6, p7, p8, "sd"); // the pinout on the mbed Cool Components workshop board |
nnguyen45 | 0:276de3654c32 | 10 | |
nnguyen45 | 0:276de3654c32 | 11 | DigitalOut myled(LED1); |
nnguyen45 | 0:276de3654c32 | 12 | |
nnguyen45 | 0:276de3654c32 | 13 | int main() |
nnguyen45 | 0:276de3654c32 | 14 | { |
nnguyen45 | 0:276de3654c32 | 15 | char delimiter = ','; |
nnguyen45 | 0:276de3654c32 | 16 | string letter[2]; |
nnguyen45 | 0:276de3654c32 | 17 | string word[1]; |
nnguyen45 | 0:276de3654c32 | 18 | char check; |
nnguyen45 | 0:276de3654c32 | 19 | string temp; |
nnguyen45 | 0:276de3654c32 | 20 | string tempword; |
nnguyen45 | 0:276de3654c32 | 21 | int counter = 0; |
nnguyen45 | 0:276de3654c32 | 22 | FILE *fp = fopen("/sd/plan.txt", "r"); //create file |
nnguyen45 | 0:276de3654c32 | 23 | while (!feof(fp)) { // while not end of file |
nnguyen45 | 2:1ee5d99a9bae | 24 | check = fgetc(fp); //grabs a char from file |
nnguyen45 | 2:1ee5d99a9bae | 25 | while(check != '\n') { //while not at the end of line for letters |
nnguyen45 | 2:1ee5d99a9bae | 26 | if((check == delimiter) && (temp.length() == 1)) { //at a comma and have a letter stored |
nnguyen45 | 2:1ee5d99a9bae | 27 | letter[counter] = temp; //write letter |
nnguyen45 | 2:1ee5d99a9bae | 28 | counter = counter + 1; //increment counter |
nnguyen45 | 2:1ee5d99a9bae | 29 | } else { |
nnguyen45 | 2:1ee5d99a9bae | 30 | temp = check; //store letter |
nnguyen45 | 2:1ee5d99a9bae | 31 | } |
nnguyen45 | 2:1ee5d99a9bae | 32 | check = fgetc(fp); //grabs next char |
nnguyen45 | 2:1ee5d99a9bae | 33 | } |
nnguyen45 | 2:1ee5d99a9bae | 34 | counter = 0; //reset counter |
nnguyen45 | 2:1ee5d99a9bae | 35 | check = fgetc(fp); //grabs next char |
nnguyen45 | 2:1ee5d99a9bae | 36 | while(check != '\n') { //while not at the end of line for words |
nnguyen45 | 2:1ee5d99a9bae | 37 | if((check == delimiter) && (tempword.length() != 0)) { //when at the comma at the end of a word |
nnguyen45 | 2:1ee5d99a9bae | 38 | word[counter] = tempword; //write word |
nnguyen45 | 2:1ee5d99a9bae | 39 | counter = counter + 1; //increment counter |
nnguyen45 | 2:1ee5d99a9bae | 40 | } else { |
nnguyen45 | 2:1ee5d99a9bae | 41 | tempword = tempword + check; //concatenate letters to build word |
nnguyen45 | 2:1ee5d99a9bae | 42 | } |
nnguyen45 | 2:1ee5d99a9bae | 43 | check = fgetc(fp); //grabs next char |
nnguyen45 | 2:1ee5d99a9bae | 44 | } |
nnguyen45 | 2:1ee5d99a9bae | 45 | } |
nnguyen45 | 2:1ee5d99a9bae | 46 | |
nnguyen45 | 2:1ee5d99a9bae | 47 | |
nnguyen45 | 2:1ee5d99a9bae | 48 | |
nnguyen45 | 2:1ee5d99a9bae | 49 | |
nnguyen45 | 2:1ee5d99a9bae | 50 | |
nnguyen45 | 2:1ee5d99a9bae | 51 | /* |
nnguyen45 | 2:1ee5d99a9bae | 52 | while (!feof(fp)) { // while not end of file |
nnguyen45 | 0:276de3654c32 | 53 | check = fgetc(fp); // get data from the file |
nnguyen45 | 2:1ee5d99a9bae | 54 | pc.printf("%s", check); |
nnguyen45 | 0:276de3654c32 | 55 | if(check == '\n') { |
nnguyen45 | 0:276de3654c32 | 56 | counter = 0; |
nnguyen45 | 2:1ee5d99a9bae | 57 | pc.printf("%s", check); |
nnguyen45 | 0:276de3654c32 | 58 | check = fgetc(fp); |
nnguyen45 | 0:276de3654c32 | 59 | tempword = check; |
nnguyen45 | 0:276de3654c32 | 60 | } else if(tempword.length() != 0) { |
nnguyen45 | 0:276de3654c32 | 61 | tempword = tempword + check; |
nnguyen45 | 0:276de3654c32 | 62 | } else if(check != delimiter) { |
nnguyen45 | 0:276de3654c32 | 63 | temp = check; |
nnguyen45 | 0:276de3654c32 | 64 | } else if((check == delimiter) && (temp.length() == 1)) { |
nnguyen45 | 0:276de3654c32 | 65 | letter[counter] = temp; |
nnguyen45 | 0:276de3654c32 | 66 | counter = counter + 1; |
nnguyen45 | 0:276de3654c32 | 67 | } else { |
nnguyen45 | 0:276de3654c32 | 68 | word[counter] = tempword; |
nnguyen45 | 0:276de3654c32 | 69 | counter = counter + 1; |
nnguyen45 | 0:276de3654c32 | 70 | } |
nnguyen45 | 2:1ee5d99a9bae | 71 | }*/ |
nnguyen45 | 0:276de3654c32 | 72 | fclose(fp); //close file |
nnguyen45 | 2:1ee5d99a9bae | 73 | |
nnguyen45 | 0:276de3654c32 | 74 | } |