Classic multi-tap touch device with enter key. Allows for multiple keys to be entered at once.

Dependencies:   DebouncedEdgeIn USBDevice mbed

Fork of idd_hw2_martincowell_bicyclehid by Interactive Device Design

Files at this revision

API Documentation at this revision

Comitter:
JMarquis
Date:
Mon Sep 14 16:32:56 2015 +0000
Parent:
0:913f85486ace
Commit message:
Classic multi-tap touch device with enter key. Allows for multiple keys to be entered at once.

Changed in this revision

USBDevice.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/USBDevice.lib	Mon Sep 14 16:32:56 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/USBDevice/#2af474687369
--- a/main.cpp	Mon Sep 22 15:59:43 2014 +0000
+++ b/main.cpp	Mon Sep 14 16:32:56 2015 +0000
@@ -1,21 +1,32 @@
 #include "mbed.h"
 #include "DebouncedEdgeIn.h"
 #include "USBMouseKeyboard.h"
-
-DigitalOut myled1(LED_RED,1);
-DigitalOut myled2(LED_GREEN,1);
-DigitalOut myled3(LED_BLUE,1);
+#include <iostream>
+#include <stdlib.h>
+#include <iostream>
+#include <time.h>
+int x = 0;
+int y = 0;
+int z = 0;
+int q = 0;
+int s = 0;
+int e = 0;
+int r = 0;
+int u = 0;
 
-DigitalIn b0(D13);
-DigitalIn b1(D7);
-DebouncedEdgeIn b2(D9);
-DebouncedEdgeIn b3(D10);
-DebouncedEdgeIn b4(D11);
-DebouncedEdgeIn b5(D12);
-DebouncedEdgeIn b6(D3);
-DebouncedEdgeIn b7(D4);
-DebouncedEdgeIn b8(D5);
-DebouncedEdgeIn b9(D6);
+
+
+
+DebouncedEdgeIn b0(D12);
+DebouncedEdgeIn b1(D11);
+DebouncedEdgeIn b2(D10);
+DebouncedEdgeIn b3(D9);
+DebouncedEdgeIn b4(D8);
+DebouncedEdgeIn b5(D7);
+DebouncedEdgeIn b6(D6);
+DebouncedEdgeIn b7(D5);
+DebouncedEdgeIn b8(D4);
+DebouncedEdgeIn b9(D3);
 
 // SPST Pushbutton demo using internal PullUp function
 // no external PullUp resistor needed
@@ -28,145 +39,136 @@
 
 //USBMouseKeyboard
 //USBMouseKeyboard key_mouse;
-
-void a(){
-    if(b0.read()&&b1.read()){
-        pc.printf("a");
+//if(b0.read()&&b1.read()){
+      //  pc.printf("a");
         //key_mouse.printf("a");
-    }
-    if(!b0.read()&&b1.read()){
-        pc.printf("h");
-        //key_mouse.printf("h");
-    }
-    if(b0.read()&&!b1.read()){
-        pc.printf("o");
-        //key_mouse.printf("o");
-    }
-    if(!b0.read()&&!b1.read()){
-        pc.printf("v");
-        //key_mouse.printf("v");
-    }
-}
+    //}
+    
+    
     
-void b(){
-    if(b0.read()&&b1.read()){
-        pc.printf("b");
-        //key_mouse.printf("b");
-    }
-    if(!b0.read()&&b1.read()){
-        pc.printf("i");
-        //key_mouse.printf("i");
-    }
-    if(b0.read()&&!b1.read()){
-        pc.printf("p");
-        //key_mouse.printf("p");
-    }
-    if(!b0.read()&&!b1.read()){
-        pc.printf("w");
-        //key_mouse.printf("w");
-    }
-}
+
 
-void c(){
-    if(b0.read()&&b1.read()){
-        pc.printf("c");
-        //key_mouse.printf("cat");
-    }
-    if(!b0.read()&&b1.read()){
-        pc.printf("j");
-        //key_mouse.printf("j");
-    }
-    if(b0.read()&&!b1.read()){
-        pc.printf("q");
-        //key_mouse.printf("q");
-    }
-    if(!b0.read()&&!b1.read()){
-        pc.printf("x");
-        //key_mouse.printf("x");
-    }
+ 
+    
+void a(){
+              x = x+1;       
 }
-
 void d(){
-    if(b0.read()&&b1.read()){
-        pc.printf("d");
-        //key_mouse.printf("d");
-    }
-    if(!b0.read()&&b1.read()){
-        pc.printf("k");
-        //key_mouse.printf("k");
-    }
-    if(b0.read()&&!b1.read()){
-        pc.printf("r");
-        //key_mouse.printf("r");
-    }
-    if(!b0.read()&&!b1.read()){
-        pc.printf("y");
-        //key_mouse.printf("y");
-    }
+        y = y+1;
+        }
+void g(){
+       z = z+1;
 }
-
-void e(){
-    if(b0.read()&&b1.read()){
-        pc.printf("e");
-        //key_mouse.printf("e");
-    }
-    if(!b0.read()&&b1.read()){
-        pc.printf("l");
-        //key_mouse.printf("l");
-    }
-    if(b0.read()&&!b1.read()){
-        pc.printf("s");
-        //key_mouse.printf("s");
-    }
-    if(!b0.read()&&!b1.read()){
-        pc.printf("z");
-        //key_mouse.printf("z");
-    }
+void j(){
+       q = q+1;
 }
-
-void f(){
-    if(b0.read()&&b1.read()){
-        pc.printf("f");
-        //key_mouse.printf("f");
-    }
-    if(!b0.read()&&b1.read()){
-        pc.printf("m");
-        //key_mouse.printf("m");
-    }
-    if(b0.read()&&!b1.read()){
-        pc.printf("t");
-        //key_mouse.printf("t");
-    }
-    if(!b0.read()&&!b1.read()){
-        pc.printf("!");
-        //key_mouse.printf("!");
-    }
+void m(){
+       s= s+1;
+}
+void p(){
+       e = e+1;
 }
-
-void g(){
-    if(b0.read()&&b1.read()){
-        pc.printf("g");
-        //key_mouse.printf("g");
-    }
-    if(!b0.read()&&b1.read()){
-        pc.printf("n");
-        //key_mouse.printf("n");
-    }
-    if(b0.read()&&!b1.read()){
-        pc.printf("u");
-        //key_mouse.printf("u");
-    }
-    if(!b0.read()&&!b1.read()){
-        pc.printf("?");
-        //key_mouse.printf("?");
-    }
+void t(){
+       r = r+1;
+}
+void w(){
+       u = u+1;
 }
 void space(){
-    pc.printf(" ");
-    //key_mouse.printf(" ");
+       pc.printf(" ");
+}
+void del(){
+        if (x == 1) {
+         pc.printf("a");
+        }
+        if (x == 2) {
+         pc.printf("b");
+        }
+        if (x == 3) {
+         pc.printf("c");
+        }
+       x = 0;
+       if (y == 1) {
+         pc.printf("d");
+        }
+        if (y == 2) {
+         pc.printf("e");
+        }
+        if (y == 3) {
+         pc.printf("f");
+        }
+       y = 0;
+       if (z == 1) {
+         pc.printf("g");
+        }
+        if (z == 2) {
+         pc.printf("h");
+        }
+        if (z == 3) {
+         pc.printf("i");
+        }
+       z = 0;
+       if (q == 1) {
+         pc.printf("j");
+        }
+        if (q == 2) {
+         pc.printf("k");
+        }
+        if (q == 3) {
+         pc.printf("l");
+        }
+       q = 0;
+       if (s == 1) {
+         pc.printf("m");
+        }
+        if (s == 2) {
+         pc.printf("n");
+        }
+        if (s == 3) {
+         pc.printf("o");
+        }
+       s = 0;
+       if (e == 1) {
+         pc.printf("p");
+        }
+        if (e == 2) {
+         pc.printf("q");
+        }
+        if (e == 3) {
+         pc.printf("r");
+        }
+        if (e == 4) {
+         pc.printf("s");
+        }
+       e = 0;
+       if (r == 1) {
+         pc.printf("t");
+        }
+        if (r == 2) {
+         pc.printf("u");
+        }
+        if (r == 3) {
+         pc.printf("v");
+        }
+       r = 0;
+       if (u == 1) {
+         pc.printf("w");
+        }
+        if (u == 2) {
+         pc.printf("x");
+        }
+        if (u == 3) {
+         pc.printf("y");
+        }
+        if (u == 4) {
+         pc.printf("z");
+        }
+       u = 0;
+       
 }
 
 int main() {
+    
     b0.mode(PullUp);
     b1.mode(PullUp);
     b2.mode(PullUp);
@@ -178,24 +180,32 @@
     b8.mode(PullUp);
     b9.mode(PullUp);
     
-    b2.fall(&a);
-    b3.fall(&b);
-    b4.fall(&c);
-    b5.fall(&d);
-    b6.fall(&e);
-    b7.fall(&f);
-    b8.fall(&g);
+    b1.fall(&a);
+    b2.fall(&d);
+    b3.fall(&g);
+    b4.fall(&j);
+    b5.fall(&m);
+    b6.fall(&p);
+    b7.fall(&t);
+    b8.fall(&w);
     b9.fall(&space);
-    
+    b0.fall(&del);
+  //  cout<<x<<endl;
+  
     pc.printf("Initialized\r\n");
     //key_mouse.printf("Initialized\r\n");
-    
-    while(1) {
-        myled1 = b2;
-        myled2 = b3;
-        myled3 = b4;
-        //if(!b0){
-//            key_mouse.printf("zz");
+     while(1) {
+        
+       
 //        }
     }
-}
\ No newline at end of file
+}
+
+
+
+  //  std::chrono::seconds interval( 10 ) ; // 10 seconds
+   // for( int i = 0 ; i < 10 ; ++i )
+   // {
+    //   std::cout << "tick!\n" << std::flush ;
+     //  std::this_thread::sleep_for( interval ) ;
+   // }
\ No newline at end of file