Working read code with mode button

Dependencies:   SDFileSystem emic2 mbed-rtos mbed

Fork of BAT_senior_design_Testnew by BAT

Revision:
32:79cdf893c8b8
Parent:
30:3c4ebc4fde0f
Child:
33:e5024aeca3a7
diff -r b9bd85682db1 -r 79cdf893c8b8 buttonArray.cpp
--- a/buttonArray.cpp	Wed Nov 15 16:42:48 2017 +0000
+++ b/buttonArray.cpp	Fri Nov 17 15:17:36 2017 +0000
@@ -7,17 +7,21 @@
 buttonArray::buttonArray(button b1, button b2, button b3, button b4, button b5, button b6)
     : button1(b1), button2(b2), button3(b3), button4(b4), button5(b5), button6(b6) {}
 
+//Serial pc(USBTX, USBRX);
+
 // FUNCTIONS
 
 // map input braille to ascii
 // braille respresentation here - https://en.wikipedia.org/wiki/Braille_ASCII
 char buttonArray::checkVal()
 {
+    //pc.printf(" checkVal \n");
     char* braille;
     char val = NULL;
     sprintf(braille, "%d%d%d%d%d%d", button1.getPress(), button2.getPress(),
             button3.getPress(), button4.getPress(), button5.getPress(), button6.getPress());
-    if (strcmp(braille, "000000") == 0) val = '@';
+    //pc.printf(" %s \n", braille);
+    if (strcmp(braille, "000000") == 0) val = 'X';
     if (strcmp(braille, "011111") == 0) val = 'A';
     if (strcmp(braille, "001111") == 0) val = 'B';
     if (strcmp(braille, "011011") == 0) val = 'C';
@@ -28,6 +32,8 @@
     if (strcmp(braille, "001101") == 0) val = 'H';
     if (strcmp(braille, "101101") == 0) val = 'I';
     if (strcmp(braille, "101001") == 0) val = 'J';
+    if (strcmp(braille, "010011") == 0) val = 'M';
+    if (strcmp(braille, "010101") == 0) val = 'O';
     /*if (strcmp(braille, "011111") == 0) val = 'K';
     if (strcmp(braille, "011111") == 0) val = 'L';
     if (strcmp(braille, "011111") == 0) val = 'N';
@@ -41,10 +47,10 @@
     if (strcmp(braille, "011111") == 0) val = 'W';
     if (strcmp(braille, "011111") == 0) val = 'X';
     if (strcmp(braille, "011111") == 0) val = 'Y';
-    if (strcmp(braille, "011111") == 0) val = 'Z';
-    if (strcmp(braille, "010101") == 0) val = 'O';*/
+    if (strcmp(braille, "011111") == 0) val = 'Z';*/
     // check if reset
-    if (strcmp(braille, "111111") == 0) val = '!';
+    if (strcmp(braille, "111111") == 0) val = 'Z';
+    //pc.printf(" %c \n", val);
     return val;
 }
 
@@ -52,8 +58,9 @@
 char* buttonArray::getBraille(char val)
 {
     char* braille;
-    if (val == NULL) braille = "000000";
     if (val == 'A') braille = "011111";
+    if (val == 'X') braille = "000000";
+    if (val == 'Z') braille = "111111";
     if (val == 'M') braille = "010011";
     if (val == 'O') braille = "010101";
     // check if reset
@@ -65,6 +72,7 @@
 int* buttonArray::pinsUp(char val)
 {
     int* pinsup;
+    pinsup = new int[7];
     char* braille = getBraille(val);
     int j = 1;
     for (int i = 0; i < 6; i++) {
@@ -82,15 +90,18 @@
 // takes in current and actual char as input and returns status of each char
 int* buttonArray::wrongPins(char input, char actual)
 {
-    if (input == NULL) return NULL;
     int* wrong;
+    wrong = new int[7];
     char* inarr = getBraille(input);
+    //pc.printf("input %s\n", inarr);
     char* actarr = getBraille(actual);
-    int j = 0;
+    //pc.printf("wrong pins");
+    int j = 1;
     for (int i = 0; i < 6; i++) {
         if(inarr[i] != actarr[i]) {
+            wrong[j] = i+1;
+            //pc.printf("%d ", wrong[j]);
             j++;
-            wrong[j] = i+1;
         }
     }
     // record size of array in the first element
@@ -106,27 +117,27 @@
         button1.setState(3);
         button1.setPress(0);
     }
-        if (button2.getPress()) {
+    if (button2.getPress()) {
         button2.moveServoOut();
         button2.setState(3);
         button2.setPress(0);
     }
-        if (button3.getPress()) {
+    if (button3.getPress()) {
         button3.moveServoOut();
         button3.setState(3);
         button3.setPress(0);
     }
-        if (button4.getPress()) {
+    if (button4.getPress()) {
         button4.moveServoOut();
         button4.setState(3);
         button4.setPress(0);
     }
-        if (button5.getPress()) {
+    if (button5.getPress()) {
         button5.moveServoOut();
         button5.setState(3);
         button5.setPress(0);
     }
-        if (button6.getPress()) {
+    if (button6.getPress()) {
         button6.moveServoOut();
         button6.setState(3);
         button6.setPress(0);