Demo Team / Mbed 2 deprecated bluefruit

Dependencies:   mbed

Committer:
ShalajLawania
Date:
Wed Sep 24 09:29:23 2014 +0000
Revision:
2:98ab6e6dd8aa
Parent:
1:266895757ab3
Child:
3:b519acc65986
Revised version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ShalajLawania 1:266895757ab3 1 /* This Bluetooth Remote uses a Bluefruit E-Z Key
ShalajLawania 1:266895757ab3 2
ShalajLawania 1:266895757ab3 3 The default switch-key mapping for Bluefruit E-Z Key is
ShalajLawania 1:266895757ab3 4 #0 - Up Arrow
ShalajLawania 1:266895757ab3 5 #1 - Down Arrow
ShalajLawania 1:266895757ab3 6 #2 - Left Arrow
ShalajLawania 1:266895757ab3 7 #3 - Right Arrow
ShalajLawania 1:266895757ab3 8 #4 - Return
ShalajLawania 1:266895757ab3 9 #5 - Space
ShalajLawania 1:266895757ab3 10 #6 - the number '1'
ShalajLawania 1:266895757ab3 11 #7 - the number '2'
ShalajLawania 1:266895757ab3 12 #8 - lowercase 'w'
ShalajLawania 1:266895757ab3 13 #9 - lowercase 'a'
ShalajLawania 1:266895757ab3 14 #10 - lowercase 's'
ShalajLawania 1:266895757ab3 15 #11 - lowercase 'd'
ShalajLawania 1:266895757ab3 16
ShalajLawania 1:266895757ab3 17 These however can be remapped to include any keys the user needs (Shift, Esc, Backspace, VolumeUp, Play/Pause)
ShalajLawania 1:266895757ab3 18
ShalajLawania 1:266895757ab3 19 This Remote records all user input after one input has been entered.
ShalajLawania 1:266895757ab3 20 */
ShalajLawania 1:266895757ab3 21
ShalajLawania 0:4959c491059f 22 #include "mbed.h"
ShalajLawania 0:4959c491059f 23 #include "string.h"
ShalajLawania 0:4959c491059f 24
ShalajLawania 0:4959c491059f 25 DigitalOut upswitch (p30);
ShalajLawania 0:4959c491059f 26 DigitalOut downswitch (p29);
ShalajLawania 0:4959c491059f 27 DigitalOut rightswitch (p28);
ShalajLawania 0:4959c491059f 28 DigitalOut leftswitch (p27);
ShalajLawania 0:4959c491059f 29 DigitalOut enterswitch(p5);
ShalajLawania 0:4959c491059f 30 DigitalOut spaceswitch(p6);
ShalajLawania 0:4959c491059f 31 DigitalOut wswitch(p7);
ShalajLawania 1:266895757ab3 32 DigitalOut sswitch(p12);
ShalajLawania 1:266895757ab3 33 DigitalOut aswitch(p11);
ShalajLawania 1:266895757ab3 34 DigitalOut dswitch(p8);
ShalajLawania 1:266895757ab3 35 DigitalOut oneswitch(p13);
ShalajLawania 1:266895757ab3 36 DigitalOut twoswitch(p14 );
ShalajLawania 0:4959c491059f 37 Serial bluefruit(p9, p10);
ShalajLawania 0:4959c491059f 38 Serial pc(USBTX, USBRX);
ShalajLawania 0:4959c491059f 39 InterruptIn playI(p25);
ShalajLawania 1:266895757ab3 40 Timer t, t2,t3;
ShalajLawania 0:4959c491059f 41
ShalajLawania 0:4959c491059f 42 char buf [9];
ShalajLawania 1:266895757ab3 43 char moves[400]; //change array size to increase recorded moves
ShalajLawania 1:266895757ab3 44 unsigned long long times[400]; //change array size to increase recorded moves
ShalajLawania 1:266895757ab3 45 unsigned long long times2[400]; //change array size to increase recorded moves
ShalajLawania 1:266895757ab3 46 unsigned int i, j, k, z = 0;
ShalajLawania 0:4959c491059f 47 unsigned long long reader = 0;
ShalajLawania 1:266895757ab3 48 unsigned int onebutton, twobuttons = 0;
ShalajLawania 1:266895757ab3 49 unsigned int subtractor;
ShalajLawania 1:266895757ab3 50
ShalajLawania 1:266895757ab3 51 void t2_stop()
ShalajLawania 1:266895757ab3 52 {
ShalajLawania 1:266895757ab3 53 t2.stop();
ShalajLawania 1:266895757ab3 54 if(t2.read_ms()>0) {
ShalajLawania 1:266895757ab3 55 times2[j] = t2.read_ms();
ShalajLawania 1:266895757ab3 56 pc.printf("\n\r Press Time: %d", times2[j]);
ShalajLawania 1:266895757ab3 57 pc.printf("\n");
ShalajLawania 1:266895757ab3 58 }
ShalajLawania 1:266895757ab3 59 t2.reset();
ShalajLawania 1:266895757ab3 60 j++;
ShalajLawania 1:266895757ab3 61 }
ShalajLawania 1:266895757ab3 62
ShalajLawania 1:266895757ab3 63 void t3_stop()
ShalajLawania 1:266895757ab3 64 {
ShalajLawania 1:266895757ab3 65 t3.stop();
ShalajLawania 1:266895757ab3 66 reader = t3.read_ms();
ShalajLawania 1:266895757ab3 67 pc.printf("\n\r Time Taken %d", reader);
ShalajLawania 1:266895757ab3 68 pc.printf("\n");
ShalajLawania 1:266895757ab3 69 t3.reset();
ShalajLawania 1:266895757ab3 70 }
ShalajLawania 1:266895757ab3 71
ShalajLawania 1:266895757ab3 72 void twobutton_handler()
ShalajLawania 1:266895757ab3 73 {
ShalajLawania 1:266895757ab3 74 t2.stop();
ShalajLawania 1:266895757ab3 75 twobuttons = 0;
ShalajLawania 1:266895757ab3 76 times2[j] = t2.read_ms();
ShalajLawania 1:266895757ab3 77 subtractor = times2[j];
ShalajLawania 1:266895757ab3 78 pc.printf("\n\r Double Key Press Time: %d \n", times2[j]);
ShalajLawania 1:266895757ab3 79 j++;
ShalajLawania 1:266895757ab3 80 }
ShalajLawania 1:266895757ab3 81
ShalajLawania 1:266895757ab3 82 void onebutton_handler(char m)
ShalajLawania 1:266895757ab3 83 {
ShalajLawania 1:266895757ab3 84 onebutton = 1;
ShalajLawania 1:266895757ab3 85 t2.reset();
ShalajLawania 1:266895757ab3 86 t2.start();
ShalajLawania 1:266895757ab3 87 moves[i] = m;
ShalajLawania 1:266895757ab3 88 switch(m) {
ShalajLawania 1:266895757ab3 89 case 1:
ShalajLawania 1:266895757ab3 90 pc.printf("\n\r Move: Up");
ShalajLawania 1:266895757ab3 91 break;
ShalajLawania 1:266895757ab3 92 case 2:
ShalajLawania 1:266895757ab3 93 pc.printf("\n\r Move: Down");
ShalajLawania 1:266895757ab3 94 break;
ShalajLawania 1:266895757ab3 95 case 3:
ShalajLawania 1:266895757ab3 96 pc.printf("\n\r Move: Left");
ShalajLawania 1:266895757ab3 97 break;
ShalajLawania 1:266895757ab3 98 case 4:
ShalajLawania 1:266895757ab3 99 pc.printf("\n\r Move: Right");
ShalajLawania 1:266895757ab3 100 break;
ShalajLawania 1:266895757ab3 101 case 11:
ShalajLawania 1:266895757ab3 102 pc.printf("\n\r Move: w");
ShalajLawania 1:266895757ab3 103 break;
ShalajLawania 1:266895757ab3 104 case 12:
ShalajLawania 1:266895757ab3 105 pc.printf("\n\r Move: s");
ShalajLawania 1:266895757ab3 106 break;
ShalajLawania 1:266895757ab3 107 case 13:
ShalajLawania 1:266895757ab3 108 pc.printf("\n\r Move: a");
ShalajLawania 1:266895757ab3 109 break;
ShalajLawania 1:266895757ab3 110 case 14:
ShalajLawania 1:266895757ab3 111 pc.printf("\n\r Move: d");
ShalajLawania 1:266895757ab3 112 break;
ShalajLawania 1:266895757ab3 113 case 15:
ShalajLawania 1:266895757ab3 114 pc.printf("\n\r Move: Space");
ShalajLawania 1:266895757ab3 115 break;
ShalajLawania 1:266895757ab3 116 case 16:
ShalajLawania 1:266895757ab3 117 pc.printf("\n\r Move: Enter");
ShalajLawania 1:266895757ab3 118 break;
ShalajLawania 1:266895757ab3 119 case 17:
ShalajLawania 1:266895757ab3 120 pc.printf("\n\r Move: One");
ShalajLawania 1:266895757ab3 121 break;
ShalajLawania 1:266895757ab3 122 case 18:
ShalajLawania 1:266895757ab3 123 pc.printf("\n\r Move: Two");
ShalajLawania 1:266895757ab3 124 break;
ShalajLawania 1:266895757ab3 125
ShalajLawania 1:266895757ab3 126 default:
ShalajLawania 1:266895757ab3 127 break;
ShalajLawania 1:266895757ab3 128 }
ShalajLawania 1:266895757ab3 129 pc.printf("\n\r Position: %d", i);
ShalajLawania 1:266895757ab3 130 t.stop();
ShalajLawania 1:266895757ab3 131 times[i] = t.read_ms()-subtractor;
ShalajLawania 1:266895757ab3 132 pc.printf("\n\r Gap Time: %d", times[i]);
ShalajLawania 1:266895757ab3 133 t.reset();
ShalajLawania 1:266895757ab3 134 i++;
ShalajLawania 1:266895757ab3 135 }
ShalajLawania 1:266895757ab3 136
ShalajLawania 1:266895757ab3 137 void twobutton_instant(char n)
ShalajLawania 1:266895757ab3 138 {
ShalajLawania 1:266895757ab3 139 twobuttons = 1;
ShalajLawania 1:266895757ab3 140 t2.start();
ShalajLawania 1:266895757ab3 141 moves[i] = n;
ShalajLawania 1:266895757ab3 142 switch(n) {
ShalajLawania 1:266895757ab3 143 case 5:
ShalajLawania 1:266895757ab3 144 pc.printf("\n\r Move: Up + Right Instant");
ShalajLawania 1:266895757ab3 145 break;
ShalajLawania 1:266895757ab3 146 case 6:
ShalajLawania 1:266895757ab3 147 pc.printf("\n\r Move: Up + Down Instant");
ShalajLawania 1:266895757ab3 148 break;
ShalajLawania 1:266895757ab3 149 case 7:
ShalajLawania 1:266895757ab3 150 pc.printf("\n\r Move: Up + Left Instant");
ShalajLawania 1:266895757ab3 151 break;
ShalajLawania 1:266895757ab3 152 case 19:
ShalajLawania 1:266895757ab3 153 pc.printf("\n\r Move: w + a Instant");
ShalajLawania 1:266895757ab3 154 break;
ShalajLawania 1:266895757ab3 155 case 20:
ShalajLawania 1:266895757ab3 156 pc.printf("\n\r Move: w + d Instant");
ShalajLawania 1:266895757ab3 157 break;
ShalajLawania 1:266895757ab3 158 case 21:
ShalajLawania 1:266895757ab3 159 pc.printf("\n\r Move: s + a Instant");
ShalajLawania 1:266895757ab3 160 break;
ShalajLawania 1:266895757ab3 161 case 22:
ShalajLawania 1:266895757ab3 162 pc.printf("\n\r Move: s + d Instant");
ShalajLawania 1:266895757ab3 163 break;
ShalajLawania 1:266895757ab3 164 case 23:
ShalajLawania 1:266895757ab3 165 pc.printf("\n\r Move: w + s Instant");
ShalajLawania 1:266895757ab3 166 break;
ShalajLawania 1:266895757ab3 167 case 24:
ShalajLawania 1:266895757ab3 168 pc.printf("\n\r Move: a + d Instant");
ShalajLawania 1:266895757ab3 169 break;
ShalajLawania 1:266895757ab3 170 case 25:
ShalajLawania 1:266895757ab3 171 pc.printf("\n\r Move: One + Two Instant");
ShalajLawania 1:266895757ab3 172 break;
ShalajLawania 1:266895757ab3 173 case 26:
ShalajLawania 1:266895757ab3 174 pc.printf("\n\r Move: Up + Space Instant");
ShalajLawania 1:266895757ab3 175 break;
ShalajLawania 1:266895757ab3 176 case 27:
ShalajLawania 1:266895757ab3 177 pc.printf("\n\r Move: Right + Space Instant");
ShalajLawania 1:266895757ab3 178 break;
ShalajLawania 1:266895757ab3 179 case 28:
ShalajLawania 1:266895757ab3 180 pc.printf("\n\r Move: Left + Space Instant");
ShalajLawania 1:266895757ab3 181 break;
ShalajLawania 1:266895757ab3 182 case 29:
ShalajLawania 1:266895757ab3 183 pc.printf("\n\r Move: Down + Space Instant");
ShalajLawania 1:266895757ab3 184 break;
ShalajLawania 1:266895757ab3 185 case 30:
ShalajLawania 1:266895757ab3 186 pc.printf("\n\r Move: Up + Enter Instant");
ShalajLawania 1:266895757ab3 187 break;
ShalajLawania 1:266895757ab3 188 case 31:
ShalajLawania 1:266895757ab3 189 pc.printf("\n\r Move: Down + Enter Instant");
ShalajLawania 1:266895757ab3 190 break;
ShalajLawania 1:266895757ab3 191 case 32:
ShalajLawania 1:266895757ab3 192 pc.printf("\n\r Move: Right + Enter Instant");
ShalajLawania 1:266895757ab3 193 break;
ShalajLawania 1:266895757ab3 194 case 33:
ShalajLawania 1:266895757ab3 195 pc.printf("\n\r Move: Left + Enter Instant");
ShalajLawania 1:266895757ab3 196 default:
ShalajLawania 1:266895757ab3 197 break;
ShalajLawania 1:266895757ab3 198 }
ShalajLawania 1:266895757ab3 199 pc.printf("\n\r Position: %d", i);
ShalajLawania 1:266895757ab3 200 i++;
ShalajLawania 1:266895757ab3 201 }
ShalajLawania 1:266895757ab3 202
ShalajLawania 1:266895757ab3 203 void twobutton(char p)
ShalajLawania 1:266895757ab3 204 {
ShalajLawania 1:266895757ab3 205 onebutton = 0;
ShalajLawania 1:266895757ab3 206 twobuttons = 1;
ShalajLawania 1:266895757ab3 207 t2.start();
ShalajLawania 1:266895757ab3 208 moves[i] = p;
ShalajLawania 1:266895757ab3 209 switch(p) {
ShalajLawania 1:266895757ab3 210 case 5:
ShalajLawania 1:266895757ab3 211 pc.printf("\n\r Move: Up + Right");
ShalajLawania 1:266895757ab3 212 break;
ShalajLawania 1:266895757ab3 213 case 6:
ShalajLawania 1:266895757ab3 214 pc.printf("\n\r Move: Up + Down");
ShalajLawania 1:266895757ab3 215 break;
ShalajLawania 1:266895757ab3 216 case 7:
ShalajLawania 1:266895757ab3 217 pc.printf("\n\r Move: Up + Left");
ShalajLawania 1:266895757ab3 218 break;
ShalajLawania 1:266895757ab3 219 case 8:
ShalajLawania 1:266895757ab3 220 pc.printf("\n\r Move: Down + Right");
ShalajLawania 1:266895757ab3 221 break;
ShalajLawania 1:266895757ab3 222 case 9:
ShalajLawania 1:266895757ab3 223 pc.printf("\n\r Move: Down + Left");
ShalajLawania 1:266895757ab3 224 break;
ShalajLawania 1:266895757ab3 225 case 10:
ShalajLawania 1:266895757ab3 226 pc.printf("\n\r Move: Right + Left");
ShalajLawania 1:266895757ab3 227 break;
ShalajLawania 1:266895757ab3 228 case 19:
ShalajLawania 1:266895757ab3 229 pc.printf("\n\r Move: w + a");
ShalajLawania 1:266895757ab3 230 break;
ShalajLawania 1:266895757ab3 231 case 20:
ShalajLawania 1:266895757ab3 232 pc.printf("\n\r Move: w + d");
ShalajLawania 1:266895757ab3 233 break;
ShalajLawania 1:266895757ab3 234 case 21:
ShalajLawania 1:266895757ab3 235 pc.printf("\n\r Move: s + a");
ShalajLawania 1:266895757ab3 236 break;
ShalajLawania 1:266895757ab3 237 case 22:
ShalajLawania 1:266895757ab3 238 pc.printf("\n\r Move: s + d");
ShalajLawania 1:266895757ab3 239 break;
ShalajLawania 1:266895757ab3 240 case 23:
ShalajLawania 1:266895757ab3 241 pc.printf("\n\r Move: w + s");
ShalajLawania 1:266895757ab3 242 break;
ShalajLawania 1:266895757ab3 243 case 24:
ShalajLawania 1:266895757ab3 244 pc.printf("\n\r Move: a + d");
ShalajLawania 1:266895757ab3 245 break;
ShalajLawania 1:266895757ab3 246 case 25:
ShalajLawania 1:266895757ab3 247 pc.printf("\n\r Move: One + Two");
ShalajLawania 1:266895757ab3 248 break;
ShalajLawania 1:266895757ab3 249 case 26:
ShalajLawania 1:266895757ab3 250 pc.printf("\n\r Move: Up + Space");
ShalajLawania 1:266895757ab3 251 break;
ShalajLawania 1:266895757ab3 252 case 27:
ShalajLawania 1:266895757ab3 253 pc.printf("\n\r Move: Right + Space");
ShalajLawania 1:266895757ab3 254 break;
ShalajLawania 1:266895757ab3 255 case 28:
ShalajLawania 1:266895757ab3 256 pc.printf("\n\r Move: Left + Space");
ShalajLawania 1:266895757ab3 257 break;
ShalajLawania 1:266895757ab3 258 case 29:
ShalajLawania 1:266895757ab3 259 pc.printf("\n\r Move: Down + Space");
ShalajLawania 1:266895757ab3 260 break;
ShalajLawania 1:266895757ab3 261 case 30:
ShalajLawania 1:266895757ab3 262 pc.printf("\n\r Move: Up + Enter");
ShalajLawania 1:266895757ab3 263 break;
ShalajLawania 1:266895757ab3 264 case 31:
ShalajLawania 1:266895757ab3 265 pc.printf("\n\r Move: Down + Enter");
ShalajLawania 1:266895757ab3 266 break;
ShalajLawania 1:266895757ab3 267 case 32:
ShalajLawania 1:266895757ab3 268 pc.printf("\n\r Move: Right + Enter");
ShalajLawania 1:266895757ab3 269 break;
ShalajLawania 1:266895757ab3 270 case 33:
ShalajLawania 1:266895757ab3 271 pc.printf("\n\r Move: Left + Enter");
ShalajLawania 1:266895757ab3 272 break;
ShalajLawania 1:266895757ab3 273 default:
ShalajLawania 1:266895757ab3 274 break;
ShalajLawania 1:266895757ab3 275 }
ShalajLawania 1:266895757ab3 276 pc.printf("\n\r Position: %d", i);
ShalajLawania 1:266895757ab3 277 i++;
ShalajLawania 1:266895757ab3 278 }
ShalajLawania 1:266895757ab3 279
ShalajLawania 1:266895757ab3 280 void TwoButtons(char l)
ShalajLawania 1:266895757ab3 281 {
ShalajLawania 1:266895757ab3 282 t2_stop();
ShalajLawania 1:266895757ab3 283
ShalajLawania 1:266895757ab3 284 if(onebutton == 0) {
ShalajLawania 1:266895757ab3 285 twobutton_instant(l);
ShalajLawania 1:266895757ab3 286 } else {
ShalajLawania 1:266895757ab3 287 twobutton(l);
ShalajLawania 1:266895757ab3 288 }
ShalajLawania 1:266895757ab3 289 }
ShalajLawania 1:266895757ab3 290
ShalajLawania 1:266895757ab3 291 void OneButton(char q)
ShalajLawania 1:266895757ab3 292 {
ShalajLawania 1:266895757ab3 293 subtractor = 0;
ShalajLawania 1:266895757ab3 294 if (twobuttons) {
ShalajLawania 1:266895757ab3 295 twobutton_handler();
ShalajLawania 1:266895757ab3 296 }
ShalajLawania 1:266895757ab3 297 onebutton_handler(q);
ShalajLawania 1:266895757ab3 298 }
ShalajLawania 0:4959c491059f 299
ShalajLawania 0:4959c491059f 300 void comparison(char *b)
ShalajLawania 0:4959c491059f 301 {
ShalajLawania 1:266895757ab3 302 char *up, *down, *left, *right, *nobutton, *upright, *updown, *upleft, *rightleft, *downright, *downleft, *a, *w, *s, *d, *enter, *space, *one, *two, *wa,
ShalajLawania 2:98ab6e6dd8aa 303 *wd, *sa, *sd, *ws, *ad, *onetwo, *upspace, *rightspace, *downspace, *leftspace, *upenter, *downenter, *rightenter, *leftenter, *oneup, *onedown, *oneleft, *oneright,
ShalajLawania 2:98ab6e6dd8aa 304 *twoup, *twodown, *tworight, *twoleft, *onew, *ones, *oned, *onea, *oneenter, *onespace, *twow, *twos, *twod, *twoa, *twospace, *twoenter;
ShalajLawania 0:4959c491059f 305 up = strstr(b, "K 0xFFE"); // 1
ShalajLawania 0:4959c491059f 306 down = strstr(b, "K 0xFFD"); // 2
ShalajLawania 0:4959c491059f 307 left = strstr(b, "K 0xFFB"); // 3
ShalajLawania 0:4959c491059f 308 right = strstr(b, "K 0xFF7"); // 4
ShalajLawania 0:4959c491059f 309 upright = strstr(b, "K 0xFF6"); // 5
ShalajLawania 0:4959c491059f 310 updown = strstr(b, "K 0xFFC"); // 6
ShalajLawania 0:4959c491059f 311 upleft = strstr(b, "K 0xFFA"); // 7
ShalajLawania 0:4959c491059f 312 downright = strstr(b, "K 0xFF5"); // 8
ShalajLawania 0:4959c491059f 313 downleft = strstr(b, "K 0xFF9"); // 9
ShalajLawania 0:4959c491059f 314 rightleft = strstr(b, "K 0xFF3"); //10
ShalajLawania 1:266895757ab3 315 w = strstr(b, "K 0xEFF"); //11
ShalajLawania 1:266895757ab3 316 s = strstr(b, "K 0xBFF"); //12
ShalajLawania 1:266895757ab3 317 a = strstr(b, "K 0xDFF"); //13
ShalajLawania 1:266895757ab3 318 d = strstr(b, "K 0x7FF"); //14
ShalajLawania 1:266895757ab3 319 space = strstr(b, "K 0xFDF"); //15
ShalajLawania 1:266895757ab3 320 enter = strstr(b, "K 0xFEF"); //16
ShalajLawania 1:266895757ab3 321 one = strstr(b, "K 0xFBF"); //17
ShalajLawania 1:266895757ab3 322 two = strstr(b, "K 0xF7F"); //18
ShalajLawania 1:266895757ab3 323 wa = strstr(b, "K 0xCFF"); //19
ShalajLawania 1:266895757ab3 324 wd = strstr(b, "K 0x6FF"); //20
ShalajLawania 1:266895757ab3 325 sa = strstr(b, "K 0x9FF"); //21
ShalajLawania 1:266895757ab3 326 sd = strstr(b, "K 0x3FF"); //22
ShalajLawania 1:266895757ab3 327 ws = strstr(b, "K 0xAFF"); //23
ShalajLawania 1:266895757ab3 328 ad = strstr(b, "K 0x5FF"); //24
ShalajLawania 1:266895757ab3 329 onetwo = strstr(b, "K 0xF3F"); //25
ShalajLawania 1:266895757ab3 330 upspace = strstr(b, "K 0xFDE"); //26
ShalajLawania 1:266895757ab3 331 rightspace = strstr(b, "K 0xFD7"); //27
ShalajLawania 1:266895757ab3 332 leftspace = strstr(b, "K 0xFDB"); //28
ShalajLawania 1:266895757ab3 333 downspace = strstr(b, "K 0xFDD"); //29
ShalajLawania 1:266895757ab3 334 upenter = strstr(b, "K 0xFEE"); //30
ShalajLawania 1:266895757ab3 335 downenter = strstr(b, "K 0xFED"); //31
ShalajLawania 1:266895757ab3 336 rightenter = strstr(b, "K 0xFE7"); //32
ShalajLawania 1:266895757ab3 337 leftenter = strstr(b, "K 0xFEB"); //33
ShalajLawania 2:98ab6e6dd8aa 338 oneup = strstr(b, "K 0xFBE"); //34 move 34 - 53 have just been accounted to prevent array gaps, play feature can be incorporated
ShalajLawania 2:98ab6e6dd8aa 339 onedown = strstr(b, "K 0xFBD"); //35
ShalajLawania 2:98ab6e6dd8aa 340 oneleft = strstr(b, "K 0xFBB"); //36
ShalajLawania 2:98ab6e6dd8aa 341 oneright = strstr(b, "K 0xFB7"); //37
ShalajLawania 2:98ab6e6dd8aa 342 onew = strstr(b, "K 0xEBF"); //38
ShalajLawania 2:98ab6e6dd8aa 343 ones = strstr(b, "K 0xBBF"); //39
ShalajLawania 2:98ab6e6dd8aa 344 onea = strstr(b, "K 0xDBF"); //40
ShalajLawania 2:98ab6e6dd8aa 345 oned = strstr(b, "K 0x7BF"); //41
ShalajLawania 2:98ab6e6dd8aa 346 onespace = strstr(b, "K 0xF9F"); //42
ShalajLawania 2:98ab6e6dd8aa 347 oneenter = strstr(b, "K 0xFAF"); //43
ShalajLawania 2:98ab6e6dd8aa 348 twoup = strstr(b, "K 0xF7E"); //44
ShalajLawania 2:98ab6e6dd8aa 349 twodown = strstr(b, "K 0xF7D"); //45
ShalajLawania 2:98ab6e6dd8aa 350 tworight = strstr(b, "K 0xF77"); //46
ShalajLawania 2:98ab6e6dd8aa 351 twoleft = strstr(b, "K 0xF7B"); //47
ShalajLawania 2:98ab6e6dd8aa 352 twow = strstr(b, "K 0xE7F"); //48
ShalajLawania 2:98ab6e6dd8aa 353 twos = strstr(b, "K 0xB7F"); //49
ShalajLawania 2:98ab6e6dd8aa 354 twoa = strstr(b, "K 0xD7F"); //50
ShalajLawania 2:98ab6e6dd8aa 355 twod = strstr(b, "K 0x77F"); //51
ShalajLawania 2:98ab6e6dd8aa 356 twoenter = strstr(b, "K 0xF6F"); //52
ShalajLawania 2:98ab6e6dd8aa 357 twospace = strstr(b, "K 0xF5F"); //53
ShalajLawania 0:4959c491059f 358
ShalajLawania 1:266895757ab3 359 nobutton = strstr(b, "K 0xFFF"); //
ShalajLawania 0:4959c491059f 360
ShalajLawania 1:266895757ab3 361 if (strcmp(up, "K 0xFFE") == 0) { // 1
ShalajLawania 1:266895757ab3 362 OneButton(1);
ShalajLawania 1:266895757ab3 363 }
ShalajLawania 1:266895757ab3 364 if (strcmp(down, "K 0xFFD") == 0) { // 2
ShalajLawania 1:266895757ab3 365 OneButton(2);
ShalajLawania 1:266895757ab3 366 }
ShalajLawania 1:266895757ab3 367 if (strcmp(left, "K 0xFFB") == 0) { // 3
ShalajLawania 1:266895757ab3 368 OneButton(3);
ShalajLawania 1:266895757ab3 369 }
ShalajLawania 1:266895757ab3 370 if (strcmp(right, "K 0xFF7") == 0) { // 4
ShalajLawania 1:266895757ab3 371 OneButton(4);
ShalajLawania 1:266895757ab3 372 }
ShalajLawania 1:266895757ab3 373 if (strcmp(upright, "K 0xFF6") == 0) { // 5
ShalajLawania 1:266895757ab3 374 TwoButtons(5);
ShalajLawania 1:266895757ab3 375 }
ShalajLawania 1:266895757ab3 376 if (strcmp(updown, "K 0xFFC") == 0) { // 6
ShalajLawania 1:266895757ab3 377 TwoButtons(6);
ShalajLawania 0:4959c491059f 378 }
ShalajLawania 1:266895757ab3 379 if (strcmp(upleft, "K 0xFFA") == 0) { // 7
ShalajLawania 1:266895757ab3 380 TwoButtons(7);
ShalajLawania 1:266895757ab3 381 }
ShalajLawania 1:266895757ab3 382 if (strcmp(downright, "K 0xFF5") == 0) { // 8
ShalajLawania 1:266895757ab3 383 TwoButtons(8);
ShalajLawania 1:266895757ab3 384 }
ShalajLawania 1:266895757ab3 385 if (strcmp(downleft, "K 0xFF9") == 0) { // 9
ShalajLawania 1:266895757ab3 386 TwoButtons(9);
ShalajLawania 0:4959c491059f 387 }
ShalajLawania 1:266895757ab3 388 if (strcmp(rightleft, "K 0xFF3") == 0) { //10
ShalajLawania 1:266895757ab3 389 TwoButtons(10);
ShalajLawania 1:266895757ab3 390 }
ShalajLawania 1:266895757ab3 391 if (strcmp(w, "K 0xEFF") == 0) { // 11
ShalajLawania 1:266895757ab3 392 OneButton(11);
ShalajLawania 1:266895757ab3 393 }
ShalajLawania 1:266895757ab3 394 if (strcmp(s, "K 0xBFF") == 0) { // 12
ShalajLawania 1:266895757ab3 395 OneButton(12);
ShalajLawania 0:4959c491059f 396 }
ShalajLawania 1:266895757ab3 397 if (strcmp(a, "K 0xDFF") == 0) { // 13
ShalajLawania 1:266895757ab3 398 OneButton(13);
ShalajLawania 1:266895757ab3 399 }
ShalajLawania 1:266895757ab3 400 if (strcmp(d, "K 0x7FF") == 0) { // 14
ShalajLawania 1:266895757ab3 401 OneButton(14);
ShalajLawania 1:266895757ab3 402 }
ShalajLawania 1:266895757ab3 403 if (strcmp(space, "K 0xFDF") == 0) { // 15
ShalajLawania 1:266895757ab3 404 OneButton(15);
ShalajLawania 1:266895757ab3 405 }
ShalajLawania 1:266895757ab3 406 if (strcmp(enter, "K 0xFEF") == 0) { // 16
ShalajLawania 1:266895757ab3 407 OneButton(16);
ShalajLawania 1:266895757ab3 408 }
ShalajLawania 1:266895757ab3 409 if (strcmp(one, "K 0xFBF") == 0) { // 17
ShalajLawania 1:266895757ab3 410 OneButton(17);
ShalajLawania 0:4959c491059f 411 }
ShalajLawania 1:266895757ab3 412 if (strcmp(two, "K 0xF7F") == 0) { // 18
ShalajLawania 1:266895757ab3 413 OneButton(18);
ShalajLawania 1:266895757ab3 414 }
ShalajLawania 1:266895757ab3 415 if (strcmp(wa, "K 0xCFF") == 0) { // 19
ShalajLawania 1:266895757ab3 416 TwoButtons(19);
ShalajLawania 1:266895757ab3 417 }
ShalajLawania 1:266895757ab3 418 if (strcmp(wd, "K 0x6FF") == 0) { // 20
ShalajLawania 1:266895757ab3 419 TwoButtons(20);
ShalajLawania 1:266895757ab3 420 }
ShalajLawania 1:266895757ab3 421 if (strcmp(sa, "K 0x9FF") == 0) { // 21
ShalajLawania 1:266895757ab3 422 TwoButtons(21);
ShalajLawania 1:266895757ab3 423 }
ShalajLawania 1:266895757ab3 424 if (strcmp(sd, "K 0x3FF") == 0) { // 22
ShalajLawania 1:266895757ab3 425 TwoButtons(22);
ShalajLawania 0:4959c491059f 426 }
ShalajLawania 1:266895757ab3 427 if (strcmp(ws, "K 0xAFF") == 0) { // 23
ShalajLawania 1:266895757ab3 428 TwoButtons(23);
ShalajLawania 1:266895757ab3 429 }
ShalajLawania 1:266895757ab3 430 if (strcmp(ad, "K 0x5FF") == 0) { // 24
ShalajLawania 1:266895757ab3 431 TwoButtons(24);
ShalajLawania 1:266895757ab3 432 }
ShalajLawania 1:266895757ab3 433 if (strcmp(onetwo, "K 0xF3F") == 0) { // 25
ShalajLawania 1:266895757ab3 434 TwoButtons(25);
ShalajLawania 1:266895757ab3 435 }
ShalajLawania 1:266895757ab3 436 if (strcmp(upspace, "K 0xFDE") == 0) { // 26
ShalajLawania 1:266895757ab3 437 TwoButtons(26);
ShalajLawania 1:266895757ab3 438 }
ShalajLawania 1:266895757ab3 439 if (strcmp(rightspace, "K 0xFD7") == 0) { // 27
ShalajLawania 1:266895757ab3 440 TwoButtons(27);
ShalajLawania 0:4959c491059f 441 }
ShalajLawania 1:266895757ab3 442 if (strcmp(leftspace, "K 0xFDB") == 0) { // 28
ShalajLawania 1:266895757ab3 443 TwoButtons(28);
ShalajLawania 1:266895757ab3 444 }
ShalajLawania 1:266895757ab3 445 if (strcmp(downspace, "K 0xFDD") == 0) { //29
ShalajLawania 1:266895757ab3 446 TwoButtons(29);
ShalajLawania 1:266895757ab3 447 }
ShalajLawania 1:266895757ab3 448 if (strcmp(upenter, "K 0xFEE") == 0) { // 30
ShalajLawania 1:266895757ab3 449 TwoButtons(30);
ShalajLawania 0:4959c491059f 450 }
ShalajLawania 1:266895757ab3 451 if (strcmp(downenter, "K 0xFED") == 0) { // 31
ShalajLawania 1:266895757ab3 452 TwoButtons(31);
ShalajLawania 1:266895757ab3 453 }
ShalajLawania 1:266895757ab3 454 if (strcmp(rightenter, "K 0xFE7") == 0) { // 32
ShalajLawania 1:266895757ab3 455 TwoButtons(32);
ShalajLawania 1:266895757ab3 456 }
ShalajLawania 1:266895757ab3 457 if (strcmp(leftenter, "K 0xFEB") == 0) { // 33
ShalajLawania 1:266895757ab3 458 TwoButtons(33);
ShalajLawania 0:4959c491059f 459 }
ShalajLawania 0:4959c491059f 460 if (strcmp(nobutton, "K 0xFFF") == 0) {
ShalajLawania 1:266895757ab3 461 if(onebutton) {
ShalajLawania 0:4959c491059f 462 onebutton = 0;
ShalajLawania 1:266895757ab3 463 t2_stop();
ShalajLawania 0:4959c491059f 464 }
ShalajLawania 0:4959c491059f 465 if (twobuttons) {
ShalajLawania 1:266895757ab3 466 twobutton_handler();
ShalajLawania 1:266895757ab3 467 t2.reset();
ShalajLawania 0:4959c491059f 468 }
ShalajLawania 0:4959c491059f 469 }
ShalajLawania 0:4959c491059f 470 }
ShalajLawania 0:4959c491059f 471
ShalajLawania 0:4959c491059f 472 void playfunction()
ShalajLawania 0:4959c491059f 473 {
ShalajLawania 0:4959c491059f 474 t.stop();
ShalajLawania 0:4959c491059f 475 t.reset();
ShalajLawania 0:4959c491059f 476 pc.printf("\n\r PLAY \n");
ShalajLawania 1:266895757ab3 477 for (k = 0; k < j; k++) { //Eliminate 0s presses
ShalajLawania 0:4959c491059f 478 if (times2[k] == 0) {
ShalajLawania 0:4959c491059f 479 for (int z = k; z < j; z++) {
ShalajLawania 1:266895757ab3 480 times2[z] = times2[z+1];
ShalajLawania 0:4959c491059f 481 }
ShalajLawania 0:4959c491059f 482 j--;
ShalajLawania 0:4959c491059f 483 }
ShalajLawania 1:266895757ab3 484 }
ShalajLawania 1:266895757ab3 485 for(k = 0; k < i; k++) {
ShalajLawania 0:4959c491059f 486 wait_ms(times[k]);
ShalajLawania 1:266895757ab3 487 pc.printf("\n\r Position: %d", k);
ShalajLawania 0:4959c491059f 488 pc.printf("\n\r Wait Time: %d",times[k]);
ShalajLawania 0:4959c491059f 489 switch (moves[k]) {
ShalajLawania 0:4959c491059f 490 case 1:
ShalajLawania 0:4959c491059f 491 t3.start();
ShalajLawania 0:4959c491059f 492 pc.printf("\n\r Move: Up");
ShalajLawania 0:4959c491059f 493 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 494 upswitch = 0;
ShalajLawania 0:4959c491059f 495 }
ShalajLawania 0:4959c491059f 496 upswitch = 1;
ShalajLawania 1:266895757ab3 497 t3_stop();
ShalajLawania 0:4959c491059f 498 break;
ShalajLawania 0:4959c491059f 499 case 2:
ShalajLawania 0:4959c491059f 500 pc.printf("\n\r Move: Down");
ShalajLawania 0:4959c491059f 501 t3.start();
ShalajLawania 0:4959c491059f 502 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 503 downswitch = 0;
ShalajLawania 0:4959c491059f 504 }
ShalajLawania 0:4959c491059f 505 downswitch = 1;
ShalajLawania 1:266895757ab3 506 t3_stop();
ShalajLawania 0:4959c491059f 507 break;
ShalajLawania 0:4959c491059f 508 case 3:
ShalajLawania 0:4959c491059f 509 pc.printf("\n\r Move: Left");
ShalajLawania 0:4959c491059f 510 t3.start();
ShalajLawania 0:4959c491059f 511 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 512 leftswitch = 0;
ShalajLawania 0:4959c491059f 513 }
ShalajLawania 0:4959c491059f 514 leftswitch = 1;
ShalajLawania 1:266895757ab3 515 t3_stop();
ShalajLawania 0:4959c491059f 516 break;
ShalajLawania 0:4959c491059f 517 case 4:
ShalajLawania 0:4959c491059f 518 pc.printf("\n\r Move: Right");
ShalajLawania 0:4959c491059f 519 t3.start();
ShalajLawania 0:4959c491059f 520 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 521 rightswitch = 0;
ShalajLawania 0:4959c491059f 522 }
ShalajLawania 0:4959c491059f 523 rightswitch = 1;
ShalajLawania 1:266895757ab3 524 t3_stop();
ShalajLawania 0:4959c491059f 525 break;
ShalajLawania 0:4959c491059f 526 case 5:
ShalajLawania 0:4959c491059f 527 pc.printf("\n\r Move: Up + Right");
ShalajLawania 0:4959c491059f 528 pc.printf("\n\r Position: %d", k);
ShalajLawania 0:4959c491059f 529 t3.start();
ShalajLawania 0:4959c491059f 530 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 531 upswitch = 0;
ShalajLawania 0:4959c491059f 532 rightswitch = 0;
ShalajLawania 0:4959c491059f 533 }
ShalajLawania 0:4959c491059f 534 upswitch = 1;
ShalajLawania 0:4959c491059f 535 rightswitch = 1;
ShalajLawania 1:266895757ab3 536 t3_stop();
ShalajLawania 0:4959c491059f 537 break;
ShalajLawania 0:4959c491059f 538 case 6:
ShalajLawania 0:4959c491059f 539 pc.printf("\n\r Move: Up + Down");
ShalajLawania 0:4959c491059f 540 t3.start();
ShalajLawania 0:4959c491059f 541 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 542 upswitch = 0;
ShalajLawania 0:4959c491059f 543 downswitch = 0;
ShalajLawania 0:4959c491059f 544 }
ShalajLawania 0:4959c491059f 545 upswitch = 1;
ShalajLawania 0:4959c491059f 546 downswitch = 1;
ShalajLawania 1:266895757ab3 547 t3_stop();
ShalajLawania 0:4959c491059f 548 break;
ShalajLawania 0:4959c491059f 549 case 7:
ShalajLawania 0:4959c491059f 550 pc.printf("\n\r Move: Up + Left");
ShalajLawania 0:4959c491059f 551 t3.start();
ShalajLawania 0:4959c491059f 552 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 553 upswitch = 0;
ShalajLawania 0:4959c491059f 554 leftswitch = 0;
ShalajLawania 0:4959c491059f 555 }
ShalajLawania 0:4959c491059f 556 upswitch = 1;
ShalajLawania 0:4959c491059f 557 leftswitch = 1;
ShalajLawania 1:266895757ab3 558 t3_stop();
ShalajLawania 0:4959c491059f 559 break;
ShalajLawania 0:4959c491059f 560 case 8:
ShalajLawania 0:4959c491059f 561 pc.printf("\n\r Move: Down + Right");
ShalajLawania 0:4959c491059f 562 t3.start();
ShalajLawania 0:4959c491059f 563 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 564 downswitch = 0;
ShalajLawania 0:4959c491059f 565 rightswitch = 0;
ShalajLawania 0:4959c491059f 566 }
ShalajLawania 0:4959c491059f 567 downswitch = 1;
ShalajLawania 0:4959c491059f 568 rightswitch = 1;
ShalajLawania 1:266895757ab3 569 t3_stop();
ShalajLawania 0:4959c491059f 570 break;
ShalajLawania 0:4959c491059f 571 case 9:
ShalajLawania 0:4959c491059f 572 pc.printf("\n\r Move: Down + Left");
ShalajLawania 0:4959c491059f 573 t3.start();
ShalajLawania 0:4959c491059f 574 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 575 downswitch = 0;
ShalajLawania 0:4959c491059f 576 leftswitch = 0;
ShalajLawania 0:4959c491059f 577 }
ShalajLawania 0:4959c491059f 578 downswitch = 1;
ShalajLawania 0:4959c491059f 579 leftswitch = 1;
ShalajLawania 1:266895757ab3 580 t3_stop();
ShalajLawania 0:4959c491059f 581 break;
ShalajLawania 0:4959c491059f 582 case 10:
ShalajLawania 0:4959c491059f 583 pc.printf("\n\r Move: Right + Left");
ShalajLawania 0:4959c491059f 584 t3.start();
ShalajLawania 0:4959c491059f 585 while(t3.read_ms() < times2[k]) {
ShalajLawania 0:4959c491059f 586 rightswitch = 0;
ShalajLawania 0:4959c491059f 587 leftswitch = 0;
ShalajLawania 0:4959c491059f 588 }
ShalajLawania 0:4959c491059f 589 rightswitch = 1;
ShalajLawania 0:4959c491059f 590 leftswitch = 1;
ShalajLawania 1:266895757ab3 591 t3_stop();
ShalajLawania 1:266895757ab3 592 break;
ShalajLawania 1:266895757ab3 593
ShalajLawania 1:266895757ab3 594 case 11:
ShalajLawania 1:266895757ab3 595 pc.printf("\n\r Move: w");
ShalajLawania 1:266895757ab3 596 t3.start();
ShalajLawania 1:266895757ab3 597 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 598 wswitch = 0;
ShalajLawania 1:266895757ab3 599 }
ShalajLawania 1:266895757ab3 600 wswitch = 1;
ShalajLawania 1:266895757ab3 601 t3_stop();
ShalajLawania 1:266895757ab3 602 break;
ShalajLawania 1:266895757ab3 603
ShalajLawania 1:266895757ab3 604 case 12:
ShalajLawania 1:266895757ab3 605 pc.printf("\n\r Move: s");
ShalajLawania 1:266895757ab3 606 t3.start();
ShalajLawania 1:266895757ab3 607 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 608 sswitch = 0;
ShalajLawania 1:266895757ab3 609 }
ShalajLawania 1:266895757ab3 610 sswitch = 1;
ShalajLawania 1:266895757ab3 611 t3_stop();
ShalajLawania 1:266895757ab3 612 break;
ShalajLawania 1:266895757ab3 613
ShalajLawania 1:266895757ab3 614 case 13:
ShalajLawania 1:266895757ab3 615 pc.printf("\n\r Move: a");
ShalajLawania 1:266895757ab3 616 t3.start();
ShalajLawania 1:266895757ab3 617 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 618 aswitch = 0;
ShalajLawania 1:266895757ab3 619 }
ShalajLawania 1:266895757ab3 620 aswitch = 1;
ShalajLawania 1:266895757ab3 621 t3_stop();
ShalajLawania 1:266895757ab3 622 break;
ShalajLawania 1:266895757ab3 623
ShalajLawania 1:266895757ab3 624 case 14:
ShalajLawania 1:266895757ab3 625 pc.printf("\n\r Move: d");
ShalajLawania 1:266895757ab3 626 t3.start();
ShalajLawania 1:266895757ab3 627 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 628 dswitch = 0;
ShalajLawania 1:266895757ab3 629 }
ShalajLawania 1:266895757ab3 630 dswitch = 1;
ShalajLawania 1:266895757ab3 631 t3_stop();
ShalajLawania 1:266895757ab3 632 break;
ShalajLawania 1:266895757ab3 633
ShalajLawania 1:266895757ab3 634 case 15:
ShalajLawania 1:266895757ab3 635 pc.printf("\n\r Move: Space");
ShalajLawania 1:266895757ab3 636 t3.start();
ShalajLawania 1:266895757ab3 637 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 638 spaceswitch = 0;
ShalajLawania 1:266895757ab3 639 }
ShalajLawania 1:266895757ab3 640 spaceswitch = 1;
ShalajLawania 1:266895757ab3 641 t3_stop();
ShalajLawania 1:266895757ab3 642 break;
ShalajLawania 1:266895757ab3 643
ShalajLawania 1:266895757ab3 644 case 16:
ShalajLawania 1:266895757ab3 645 pc.printf("\n\r Move: Enter");
ShalajLawania 1:266895757ab3 646 t3.start();
ShalajLawania 1:266895757ab3 647 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 648 enterswitch = 0;
ShalajLawania 1:266895757ab3 649 }
ShalajLawania 1:266895757ab3 650 enterswitch = 1;
ShalajLawania 1:266895757ab3 651 t3_stop();
ShalajLawania 1:266895757ab3 652 break;
ShalajLawania 1:266895757ab3 653
ShalajLawania 1:266895757ab3 654 case 17:
ShalajLawania 1:266895757ab3 655 pc.printf("\n\r Move: 1");
ShalajLawania 1:266895757ab3 656 t3.start();
ShalajLawania 1:266895757ab3 657 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 658 oneswitch = 0;
ShalajLawania 1:266895757ab3 659 }
ShalajLawania 1:266895757ab3 660 oneswitch = 1;
ShalajLawania 1:266895757ab3 661 t3_stop();
ShalajLawania 1:266895757ab3 662 break;
ShalajLawania 1:266895757ab3 663
ShalajLawania 1:266895757ab3 664 case 18:
ShalajLawania 1:266895757ab3 665 pc.printf("\n\r Move: 2");
ShalajLawania 1:266895757ab3 666 t3.start();
ShalajLawania 1:266895757ab3 667 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 668 twoswitch = 0;
ShalajLawania 1:266895757ab3 669 }
ShalajLawania 1:266895757ab3 670 twoswitch = 1;
ShalajLawania 1:266895757ab3 671 t3_stop();
ShalajLawania 1:266895757ab3 672 break;
ShalajLawania 1:266895757ab3 673
ShalajLawania 1:266895757ab3 674 case 19:
ShalajLawania 1:266895757ab3 675 pc.printf("\n\r Move: w + a");
ShalajLawania 1:266895757ab3 676 pc.printf("\n\r Position: %d", k);
ShalajLawania 1:266895757ab3 677 t3.start();
ShalajLawania 1:266895757ab3 678 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 679 wswitch = 0;
ShalajLawania 1:266895757ab3 680 aswitch = 0;
ShalajLawania 1:266895757ab3 681 }
ShalajLawania 1:266895757ab3 682 wswitch = 1;
ShalajLawania 1:266895757ab3 683 aswitch = 1;
ShalajLawania 1:266895757ab3 684 t3_stop();
ShalajLawania 1:266895757ab3 685 break;
ShalajLawania 1:266895757ab3 686
ShalajLawania 1:266895757ab3 687 case 20:
ShalajLawania 1:266895757ab3 688 pc.printf("\n\r Move: w + d");
ShalajLawania 1:266895757ab3 689 t3.start();
ShalajLawania 1:266895757ab3 690 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 691 wswitch = 0;
ShalajLawania 1:266895757ab3 692 dswitch = 0;
ShalajLawania 1:266895757ab3 693 }
ShalajLawania 1:266895757ab3 694 wswitch = 1;
ShalajLawania 1:266895757ab3 695 dswitch = 1;
ShalajLawania 1:266895757ab3 696 t3_stop();
ShalajLawania 1:266895757ab3 697 break;
ShalajLawania 1:266895757ab3 698
ShalajLawania 1:266895757ab3 699 case 21:
ShalajLawania 1:266895757ab3 700 pc.printf("\n\r Move: s + a");
ShalajLawania 1:266895757ab3 701 t3.start();
ShalajLawania 1:266895757ab3 702 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 703 sswitch = 0;
ShalajLawania 1:266895757ab3 704 aswitch = 0;
ShalajLawania 1:266895757ab3 705 }
ShalajLawania 1:266895757ab3 706 sswitch = 1;
ShalajLawania 1:266895757ab3 707 aswitch = 1;
ShalajLawania 1:266895757ab3 708 t3_stop();
ShalajLawania 1:266895757ab3 709 break;
ShalajLawania 1:266895757ab3 710
ShalajLawania 1:266895757ab3 711 case 22:
ShalajLawania 1:266895757ab3 712 pc.printf("\n\r Move: s + d");
ShalajLawania 1:266895757ab3 713 t3.start();
ShalajLawania 1:266895757ab3 714 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 715 sswitch = 0;
ShalajLawania 1:266895757ab3 716 dswitch = 0;
ShalajLawania 1:266895757ab3 717 }
ShalajLawania 1:266895757ab3 718 sswitch = 1;
ShalajLawania 1:266895757ab3 719 dswitch = 1;
ShalajLawania 1:266895757ab3 720 t3_stop();
ShalajLawania 0:4959c491059f 721 break;
ShalajLawania 0:4959c491059f 722
ShalajLawania 1:266895757ab3 723 case 23:
ShalajLawania 1:266895757ab3 724 pc.printf("\n\r Move: w + s");
ShalajLawania 1:266895757ab3 725 t3.start();
ShalajLawania 1:266895757ab3 726 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 727 wswitch = 0;
ShalajLawania 1:266895757ab3 728 sswitch = 0;
ShalajLawania 1:266895757ab3 729 }
ShalajLawania 1:266895757ab3 730 wswitch = 1;
ShalajLawania 1:266895757ab3 731 sswitch = 1;
ShalajLawania 1:266895757ab3 732 t3_stop();
ShalajLawania 1:266895757ab3 733 break;
ShalajLawania 1:266895757ab3 734
ShalajLawania 1:266895757ab3 735 case 24:
ShalajLawania 1:266895757ab3 736 pc.printf("\n\r Move: a + d");
ShalajLawania 1:266895757ab3 737 t3.start();
ShalajLawania 1:266895757ab3 738 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 739 aswitch = 0;
ShalajLawania 1:266895757ab3 740 dswitch = 0;
ShalajLawania 1:266895757ab3 741 }
ShalajLawania 1:266895757ab3 742 aswitch = 1;
ShalajLawania 1:266895757ab3 743 dswitch = 1;
ShalajLawania 1:266895757ab3 744 t3_stop();
ShalajLawania 1:266895757ab3 745 break;
ShalajLawania 1:266895757ab3 746
ShalajLawania 1:266895757ab3 747 case 25:
ShalajLawania 1:266895757ab3 748 pc.printf("\n\r Move: one + two");
ShalajLawania 1:266895757ab3 749 t3.start();
ShalajLawania 1:266895757ab3 750 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 751 oneswitch = 0;
ShalajLawania 1:266895757ab3 752 twoswitch = 0;
ShalajLawania 1:266895757ab3 753 }
ShalajLawania 1:266895757ab3 754 oneswitch = 1;
ShalajLawania 1:266895757ab3 755 twoswitch = 1;
ShalajLawania 1:266895757ab3 756 t3_stop();
ShalajLawania 1:266895757ab3 757 break;
ShalajLawania 1:266895757ab3 758
ShalajLawania 1:266895757ab3 759 case 26:
ShalajLawania 1:266895757ab3 760 pc.printf("\n\r Move: Up + Space");
ShalajLawania 1:266895757ab3 761 t3.start();
ShalajLawania 1:266895757ab3 762 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 763 upswitch = 0;
ShalajLawania 1:266895757ab3 764 spaceswitch = 0;
ShalajLawania 1:266895757ab3 765 }
ShalajLawania 1:266895757ab3 766 upswitch = 1;
ShalajLawania 1:266895757ab3 767 spaceswitch = 1;
ShalajLawania 1:266895757ab3 768 t3_stop();
ShalajLawania 1:266895757ab3 769 break;
ShalajLawania 1:266895757ab3 770
ShalajLawania 1:266895757ab3 771 case 27:
ShalajLawania 1:266895757ab3 772 pc.printf("\n\r Move: Right + Space");
ShalajLawania 1:266895757ab3 773 t3.start();
ShalajLawania 1:266895757ab3 774 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 775 rightswitch = 0;
ShalajLawania 1:266895757ab3 776 spaceswitch = 0;
ShalajLawania 1:266895757ab3 777 }
ShalajLawania 1:266895757ab3 778 rightswitch = 1;
ShalajLawania 1:266895757ab3 779 spaceswitch = 1;
ShalajLawania 1:266895757ab3 780 t3_stop();
ShalajLawania 1:266895757ab3 781 break;
ShalajLawania 1:266895757ab3 782
ShalajLawania 1:266895757ab3 783 case 28:
ShalajLawania 1:266895757ab3 784 pc.printf("\n\r Move: Space + Left");
ShalajLawania 1:266895757ab3 785 t3.start();
ShalajLawania 1:266895757ab3 786 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 787 spaceswitch = 0;
ShalajLawania 1:266895757ab3 788 leftswitch = 0;
ShalajLawania 1:266895757ab3 789 }
ShalajLawania 1:266895757ab3 790 spaceswitch = 1;
ShalajLawania 1:266895757ab3 791 leftswitch = 1;
ShalajLawania 1:266895757ab3 792 t3_stop();
ShalajLawania 1:266895757ab3 793 break;
ShalajLawania 1:266895757ab3 794
ShalajLawania 1:266895757ab3 795 case 29:
ShalajLawania 1:266895757ab3 796 pc.printf("\n\r Move: Down + Space");
ShalajLawania 1:266895757ab3 797 t3.start();
ShalajLawania 1:266895757ab3 798 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 799 downswitch = 0;
ShalajLawania 1:266895757ab3 800 spaceswitch = 0;
ShalajLawania 1:266895757ab3 801 }
ShalajLawania 1:266895757ab3 802 downswitch = 1;
ShalajLawania 1:266895757ab3 803 spaceswitch = 1;
ShalajLawania 1:266895757ab3 804 t3_stop();
ShalajLawania 1:266895757ab3 805 break;
ShalajLawania 1:266895757ab3 806
ShalajLawania 1:266895757ab3 807 case 30:
ShalajLawania 1:266895757ab3 808 pc.printf("\n\r Move: Up + Enter");
ShalajLawania 1:266895757ab3 809 t3.start();
ShalajLawania 1:266895757ab3 810 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 811 upswitch = 0;
ShalajLawania 1:266895757ab3 812 enterswitch = 0;
ShalajLawania 1:266895757ab3 813 }
ShalajLawania 1:266895757ab3 814 upswitch = 1;
ShalajLawania 1:266895757ab3 815 enterswitch = 1;
ShalajLawania 1:266895757ab3 816 t3_stop();
ShalajLawania 1:266895757ab3 817 break;
ShalajLawania 1:266895757ab3 818
ShalajLawania 1:266895757ab3 819 case 31:
ShalajLawania 1:266895757ab3 820 pc.printf("\n\r Move: Down + Enter");
ShalajLawania 1:266895757ab3 821 t3.start();
ShalajLawania 1:266895757ab3 822 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 823 downswitch = 0;
ShalajLawania 1:266895757ab3 824 enterswitch = 0;
ShalajLawania 1:266895757ab3 825 }
ShalajLawania 1:266895757ab3 826 rightswitch = 1;
ShalajLawania 1:266895757ab3 827 leftswitch = 1;
ShalajLawania 1:266895757ab3 828 t3_stop();
ShalajLawania 1:266895757ab3 829 break;
ShalajLawania 1:266895757ab3 830
ShalajLawania 1:266895757ab3 831 case 32:
ShalajLawania 1:266895757ab3 832 pc.printf("\n\r Move: Right + Enter");
ShalajLawania 1:266895757ab3 833 t3.start();
ShalajLawania 1:266895757ab3 834 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 835 rightswitch = 0;
ShalajLawania 1:266895757ab3 836 enterswitch = 0;
ShalajLawania 1:266895757ab3 837 }
ShalajLawania 1:266895757ab3 838 rightswitch = 1;
ShalajLawania 1:266895757ab3 839 enterswitch = 1;
ShalajLawania 1:266895757ab3 840 t3_stop();
ShalajLawania 1:266895757ab3 841 break;
ShalajLawania 1:266895757ab3 842
ShalajLawania 1:266895757ab3 843 case 33:
ShalajLawania 1:266895757ab3 844 pc.printf("\n\r Move: Enter + Left");
ShalajLawania 1:266895757ab3 845 t3.start();
ShalajLawania 1:266895757ab3 846 while(t3.read_ms() < times2[k]) {
ShalajLawania 1:266895757ab3 847 enterswitch = 0;
ShalajLawania 1:266895757ab3 848 leftswitch = 0;
ShalajLawania 1:266895757ab3 849 }
ShalajLawania 1:266895757ab3 850 rightswitch = 1;
ShalajLawania 1:266895757ab3 851 enterswitch = 1;
ShalajLawania 1:266895757ab3 852 t3_stop();
ShalajLawania 1:266895757ab3 853 break;
ShalajLawania 0:4959c491059f 854 default:
ShalajLawania 0:4959c491059f 855 break;
ShalajLawania 0:4959c491059f 856 }
ShalajLawania 0:4959c491059f 857 }
ShalajLawania 0:4959c491059f 858 pc.printf("\n\r DONE");
ShalajLawania 0:4959c491059f 859 }
ShalajLawania 0:4959c491059f 860
ShalajLawania 0:4959c491059f 861 int main()
ShalajLawania 0:4959c491059f 862 {
ShalajLawania 1:266895757ab3 863 pc.printf("\n\r START \n");
ShalajLawania 0:4959c491059f 864 while(1) {
ShalajLawania 0:4959c491059f 865 upswitch = 1;
ShalajLawania 0:4959c491059f 866 downswitch = 1;
ShalajLawania 0:4959c491059f 867 leftswitch = 1;
ShalajLawania 0:4959c491059f 868 rightswitch = 1;
ShalajLawania 0:4959c491059f 869 wswitch = 1;
ShalajLawania 0:4959c491059f 870 sswitch = 1;
ShalajLawania 0:4959c491059f 871 aswitch = 1;
ShalajLawania 0:4959c491059f 872 dswitch = 1;
ShalajLawania 0:4959c491059f 873 enterswitch = 1;
ShalajLawania 0:4959c491059f 874 spaceswitch = 1;
ShalajLawania 0:4959c491059f 875 oneswitch = 1;
ShalajLawania 0:4959c491059f 876 twoswitch = 1;
ShalajLawania 0:4959c491059f 877 if(twobuttons == 0) {
ShalajLawania 1:266895757ab3 878 t.start();
ShalajLawania 0:4959c491059f 879 }
ShalajLawania 0:4959c491059f 880 playI.rise(&playfunction);
ShalajLawania 0:4959c491059f 881 if (bluefruit.readable()) {
ShalajLawania 0:4959c491059f 882 bluefruit.gets(buf, 9);
ShalajLawania 2:98ab6e6dd8aa 883 pc.puts(buf);
ShalajLawania 0:4959c491059f 884 comparison(buf);
ShalajLawania 1:266895757ab3 885
ShalajLawania 0:4959c491059f 886 }
ShalajLawania 0:4959c491059f 887 }
ShalajLawania 0:4959c491059f 888 }