IDD Fall 2015 / Mbed 2 deprecated idd_fall15_hw2_psddtgb_PushButtonTextEntry

Dependencies:   DebounceIn USBDevice mbed

Fork of idd_fall15_hw2_psddtgb_PushButtonTextEntry by Ardalan Moazeni

Committer:
psddtgb
Date:
Mon Sep 14 00:53:13 2015 +0000
Revision:
0:891a320d6d46
Child:
1:80def904a1b8
HW2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
psddtgb 0:891a320d6d46 1 #include "mbed.h"
psddtgb 0:891a320d6d46 2 #include "DebounceIn.h"
psddtgb 0:891a320d6d46 3 #include "USBKeyboard.h"
psddtgb 0:891a320d6d46 4
psddtgb 0:891a320d6d46 5 USBKeyboard keyboard;
psddtgb 0:891a320d6d46 6
psddtgb 0:891a320d6d46 7 DigitalOut ledr(LED_RED);
psddtgb 0:891a320d6d46 8 DigitalOut ledg(LED_GREEN);
psddtgb 0:891a320d6d46 9 DigitalOut ledb(LED_BLUE);
psddtgb 0:891a320d6d46 10
psddtgb 0:891a320d6d46 11 DebounceIn pb1(D2);
psddtgb 0:891a320d6d46 12 DebounceIn pb2(D3);
psddtgb 0:891a320d6d46 13 DebounceIn pb3(D4);
psddtgb 0:891a320d6d46 14 DebounceIn pb4(D5);
psddtgb 0:891a320d6d46 15 DebounceIn pb5(D6);
psddtgb 0:891a320d6d46 16 DebounceIn pb6(D7);
psddtgb 0:891a320d6d46 17 DebounceIn pb7(D8);
psddtgb 0:891a320d6d46 18 DebounceIn pbs(D9);
psddtgb 0:891a320d6d46 19 DebounceIn pbm(D10);
psddtgb 0:891a320d6d46 20
psddtgb 0:891a320d6d46 21 int main()
psddtgb 0:891a320d6d46 22 {
psddtgb 0:891a320d6d46 23 //int old_pb=0;
psddtgb 0:891a320d6d46 24 //int new_pb;
psddtgb 0:891a320d6d46 25 int m = 1;
psddtgb 0:891a320d6d46 26 ledr = 1;
psddtgb 0:891a320d6d46 27 ledg = 1;
psddtgb 0:891a320d6d46 28 ledb = 1;
psddtgb 0:891a320d6d46 29 // Use internal pullup for pushbutton
psddtgb 0:891a320d6d46 30 pb1.mode(PullUp);
psddtgb 0:891a320d6d46 31 pb2.mode(PullUp);
psddtgb 0:891a320d6d46 32 pb3.mode(PullUp);
psddtgb 0:891a320d6d46 33 pb4.mode(PullUp);
psddtgb 0:891a320d6d46 34 pb5.mode(PullUp);
psddtgb 0:891a320d6d46 35 pb6.mode(PullUp);
psddtgb 0:891a320d6d46 36 pb7.mode(PullUp);
psddtgb 0:891a320d6d46 37 pbs.mode(PullUp);
psddtgb 0:891a320d6d46 38 pbm.mode(PullUp);
psddtgb 0:891a320d6d46 39
psddtgb 0:891a320d6d46 40 // Delay for initial pullup to take effect
psddtgb 0:891a320d6d46 41 wait(.001);
psddtgb 0:891a320d6d46 42 while(1) {
psddtgb 0:891a320d6d46 43 //new_pb = pb;
psddtgb 0:891a320d6d46 44 //if ((new_pb==0) && (old_pb==1)) ledr = 1;
psddtgb 0:891a320d6d46 45 //old_pb = new_pb;
psddtgb 0:891a320d6d46 46 if (m==1 && pbm==0) {
psddtgb 0:891a320d6d46 47 m=2;
psddtgb 0:891a320d6d46 48 ledr=0;
psddtgb 0:891a320d6d46 49 ledg = 1;
psddtgb 0:891a320d6d46 50 ledb = 1;
psddtgb 0:891a320d6d46 51 wait(.2);
psddtgb 0:891a320d6d46 52 }
psddtgb 0:891a320d6d46 53 if (m==2 && pbm==0) {
psddtgb 0:891a320d6d46 54 m=3;
psddtgb 0:891a320d6d46 55 ledr=1;
psddtgb 0:891a320d6d46 56 ledg = 0;
psddtgb 0:891a320d6d46 57 ledb = 1;
psddtgb 0:891a320d6d46 58 wait(.2);
psddtgb 0:891a320d6d46 59 }
psddtgb 0:891a320d6d46 60 if (m==3 && pbm==0) {
psddtgb 0:891a320d6d46 61 m=4;
psddtgb 0:891a320d6d46 62 ledr=1;
psddtgb 0:891a320d6d46 63 ledg = 1;
psddtgb 0:891a320d6d46 64 ledb = 0;
psddtgb 0:891a320d6d46 65 wait(.2);
psddtgb 0:891a320d6d46 66 }
psddtgb 0:891a320d6d46 67 if (m==4 && pbm==0) {
psddtgb 0:891a320d6d46 68 m=1;
psddtgb 0:891a320d6d46 69 ledr=1;
psddtgb 0:891a320d6d46 70 ledg = 1;
psddtgb 0:891a320d6d46 71 ledb = 1;
psddtgb 0:891a320d6d46 72 wait(.2);
psddtgb 0:891a320d6d46 73 }
psddtgb 0:891a320d6d46 74 if (pbs==0) {
psddtgb 0:891a320d6d46 75 keyboard.printf(" ");
psddtgb 0:891a320d6d46 76 wait(.2);
psddtgb 0:891a320d6d46 77 }
psddtgb 0:891a320d6d46 78 if (m==1 && pb1==0) {
psddtgb 0:891a320d6d46 79 keyboard.printf("a");
psddtgb 0:891a320d6d46 80 wait(.2);
psddtgb 0:891a320d6d46 81 }
psddtgb 0:891a320d6d46 82 if (m==1 && pb2==0) {
psddtgb 0:891a320d6d46 83 keyboard.printf("b");
psddtgb 0:891a320d6d46 84 wait(.2);
psddtgb 0:891a320d6d46 85 }
psddtgb 0:891a320d6d46 86 if (m==1 && pb3==0) {
psddtgb 0:891a320d6d46 87 keyboard.printf("c");
psddtgb 0:891a320d6d46 88 wait(.2);
psddtgb 0:891a320d6d46 89 }
psddtgb 0:891a320d6d46 90 if (m==1 && pb4==0) {
psddtgb 0:891a320d6d46 91 keyboard.printf("d");
psddtgb 0:891a320d6d46 92 wait(.2);
psddtgb 0:891a320d6d46 93 }
psddtgb 0:891a320d6d46 94 if (m==1 && pb5==0) {
psddtgb 0:891a320d6d46 95 keyboard.printf("e");
psddtgb 0:891a320d6d46 96 wait(.2);
psddtgb 0:891a320d6d46 97 }
psddtgb 0:891a320d6d46 98 if (m==1 && pb6==0) {
psddtgb 0:891a320d6d46 99 keyboard.printf("f");
psddtgb 0:891a320d6d46 100 wait(.2);
psddtgb 0:891a320d6d46 101 }
psddtgb 0:891a320d6d46 102 if (m==1 && pb7==0) {
psddtgb 0:891a320d6d46 103 keyboard.printf("g");
psddtgb 0:891a320d6d46 104 wait(.2);
psddtgb 0:891a320d6d46 105 }
psddtgb 0:891a320d6d46 106 if (m==2 && pb1==0) {
psddtgb 0:891a320d6d46 107 keyboard.printf("h");
psddtgb 0:891a320d6d46 108 wait(.2);
psddtgb 0:891a320d6d46 109 }
psddtgb 0:891a320d6d46 110 if (m==2 && pb2==0) {
psddtgb 0:891a320d6d46 111 keyboard.printf("i");
psddtgb 0:891a320d6d46 112 wait(.2);
psddtgb 0:891a320d6d46 113 }
psddtgb 0:891a320d6d46 114 if (m==2 && pb3==0) {
psddtgb 0:891a320d6d46 115 keyboard.printf("j");
psddtgb 0:891a320d6d46 116 wait(.2);
psddtgb 0:891a320d6d46 117 }
psddtgb 0:891a320d6d46 118 if (m==2 && pb4==0) {
psddtgb 0:891a320d6d46 119 keyboard.printf("k");
psddtgb 0:891a320d6d46 120 wait(.2);
psddtgb 0:891a320d6d46 121 }
psddtgb 0:891a320d6d46 122 if (m==2 && pb5==0) {
psddtgb 0:891a320d6d46 123 keyboard.printf("l");
psddtgb 0:891a320d6d46 124 wait(.2);
psddtgb 0:891a320d6d46 125 }
psddtgb 0:891a320d6d46 126 if (m==2 && pb6==0) {
psddtgb 0:891a320d6d46 127 keyboard.printf("m");
psddtgb 0:891a320d6d46 128 wait(.2);
psddtgb 0:891a320d6d46 129 }
psddtgb 0:891a320d6d46 130 if (m==2 && pb7==0) {
psddtgb 0:891a320d6d46 131 keyboard.printf("n");
psddtgb 0:891a320d6d46 132 wait(.2);
psddtgb 0:891a320d6d46 133 }
psddtgb 0:891a320d6d46 134 if (m==3 && pb1==0) {
psddtgb 0:891a320d6d46 135 keyboard.printf("o");
psddtgb 0:891a320d6d46 136 wait(.2);
psddtgb 0:891a320d6d46 137 }
psddtgb 0:891a320d6d46 138 if (m==3 && pb2==0) {
psddtgb 0:891a320d6d46 139 keyboard.printf("p");
psddtgb 0:891a320d6d46 140 wait(.2);
psddtgb 0:891a320d6d46 141 }
psddtgb 0:891a320d6d46 142 if (m==3 && pb3==0) {
psddtgb 0:891a320d6d46 143 keyboard.printf("q");
psddtgb 0:891a320d6d46 144 wait(.2);
psddtgb 0:891a320d6d46 145 }
psddtgb 0:891a320d6d46 146 if (m==3 && pb4==0) {
psddtgb 0:891a320d6d46 147 keyboard.printf("r");
psddtgb 0:891a320d6d46 148 wait(.2);
psddtgb 0:891a320d6d46 149 }
psddtgb 0:891a320d6d46 150 if (m==3 && pb5==0) {
psddtgb 0:891a320d6d46 151 keyboard.printf("s");
psddtgb 0:891a320d6d46 152 wait(.2);
psddtgb 0:891a320d6d46 153 }
psddtgb 0:891a320d6d46 154 if (m==3 && pb6==0) {
psddtgb 0:891a320d6d46 155 keyboard.printf("t");
psddtgb 0:891a320d6d46 156 wait(.2);
psddtgb 0:891a320d6d46 157 }
psddtgb 0:891a320d6d46 158 if (m==3 && pb7==0) {
psddtgb 0:891a320d6d46 159 keyboard.printf("u");
psddtgb 0:891a320d6d46 160 wait(.2);
psddtgb 0:891a320d6d46 161 }
psddtgb 0:891a320d6d46 162 if (m==4 && pb1==0) {
psddtgb 0:891a320d6d46 163 keyboard.printf("v");
psddtgb 0:891a320d6d46 164 wait(.2);
psddtgb 0:891a320d6d46 165 }
psddtgb 0:891a320d6d46 166 if (m==4 && pb2==0) {
psddtgb 0:891a320d6d46 167 keyboard.printf("w");
psddtgb 0:891a320d6d46 168 wait(.2);
psddtgb 0:891a320d6d46 169 }
psddtgb 0:891a320d6d46 170 if (m==4 && pb3==0) {
psddtgb 0:891a320d6d46 171 keyboard.printf("x");
psddtgb 0:891a320d6d46 172 wait(.2);
psddtgb 0:891a320d6d46 173 }
psddtgb 0:891a320d6d46 174 if (m==4 && pb4==0) {
psddtgb 0:891a320d6d46 175 keyboard.printf("y");
psddtgb 0:891a320d6d46 176 wait(.2);
psddtgb 0:891a320d6d46 177 }
psddtgb 0:891a320d6d46 178 if (m==4 && pb5==0) {
psddtgb 0:891a320d6d46 179 keyboard.printf("z");
psddtgb 0:891a320d6d46 180 wait(.2);
psddtgb 0:891a320d6d46 181 }
psddtgb 0:891a320d6d46 182 if (m==4 && pb6==0) {
psddtgb 0:891a320d6d46 183 keyboard.keyCode(KEY_CAPS_LOCK);
psddtgb 0:891a320d6d46 184 wait(.2);
psddtgb 0:891a320d6d46 185 }
psddtgb 0:891a320d6d46 186 if (m==4 && pb7==0) {
psddtgb 0:891a320d6d46 187 keyboard.printf("\b");
psddtgb 0:891a320d6d46 188 wait(.2);
psddtgb 0:891a320d6d46 189 }
psddtgb 0:891a320d6d46 190
psddtgb 0:891a320d6d46 191 }
psddtgb 0:891a320d6d46 192
psddtgb 0:891a320d6d46 193 }