Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: DebounceIn USBDevice mbed
Fork of idd_fall15_hw2_psddtgb_PushButtonTextEntry by
main.cpp@0:891a320d6d46, 2015-09-14 (annotated)
- Committer:
- psddtgb
- Date:
- Mon Sep 14 00:53:13 2015 +0000
- Revision:
- 0:891a320d6d46
- Child:
- 1:80def904a1b8
HW2
Who changed what in which revision?
| User | Revision | Line number | New 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 | } |
