Published for Bernard

Dependencies:   DebounceIn USBDevice mbed

Revision:
5:3b729656a1ff
Parent:
4:d591b4a00e37
Child:
6:1ff2b519fcc4
--- a/main.cpp	Wed Sep 17 08:48:39 2014 +0000
+++ b/main.cpp	Thu Sep 18 08:15:14 2014 +0000
@@ -3,14 +3,22 @@
 //must import cookbook debounce library into project
 
 DigitalOut myled(LED3);
+
+DigitalOut myled2(LED1);
+
+DigitalOut myled3(LED2);
+
 Serial pc(USBTX, USBRX); // tx, rx
 DigitalIn button(D2);
 DigitalIn button2(D3);
 DigitalIn button3(D4);
 DigitalIn button4(D5);
-DigitalIn button5(D10); 
-DebounceIn toggle(D8);
-DebounceIn enter(D7);
+DigitalIn button5(D12);
+DigitalIn button6(D7);
+DigitalIn button7(D8);
+DigitalIn button8(D9);
+DebounceIn toggle(D10);
+DebounceIn enter(D11);
 
 int main() {
     
@@ -20,6 +28,9 @@
     button3.mode(PullUp);
     button4.mode(PullUp);
     button5.mode(PullUp);
+    button6.mode(PullUp);
+    button7.mode(PullUp);
+    button8.mode(PullUp);
     toggle.mode(PullUp);
     enter.mode(PullUp);
     
@@ -36,36 +47,88 @@
     int button3_counter=0;
     int button4_counter=0;
     int button5_counter=0;
+    int button6_counter=0;
+    int button7_counter=0;
+    int button8_counter=0;
+    
+    int l=3;
+    int l2=3;
+    int l3=3;
+    int l4=3;
+    int l5=3;
+    int l6=4;
+    int l7=4;
+    int l8=4;
     
     
+    char* s[26] = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
+    
+    myled=1;
+    myled3=1;
+    
+    myled2=0;
+    wait(0.4);
+    myled2=1;
+    wait(0.4);
+    myled2=0;
+    wait(0.4);
+    myled2=1;
+    wait(0.4);
+    myled2=0;
+    wait(0.4);
+    myled2=1;
+    wait(0.4);
+    
     myled=0;
+    wait(0.4);
+    myled=1;
     
+
     while(1) {
         enter_new = enter.read();
         if((enter_new==0) && (enter_old==1)) {
-            
+            myled3= 0;
+            wait(0.2);
+            myled3= 1;
             if (button.read()==0) {
-                if (button_counter==0){
-                    pc.printf("a");
-                    button_counter=0;
-                } 
-                if (button_counter==1){
-                    pc.printf("b");
-                    button_counter=0;
-                }
+                pc.printf("%s", s[button_counter]); 
+                button_counter=0;
             }
             if (button2.read()==0) {
-                pc.printf("b");
+                button2_counter= button2_counter + l;
+                pc.printf("%s", s[button2_counter]); 
+                button2_counter=0;
             }
             if (button3.read()==0) {
-                pc.printf("c");
+                button3_counter= button3_counter + l + l2;
+                pc.printf("%s", s[button3_counter]); 
+                button3_counter=0;
             }
              if (button4.read()==0) {
-                pc.printf("d");
+                button4_counter= button4_counter + l + l2 + l3;
+                pc.printf("%s", s[button4_counter]); 
+                button4_counter=0;
             }
             if (button5.read()==0) {
-                pc.printf("e");
+                button5_counter= button5_counter + l + l2 + l3 + l4;
+                pc.printf("%s", s[button5_counter]); 
+                button5_counter=0;
+            }
+             if (button6.read()==0) {
+                button6_counter= button6_counter + l + l2 + l3 + l4 + l5;
+                pc.printf("%s", s[button6_counter]); 
+                button6_counter=0;
             }
+             if (button7.read()==0) {
+                button7_counter= button7_counter + l + l2 + l3 + l4 + l5 +l6;
+                pc.printf("%s", s[button7_counter]); 
+                button7_counter=0;
+            }
+            if (button8.read()==0) {
+                button8_counter= button8_counter + l + l2 + l3 + l4 + l5 +l6 + l7;
+                pc.printf("%s", s[button8_counter]); 
+                button8_counter=0;
+            } 
             
         }
         enter_old= enter_new;   
@@ -73,12 +136,23 @@
         
         toggle_new = toggle.read();
         if ((toggle_new==0) && (toggle_old==1)) {
+            
+            myled= 0;
+            wait(0.2);
+            myled= 1;
+            
             if (button.read()==0) {
                 button_counter= button_counter + 1;
                 button2_counter=0;
                 button3_counter=0;
                 button4_counter=0;
                 button5_counter=0;
+                button6_counter=0;
+                button7_counter=0;
+                button8_counter=0;
+                if (button_counter==(l)) {
+                    button_counter=0;
+                }
             }
             if (button2.read()==0) {
                 button_counter= 0;
@@ -86,6 +160,12 @@
                 button3_counter=0;
                 button4_counter=0;
                 button5_counter=0;
+                button6_counter=0;
+                button7_counter=0;
+                button8_counter=0;
+                if (button2_counter==(l2)) {
+                    button2_counter=0;
+                }
             }
             if (button3.read()==0) {
                 button_counter= 0;
@@ -93,6 +173,12 @@
                 button3_counter= button3_counter + 1;
                 button4_counter=0;
                 button5_counter=0;
+                button6_counter=0;
+                button7_counter=0;
+                button8_counter=0;
+                if (button3_counter==(l3)) {
+                    button3_counter=0;
+                }
             }
              if (button4.read()==0) {
                 button_counter= 0;
@@ -100,6 +186,12 @@
                 button3_counter=0;
                 button4_counter= button4_counter + 1;
                 button5_counter=0;
+                button6_counter=0;
+                button7_counter=0;
+                button8_counter=0;
+                if (button4_counter==(l4)) {
+                    button4_counter=0;
+                }
             }
             if (button5.read()==0) {
                 button_counter= 0;
@@ -107,8 +199,52 @@
                 button3_counter=0;
                 button4_counter=0;
                 button5_counter= button5_counter + 1;
+                button6_counter=0;
+                button7_counter=0;
+                button8_counter=0;
+                if (button5_counter==(l5)) {
+                    button5_counter=0;
+                }
             }
-            
+            if (button6.read()==0) {
+                button_counter= 0;
+                button2_counter=0;
+                button3_counter=0;
+                button4_counter=0;
+                button5_counter=0;
+                button6_counter= button6_counter + 1;
+                button7_counter=0;
+                button8_counter=0;
+                if (button6_counter==(l6)) {
+                    button6_counter=0;
+                }
+            }
+            if (button7.read()==0) {
+                button_counter= 0;
+                button2_counter=0;
+                button3_counter=0;
+                button4_counter=0;
+                button5_counter=0;
+                button6_counter=0;
+                button7_counter= button7_counter + 1;
+                button8_counter=0;
+                if (button7_counter==(l7)) {
+                    button7_counter=0;
+                }
+            }
+            if (button8.read()==0) {
+                button_counter= 0;
+                button2_counter=0;
+                button3_counter=0;
+                button4_counter=0;
+                button5_counter=0;
+                button6_counter=0;
+                button7_counter=0;
+                button8_counter=button8_counter + 1;
+                if (button8_counter==(l8)) {
+                    button8_counter=0;
+                }
+            }
         }
         toggle_old= toggle_new;