a command line interface that can dynamically assign pins

Dependencies:   TextLCD mbed PS2

Committer:
gsulc
Date:
Thu Oct 20 20:27:04 2011 +0000
Revision:
0:4b04cc4cccb4

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gsulc 0:4b04cc4cccb4 1 #include "keyname.h"
gsulc 0:4b04cc4cccb4 2
gsulc 0:4b04cc4cccb4 3 DigitalOut myled1(LED1);
gsulc 0:4b04cc4cccb4 4 DigitalOut myled2(LED2);
gsulc 0:4b04cc4cccb4 5 DigitalOut myled3(LED3);
gsulc 0:4b04cc4cccb4 6 DigitalOut myled4(LED4);
gsulc 0:4b04cc4cccb4 7
gsulc 0:4b04cc4cccb4 8 char keyname(char scancode){
gsulc 0:4b04cc4cccb4 9 switch(scancode){
gsulc 0:4b04cc4cccb4 10 case 0x16:
gsulc 0:4b04cc4cccb4 11 return '1';
gsulc 0:4b04cc4cccb4 12 case 0x1E:
gsulc 0:4b04cc4cccb4 13 return '2';
gsulc 0:4b04cc4cccb4 14 case 0x26:
gsulc 0:4b04cc4cccb4 15 return '3';
gsulc 0:4b04cc4cccb4 16 case 0x25:
gsulc 0:4b04cc4cccb4 17 return '4';
gsulc 0:4b04cc4cccb4 18 case 0x2E:
gsulc 0:4b04cc4cccb4 19 return '5';
gsulc 0:4b04cc4cccb4 20 case 0x36:
gsulc 0:4b04cc4cccb4 21 return '6';
gsulc 0:4b04cc4cccb4 22 case 0x3D:
gsulc 0:4b04cc4cccb4 23 return '7';
gsulc 0:4b04cc4cccb4 24 case 0x3E:
gsulc 0:4b04cc4cccb4 25 return '8';
gsulc 0:4b04cc4cccb4 26 case 0x46:
gsulc 0:4b04cc4cccb4 27 return '9';
gsulc 0:4b04cc4cccb4 28 case 0x45:
gsulc 0:4b04cc4cccb4 29 return '0';
gsulc 0:4b04cc4cccb4 30 case 0x15:
gsulc 0:4b04cc4cccb4 31 return 'Q';
gsulc 0:4b04cc4cccb4 32 case 0x1D:
gsulc 0:4b04cc4cccb4 33 return 'W';
gsulc 0:4b04cc4cccb4 34 case 0x24:
gsulc 0:4b04cc4cccb4 35 return 'E';
gsulc 0:4b04cc4cccb4 36 case 0x2D:
gsulc 0:4b04cc4cccb4 37 return 'R';
gsulc 0:4b04cc4cccb4 38 case 0x2C:
gsulc 0:4b04cc4cccb4 39 return 'T';
gsulc 0:4b04cc4cccb4 40 case 0x35:
gsulc 0:4b04cc4cccb4 41 return 'Y';
gsulc 0:4b04cc4cccb4 42 case 0x3C:
gsulc 0:4b04cc4cccb4 43 return 'U';
gsulc 0:4b04cc4cccb4 44 case 0x43:
gsulc 0:4b04cc4cccb4 45 return 'I';
gsulc 0:4b04cc4cccb4 46 case 0x44:
gsulc 0:4b04cc4cccb4 47 return 'O';
gsulc 0:4b04cc4cccb4 48 case 0x4D:
gsulc 0:4b04cc4cccb4 49 return 'P';
gsulc 0:4b04cc4cccb4 50 case 0x1C:
gsulc 0:4b04cc4cccb4 51 return 'A';
gsulc 0:4b04cc4cccb4 52 case 0x1B:
gsulc 0:4b04cc4cccb4 53 return 'S';
gsulc 0:4b04cc4cccb4 54 case 0x23:
gsulc 0:4b04cc4cccb4 55 return 'D';
gsulc 0:4b04cc4cccb4 56 case 0x2B:
gsulc 0:4b04cc4cccb4 57 return 'F';
gsulc 0:4b04cc4cccb4 58 case 0x34:
gsulc 0:4b04cc4cccb4 59 return 'G';
gsulc 0:4b04cc4cccb4 60 case 0x33:
gsulc 0:4b04cc4cccb4 61 return 'H';
gsulc 0:4b04cc4cccb4 62 case 0x3B:
gsulc 0:4b04cc4cccb4 63 return 'J';
gsulc 0:4b04cc4cccb4 64 case 0x42:
gsulc 0:4b04cc4cccb4 65 return 'K';
gsulc 0:4b04cc4cccb4 66 case 0x4B:
gsulc 0:4b04cc4cccb4 67 return 'L';
gsulc 0:4b04cc4cccb4 68 case 0x1A:
gsulc 0:4b04cc4cccb4 69 return 'Z';
gsulc 0:4b04cc4cccb4 70 case 0x22:
gsulc 0:4b04cc4cccb4 71 return 'X';
gsulc 0:4b04cc4cccb4 72 case 0x21:
gsulc 0:4b04cc4cccb4 73 return 'C';
gsulc 0:4b04cc4cccb4 74 case 0x2A:
gsulc 0:4b04cc4cccb4 75 return 'V';
gsulc 0:4b04cc4cccb4 76 case 0x32:
gsulc 0:4b04cc4cccb4 77 return 'B';
gsulc 0:4b04cc4cccb4 78 case 0x31:
gsulc 0:4b04cc4cccb4 79 return 'N';
gsulc 0:4b04cc4cccb4 80 case 0x3A:
gsulc 0:4b04cc4cccb4 81 return 'M';
gsulc 0:4b04cc4cccb4 82 case 0x4e:
gsulc 0:4b04cc4cccb4 83 return '-';
gsulc 0:4b04cc4cccb4 84 case 0x49:
gsulc 0:4b04cc4cccb4 85 return '.';
gsulc 0:4b04cc4cccb4 86 case 0x29:
gsulc 0:4b04cc4cccb4 87 return ' ';
gsulc 0:4b04cc4cccb4 88 default:
gsulc 0:4b04cc4cccb4 89 return '?';
gsulc 0:4b04cc4cccb4 90 }
gsulc 0:4b04cc4cccb4 91 }
gsulc 0:4b04cc4cccb4 92
gsulc 0:4b04cc4cccb4 93 int curstr(char* str,int numchar,char c){
gsulc 0:4b04cc4cccb4 94 if((c != 0x66)&&(c != 0x5A)){
gsulc 0:4b04cc4cccb4 95 if(numchar < 32){
gsulc 0:4b04cc4cccb4 96 char k = keyname(c);
gsulc 0:4b04cc4cccb4 97 if(k!= '?'){
gsulc 0:4b04cc4cccb4 98 str[numchar] = k;
gsulc 0:4b04cc4cccb4 99 numchar++;
gsulc 0:4b04cc4cccb4 100 }
gsulc 0:4b04cc4cccb4 101 }
gsulc 0:4b04cc4cccb4 102 else {
gsulc 0:4b04cc4cccb4 103 myled1 = !myled1;
gsulc 0:4b04cc4cccb4 104 myled2 = !myled2;
gsulc 0:4b04cc4cccb4 105 myled3 = !myled3;
gsulc 0:4b04cc4cccb4 106 myled4 = !myled4;
gsulc 0:4b04cc4cccb4 107 wait(0.2);
gsulc 0:4b04cc4cccb4 108 myled1 = !myled1;
gsulc 0:4b04cc4cccb4 109 myled2 = !myled2;
gsulc 0:4b04cc4cccb4 110 myled3 = !myled3;
gsulc 0:4b04cc4cccb4 111 myled4 = !myled4;
gsulc 0:4b04cc4cccb4 112 wait(0.2);
gsulc 0:4b04cc4cccb4 113 }
gsulc 0:4b04cc4cccb4 114 }
gsulc 0:4b04cc4cccb4 115 else if(c == 0x66 && numchar > 0){
gsulc 0:4b04cc4cccb4 116 numchar = numchar - 1;
gsulc 0:4b04cc4cccb4 117 str[numchar] = ' ';
gsulc 0:4b04cc4cccb4 118 }
gsulc 0:4b04cc4cccb4 119 return numchar;
gsulc 0:4b04cc4cccb4 120 }
gsulc 0:4b04cc4cccb4 121
gsulc 0:4b04cc4cccb4 122 int keyhit(char* str,int numchar,PS2Keyboard::keyboard_event_t evt_kb){
gsulc 0:4b04cc4cccb4 123
gsulc 0:4b04cc4cccb4 124 return numchar;
gsulc 0:4b04cc4cccb4 125 }