Working read code with mode button
Dependencies: SDFileSystem emic2 mbed-rtos mbed
Fork of BAT_senior_design_Testnew by
Diff: main.cpp
- Revision:
- 26:4b2940eec275
- Parent:
- 25:23970cf718ee
- Child:
- 27:0ed2a9cad0e1
--- a/main.cpp Fri Nov 10 15:59:21 2017 +0000 +++ b/main.cpp Fri Nov 10 16:48:26 2017 +0000 @@ -6,6 +6,7 @@ #include "buttonArray.h" #include <string> #include <iostream> +#include "emic2.h" using namespace std; @@ -30,6 +31,8 @@ DigitalIn linpot(p9); Serial pc(USBTX, USBRX); SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card +emic2 myTTS(p28, p27); //serial RX,TX pins to emic + //AnalogOut DACout(p26); //wave_player waver(&DACout); //button button1(myservo, pb1, linpot); @@ -263,12 +266,67 @@ //pc.printf("current braille %c \n", buttonarr.checkVal()); //pc.printf("%c\n", buttonarr.releaseButtons()); - // MAIN THREAD - while(true) { + + //TEXT-TO-SPEECH LOGIC + myTTS.volume(18); //max volume + string repeat = "Please try again."; + + myTTS.speakf("SWelcome to Bat, the Blind Assistive Teacher. This device will help you learn how to write and type braille.\r"); // Send the desired string to convert to speech + myTTS.ready(); //ready waits for speech to finish from last command with a ":" response + for(int i = 0; i < letter.length(); i++) { //iterate through the letter array + int* pinsup = buttonarr.pinsUp('M'); + int currpress; + int numpinsups = pinsup[0]; + string presspin = "STo write the letter %s, press pins "; + sprintf(presspin, letter[i]): + + for (int i = 1; i <= numpinsups; i++) { // get what pins to press + currpress = pinsup[i]; + presspin = presspin + to_string(currpress) + " "; + + } + myTTS.speakf("S%s\r",presspin); + + } + myTTS.speakf("STo write the letter %s, press pins %D\r",letter[i]); + myTTS.ready(); //ready waits for speech to finish from last command with a ":" response - // read linear potentiometer - //led4 = linpot; + //check pins pressed + if(incorrect) { + myTTS.speakf("SPin %D is incoorect.\r",ID); + myTTS.ready(); //ready waits for speech to finish from last command with a ":" response + myTTS.speakf("S%s.\r", repeat); + myTTS.ready(); //ready waits for speech to finish from last command with a ":" response + } +} +for(int i = 0; i < word.length(); i++) //iterate through the word array +{ + myTTS.speakf("SWrite the word %s, press pins %D\r",word[i], ID); + myTTS.ready(); //ready waits for speech to finish from last command with a ":" response + //check pins pressed + if(incorrect) { + myTTS.speakf("SPin %D is incoorect.\r",ID); + myTTS.ready(); //ready waits for speech to finish from last command with a ":" response + myTTS.speakf("S%s.\r", repeat); + myTTS.ready(); //ready waits for speech to finish from last command with a ":" response + } +} - Thread::wait(500); // wait till thread is done - } + + + + + + + + +// MAIN THREAD +while(true) +{ + + // read linear potentiometer + //led4 = linpot; + + Thread::wait(500); // wait till thread is done +} } \ No newline at end of file