Words in Typing mode
Dependencies: SDFileSystem emic2 mbed-rtos mbed
Fork of BAT_Type_word by
Revision 42:aa46c2be7dbb, committed 2017-12-04
- Comitter:
- aismail1997
- Date:
- Mon Dec 04 19:40:28 2017 +0000
- Parent:
- 41:560ee7866781
- Child:
- 43:fa8d0db68228
- Commit message:
- Words in typing mode;
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sun Dec 03 23:44:27 2017 +0000
+++ b/main.cpp Mon Dec 04 19:40:28 2017 +0000
@@ -176,8 +176,9 @@
myTTS.volume(3); //max volume is 18
myTTS.voice(2);
+
// SETUP
- /* buttonarr.setup(); //Reset servos so that buttons are up for typing mode
+ buttonarr.setup(); //Reset servos so that buttons are up for typing mode
button1.setMode(1);
button2.setMode(1);
button3.setMode(1);
@@ -185,144 +186,6 @@
button5.setMode(1);
button6.setMode(1);
-// LETTER CODE
-// tell how to type letter
-// wait for input
-// check if correct letter
-// feedback
-// loop
-
- for(int i = 0; i < lettersize; i++) { //iterate through the letter array
- char currletter = letter[i][0];
- int* pinsup = buttonarr.pinsUp(currletter);
- int currpress;
- int numpinsups = pinsup[0]; // size of array is first element of pinsup
- string presspin = "STo write the letter ";
- presspin = presspin + letter[i];
- presspin = presspin + ", press buttons";
-
- for (int j = 1; j < numpinsups; j++) { // get what pins to press
- currpress = pinsup[j];
- switch (currpress) {
- case 1:
- presspin = presspin + " 1,";
- break;
- case 2:
- presspin = presspin + " 2,";
- break;
- case 3:
- presspin = presspin + " 3,";
- break;
- case 4:
- presspin = presspin + " 4,";
- break;
- case 5:
- presspin = presspin + " 5,";
- break;
- case 6:
- presspin = presspin + " 6,";
- break;
- }
- }
- myTTS.speakf("%s\r",presspin);
- myTTS.ready(); //ready waits for speech to finish from last command with a ":" response
- //wait(2);
-
- //WORKS UP TO HERE
- char* braille;
- char* oldbraille;
-
- // TYPE MODE
- sprintf(braille, "%d%d%d%d%d%d", !button1.getPress(), !button2.getPress(),
- !button3.getPress(), !button4.getPress(), !button5.getPress(), !button6.getPress());
-
- // wait for input
- while (strcmp(braille, "111111") == 0) {
- sprintf(braille, "%d%d%d%d%d%d", !button1.getPress(), !button2.getPress(),
- !button3.getPress(), !button4.getPress(), !button5.getPress(), !button6.getPress());
- }
-
- // while buttons have not been released
- int oldsum = 0;
- int sum = 0;
- while ((strcmp(braille, "111111") != 0) && (oldsum <= sum)) {
- oldbraille = braille;
- oldsum = sum;
- sprintf(braille, "%d%d%d%d%d%d", !button1.getPress(), !button2.getPress(),
- !button3.getPress(), !button4.getPress(), !button5.getPress(), !button6.getPress());
- sum = button1.getPress() + button2.getPress() + button3.getPress() + button4.getPress()
- + button5.getPress() + button6.getPress();
- }
- braille = oldbraille;
-
- int currwrong;
- string wrongpin;
- // check result
- int* wrongpins = buttonarr.wrongPins(braille, currletter);
- int test = 1;
- while(test == 1) {
- wrongpin = "SYour answer is incorrect. Buttons";
- for (int j = 1; j < wrongpins[0]; j++) { // get what pins are wrong
- currwrong = wrongpins[j];
- switch (currwrong) {
- case 1:
- wrongpin = wrongpin + " 1,";
- break;
- case 2:
- wrongpin = wrongpin + " 2,";
- break;
- case 3:
- wrongpin = wrongpin + " 3,";
- break;
- case 4:
- wrongpin = wrongpin + " 4,";
- break;
- case 5:
- wrongpin = wrongpin + " 5,";
- break;
- case 6:
- wrongpin = wrongpin + " 6,";
- break;
- }
- }
- if (wrongpins[0] > 1) {
- wrongpin = wrongpin + " are wrong. Please try again.";
- myTTS.speakf("%s\r",wrongpin);
- myTTS.ready(); //ready waits for speech to finish from last command with a ":" response
-
- //UPDATE THE PINS THAT ARE WRONG BY CHECKING AGAIN BELOW
-
- sprintf(braille, "%d%d%d%d%d%d", !button1.getPress(), !button2.getPress(),
- !button3.getPress(), !button4.getPress(), !button5.getPress(), !button6.getPress());
-
- // wait for input
- while (strcmp(braille, "111111") == 0) {
- sprintf(braille, "%d%d%d%d%d%d", !button1.getPress(), !button2.getPress(),
- !button3.getPress(), !button4.getPress(), !button5.getPress(), !button6.getPress());
- }
-
- // while buttons have not been released
- int oldsum = 0;
- int sum = 0;
- while ((strcmp(braille, "111111") != 0) && (oldsum <= sum)) {
- oldbraille = braille;
- oldsum = sum;
- sprintf(braille, "%d%d%d%d%d%d", !button1.getPress(), !button2.getPress(),
- !button3.getPress(), !button4.getPress(), !button5.getPress(), !button6.getPress());
- sum = button1.getPress() + button2.getPress() + button3.getPress() + button4.getPress()
- + button5.getPress() + button6.getPress();
- }
-
- // check result
- wrongpins = buttonarr.wrongPins(braille, currletter);
- } else {
- test = 0;
- myTTS.speakf("SGood job!\r");
- myTTS.ready(); //ready waits for speech to finish from last command with a ":" response
- }
- }
-
- }*/
// WORD CODE
@@ -336,15 +199,6 @@
// check what letters were wrong
// give wrong letters - correct spelling is...
- buttonarr.setup(); //Reset servos so that buttons are up for typing mode
-
- button1.setMode(1);
- button2.setMode(1);
- button3.setMode(1);
- button4.setMode(1);
- button5.setMode(1);
- button6.setMode(1);
-
string currword;
int wordsize = sizeof(word)/sizeof(word[0]);
@@ -437,7 +291,7 @@
}
}
}
-
+
// MAIN THREAD
while(true) {
