Generates Braille Text and has it display on an RGB LED Matrix

Dependencies:   mbed

Fork of LEDmatrix by Neel Shah

Committer:
mlabu11
Date:
Fri May 10 17:36:08 2013 +0000
Revision:
2:4db46d73c01e
Parent:
1:0ca4d6b1e3d7
Full Arrangement

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mlabu11 1:0ca4d6b1e3d7 1 #include "BrailleAlphabet.h"
mlabu11 1:0ca4d6b1e3d7 2 #include "mbed.h"
mlabu11 1:0ca4d6b1e3d7 3
mlabu11 1:0ca4d6b1e3d7 4
mlabu11 1:0ca4d6b1e3d7 5 BrailleAlphabet::BrailleAlphabet(PinName pin) : _pin(pin)
mlabu11 1:0ca4d6b1e3d7 6 {
mlabu11 1:0ca4d6b1e3d7 7 _pin = 0;
mlabu11 1:0ca4d6b1e3d7 8 }
mlabu11 1:0ca4d6b1e3d7 9
mlabu11 1:0ca4d6b1e3d7 10 bool BrailleAlphabet::isNumber(char c)
mlabu11 1:0ca4d6b1e3d7 11 {
mlabu11 1:0ca4d6b1e3d7 12 if(c == '0' || c == '1' || c=='2' || c=='3' || c=='4' || c=='5' || c=='6' || c=='7' || c=='8' || c=='9') {
mlabu11 1:0ca4d6b1e3d7 13 return true;
mlabu11 1:0ca4d6b1e3d7 14 }
mlabu11 1:0ca4d6b1e3d7 15 return false;
mlabu11 1:0ca4d6b1e3d7 16 }
mlabu11 1:0ca4d6b1e3d7 17
mlabu11 1:0ca4d6b1e3d7 18 int BrailleAlphabet::matchCharacter(char character)
mlabu11 1:0ca4d6b1e3d7 19 {
mlabu11 1:0ca4d6b1e3d7 20
mlabu11 1:0ca4d6b1e3d7 21 if (character == 'A' || character =='a') {
mlabu11 1:0ca4d6b1e3d7 22 //pc.printf("%s\r\n","detect_a");
mlabu11 1:0ca4d6b1e3d7 23 return 100000;
mlabu11 1:0ca4d6b1e3d7 24 }
mlabu11 1:0ca4d6b1e3d7 25 if (character == 'B' || character=='b') {
mlabu11 1:0ca4d6b1e3d7 26 // pc.printf("%s\r\n","detect_b");
mlabu11 1:0ca4d6b1e3d7 27 return 101000;
mlabu11 1:0ca4d6b1e3d7 28 }
mlabu11 1:0ca4d6b1e3d7 29 if (character == 'C'||character=='c') {
mlabu11 1:0ca4d6b1e3d7 30 //pc.printf("%s\r\n","detect_c");
mlabu11 1:0ca4d6b1e3d7 31 return 110000;
mlabu11 1:0ca4d6b1e3d7 32 }
mlabu11 1:0ca4d6b1e3d7 33 if (character == 'D'||character=='d') {
mlabu11 1:0ca4d6b1e3d7 34 //pc.printf("%s\r\n","detect_d");
mlabu11 1:0ca4d6b1e3d7 35 return 110100;
mlabu11 1:0ca4d6b1e3d7 36 }
mlabu11 1:0ca4d6b1e3d7 37 if (character == 'E'||character=='e') {
mlabu11 1:0ca4d6b1e3d7 38 // pc.printf("%s\r\n","detect_e");
mlabu11 1:0ca4d6b1e3d7 39 return 100100;
mlabu11 1:0ca4d6b1e3d7 40 }
mlabu11 1:0ca4d6b1e3d7 41 if (character == 'F'||character=='f') {
mlabu11 1:0ca4d6b1e3d7 42 // pc.printf("%s\r\n","detect_f");
mlabu11 1:0ca4d6b1e3d7 43 return 111000;
mlabu11 1:0ca4d6b1e3d7 44 }
mlabu11 1:0ca4d6b1e3d7 45 if (character == 'G'||character=='g') {
mlabu11 1:0ca4d6b1e3d7 46 // pc.printf("%s\r\n","detect_g");
mlabu11 1:0ca4d6b1e3d7 47 return 111100;
mlabu11 1:0ca4d6b1e3d7 48 }
mlabu11 1:0ca4d6b1e3d7 49 if (character == 'H'||character=='h') {
mlabu11 1:0ca4d6b1e3d7 50 // pc.printf("%s\r\n","detect_h");
mlabu11 1:0ca4d6b1e3d7 51 return 101100;
mlabu11 1:0ca4d6b1e3d7 52 }
mlabu11 1:0ca4d6b1e3d7 53 if (character == 'I' || character=='i') {
mlabu11 1:0ca4d6b1e3d7 54 //pc.printf("%s\r\n","detect_i");
mlabu11 1:0ca4d6b1e3d7 55 return 11000;
mlabu11 1:0ca4d6b1e3d7 56 }
mlabu11 1:0ca4d6b1e3d7 57 if (character == 'J'||character=='j') {
mlabu11 1:0ca4d6b1e3d7 58 //pc.printf("%s\r\n","detect_j");
mlabu11 1:0ca4d6b1e3d7 59 return 11100;
mlabu11 1:0ca4d6b1e3d7 60 }
mlabu11 1:0ca4d6b1e3d7 61 if (character == 'K'||character=='k') {
mlabu11 1:0ca4d6b1e3d7 62 // pc.printf("%s\r\n","detect_k");
mlabu11 1:0ca4d6b1e3d7 63 return 100010;
mlabu11 1:0ca4d6b1e3d7 64 }
mlabu11 1:0ca4d6b1e3d7 65 if (character == 'L'||character=='l') {
mlabu11 1:0ca4d6b1e3d7 66 // pc.printf("%s\r\n","detect_l");
mlabu11 1:0ca4d6b1e3d7 67 return 101010;
mlabu11 1:0ca4d6b1e3d7 68 }
mlabu11 1:0ca4d6b1e3d7 69 if (character == 'M'||character=='m') {
mlabu11 1:0ca4d6b1e3d7 70 // pc.printf("%s\r\n","detect_m");
mlabu11 1:0ca4d6b1e3d7 71 return 110010;
mlabu11 1:0ca4d6b1e3d7 72 }
mlabu11 1:0ca4d6b1e3d7 73 if (character == 'N'||character=='n') {
mlabu11 1:0ca4d6b1e3d7 74 // pc.printf("%s\r\n","detect_n");
mlabu11 1:0ca4d6b1e3d7 75 return 110110;
mlabu11 1:0ca4d6b1e3d7 76 }
mlabu11 1:0ca4d6b1e3d7 77 if (character == 'O'||character=='o') {
mlabu11 1:0ca4d6b1e3d7 78 // pc.printf("%s\r\n","detect_o");
mlabu11 1:0ca4d6b1e3d7 79 return 100110;
mlabu11 1:0ca4d6b1e3d7 80 }
mlabu11 1:0ca4d6b1e3d7 81 if (character == 'P'||character=='p') {
mlabu11 1:0ca4d6b1e3d7 82 // pc.printf("%s\r\n","detect_p");
mlabu11 1:0ca4d6b1e3d7 83 return 111010;
mlabu11 1:0ca4d6b1e3d7 84 }
mlabu11 1:0ca4d6b1e3d7 85 if (character == 'Q'||character=='q') {
mlabu11 1:0ca4d6b1e3d7 86 // pc.printf("%s\r\n","detect_q");
mlabu11 1:0ca4d6b1e3d7 87 return 111110;
mlabu11 1:0ca4d6b1e3d7 88 }
mlabu11 1:0ca4d6b1e3d7 89 if (character == 'R'||character=='r') {
mlabu11 1:0ca4d6b1e3d7 90 // pc.printf("%s\r\n","detect_r");
mlabu11 1:0ca4d6b1e3d7 91 return 101110;
mlabu11 1:0ca4d6b1e3d7 92 }
mlabu11 1:0ca4d6b1e3d7 93 if (character == 'S'||character=='s') {
mlabu11 1:0ca4d6b1e3d7 94 // pc.printf("%s\r\n","detect_s");
mlabu11 1:0ca4d6b1e3d7 95 return 11010;
mlabu11 1:0ca4d6b1e3d7 96 }
mlabu11 1:0ca4d6b1e3d7 97 if (character == 'T'||character=='t') {
mlabu11 1:0ca4d6b1e3d7 98 // pc.printf("%s\r\n","detect_t");
mlabu11 1:0ca4d6b1e3d7 99 return 11110;
mlabu11 1:0ca4d6b1e3d7 100 }
mlabu11 1:0ca4d6b1e3d7 101 if (character == 'U'||character=='u') {
mlabu11 1:0ca4d6b1e3d7 102 // pc.printf("%s\r\n","detect_u");
mlabu11 1:0ca4d6b1e3d7 103 return 100011;
mlabu11 1:0ca4d6b1e3d7 104 }
mlabu11 1:0ca4d6b1e3d7 105 if (character == 'V'||character=='v') {
mlabu11 1:0ca4d6b1e3d7 106 // pc.printf("%s\r\n","detect_v");
mlabu11 1:0ca4d6b1e3d7 107 return 101011;
mlabu11 1:0ca4d6b1e3d7 108 }
mlabu11 1:0ca4d6b1e3d7 109 if (character == 'W'||character=='w') {
mlabu11 1:0ca4d6b1e3d7 110 //pc.printf("%s\r\n","detect_w");
mlabu11 1:0ca4d6b1e3d7 111 return 11101;
mlabu11 1:0ca4d6b1e3d7 112 }
mlabu11 1:0ca4d6b1e3d7 113 if (character == 'X'||character=='x') {
mlabu11 1:0ca4d6b1e3d7 114 //pc.printf("%s\r\n","detect_x");
mlabu11 1:0ca4d6b1e3d7 115 return 110011;
mlabu11 1:0ca4d6b1e3d7 116 }
mlabu11 1:0ca4d6b1e3d7 117 if (character == 'Y'||character=='y') {
mlabu11 1:0ca4d6b1e3d7 118 // pc.printf("%s\r\n","detect_y");
mlabu11 1:0ca4d6b1e3d7 119 return 110111;
mlabu11 1:0ca4d6b1e3d7 120 }
mlabu11 1:0ca4d6b1e3d7 121 if (character == 'Z'||character=='z') {
mlabu11 1:0ca4d6b1e3d7 122 // pc.printf("%s\r\n","detect_z");
mlabu11 1:0ca4d6b1e3d7 123 return 100111;
mlabu11 1:0ca4d6b1e3d7 124 }
mlabu11 1:0ca4d6b1e3d7 125 if (character == '1') {
mlabu11 1:0ca4d6b1e3d7 126 // pc.printf("%s\r\n","detect_1");
mlabu11 1:0ca4d6b1e3d7 127 return 100000;
mlabu11 1:0ca4d6b1e3d7 128 }
mlabu11 1:0ca4d6b1e3d7 129 if (character == '2') {
mlabu11 1:0ca4d6b1e3d7 130 // pc.printf("%s\r\n","detect_2");
mlabu11 1:0ca4d6b1e3d7 131 return 101000;
mlabu11 1:0ca4d6b1e3d7 132 }
mlabu11 1:0ca4d6b1e3d7 133 if (character == '3') {
mlabu11 1:0ca4d6b1e3d7 134 // pc.printf("%s\r\n","detect_3");
mlabu11 1:0ca4d6b1e3d7 135 return 110000;
mlabu11 1:0ca4d6b1e3d7 136 }
mlabu11 1:0ca4d6b1e3d7 137 if (character == '4') {
mlabu11 1:0ca4d6b1e3d7 138 // pc.printf("%s\r\n","detect_4");
mlabu11 1:0ca4d6b1e3d7 139 return 110100;
mlabu11 1:0ca4d6b1e3d7 140 }
mlabu11 1:0ca4d6b1e3d7 141 if (character == '5') {
mlabu11 1:0ca4d6b1e3d7 142 // pc.printf("%s\r\n","detect_5");
mlabu11 1:0ca4d6b1e3d7 143 return 100100;
mlabu11 1:0ca4d6b1e3d7 144 }
mlabu11 1:0ca4d6b1e3d7 145 if (character == '6') {
mlabu11 1:0ca4d6b1e3d7 146 // pc.printf("%s\r\n","detect_6");
mlabu11 1:0ca4d6b1e3d7 147 return 111000;
mlabu11 1:0ca4d6b1e3d7 148 }
mlabu11 1:0ca4d6b1e3d7 149 if (character == '7') {
mlabu11 1:0ca4d6b1e3d7 150 // pc.printf("%s\r\n","detect_7");
mlabu11 1:0ca4d6b1e3d7 151 return 111100;
mlabu11 1:0ca4d6b1e3d7 152 }
mlabu11 1:0ca4d6b1e3d7 153 if (character == '8') {
mlabu11 1:0ca4d6b1e3d7 154 // pc.printf("%s\r\n","detect_8");
mlabu11 1:0ca4d6b1e3d7 155 return 101100;
mlabu11 1:0ca4d6b1e3d7 156 }
mlabu11 1:0ca4d6b1e3d7 157 if (character == '9') {
mlabu11 1:0ca4d6b1e3d7 158 // pc.printf("%s\r\n","detect_9");
mlabu11 1:0ca4d6b1e3d7 159 return 11000;
mlabu11 1:0ca4d6b1e3d7 160 }
mlabu11 1:0ca4d6b1e3d7 161 if (character == '0') {
mlabu11 1:0ca4d6b1e3d7 162 // pc.printf("%s\r\n","detect_0");
mlabu11 1:0ca4d6b1e3d7 163 return 11100;
mlabu11 1:0ca4d6b1e3d7 164 }
mlabu11 1:0ca4d6b1e3d7 165 if (character == '#') {
mlabu11 1:0ca4d6b1e3d7 166 // pc.printf("%s\r\n","detect_#");
mlabu11 1:0ca4d6b1e3d7 167 return 10111;
mlabu11 1:0ca4d6b1e3d7 168 }
mlabu11 1:0ca4d6b1e3d7 169 if (character == '?') {
mlabu11 1:0ca4d6b1e3d7 170 //pc.printf("%s\r\n","detect_?");
mlabu11 1:0ca4d6b1e3d7 171 return 110101;
mlabu11 1:0ca4d6b1e3d7 172 }
mlabu11 1:0ca4d6b1e3d7 173 if (character == '*') {
mlabu11 1:0ca4d6b1e3d7 174 // pc.printf("%s\r\n","detect_*");
mlabu11 1:0ca4d6b1e3d7 175 return 100001;
mlabu11 1:0ca4d6b1e3d7 176 }
mlabu11 1:0ca4d6b1e3d7 177 if (character == '&') {
mlabu11 1:0ca4d6b1e3d7 178 // pc.printf("%s\r\n","detect_&");
mlabu11 1:0ca4d6b1e3d7 179 return 111011;
mlabu11 1:0ca4d6b1e3d7 180 }
mlabu11 1:0ca4d6b1e3d7 181 if (character == '=') {
mlabu11 1:0ca4d6b1e3d7 182 // pc.printf("%s\r\n","detect_=");
mlabu11 1:0ca4d6b1e3d7 183 return 111111;
mlabu11 1:0ca4d6b1e3d7 184 }
mlabu11 1:0ca4d6b1e3d7 185 if (character == '(') {
mlabu11 1:0ca4d6b1e3d7 186 // pc.printf("%s\r\n","detect_(");
mlabu11 1:0ca4d6b1e3d7 187 return 101111;
mlabu11 1:0ca4d6b1e3d7 188 }
mlabu11 1:0ca4d6b1e3d7 189 if (character == '!') {
mlabu11 1:0ca4d6b1e3d7 190 // pc.printf("%s\r\n","detect_!");
mlabu11 1:0ca4d6b1e3d7 191 return 11011;
mlabu11 1:0ca4d6b1e3d7 192 }
mlabu11 1:0ca4d6b1e3d7 193 if (character == ')') {
mlabu11 1:0ca4d6b1e3d7 194 // pc.printf("%s\r\n","detect_)");
mlabu11 1:0ca4d6b1e3d7 195 return 11111;
mlabu11 1:0ca4d6b1e3d7 196 }
mlabu11 1:0ca4d6b1e3d7 197 if (character == '<') {
mlabu11 1:0ca4d6b1e3d7 198 // pc.printf("%s\r\n","detect_<");
mlabu11 1:0ca4d6b1e3d7 199 return 101001;
mlabu11 1:0ca4d6b1e3d7 200 }
mlabu11 1:0ca4d6b1e3d7 201 if (character == '%') {
mlabu11 1:0ca4d6b1e3d7 202 // pc.printf("%s\r\n","detect_%");
mlabu11 1:0ca4d6b1e3d7 203 return 110001;
mlabu11 1:0ca4d6b1e3d7 204 }
mlabu11 1:0ca4d6b1e3d7 205 if (character == ':') {
mlabu11 1:0ca4d6b1e3d7 206 // pc.printf("%s\r\n","detect_:");
mlabu11 1:0ca4d6b1e3d7 207 return 100101;
mlabu11 1:0ca4d6b1e3d7 208 }
mlabu11 1:0ca4d6b1e3d7 209 if (character == '$') {
mlabu11 1:0ca4d6b1e3d7 210 // pc.printf("%s\r\n","detect_$");
mlabu11 1:0ca4d6b1e3d7 211 return 111001;
mlabu11 1:0ca4d6b1e3d7 212 }
mlabu11 1:0ca4d6b1e3d7 213 if (character == ']') {
mlabu11 1:0ca4d6b1e3d7 214 // pc.printf("%s\r\n","detect_]");
mlabu11 1:0ca4d6b1e3d7 215 return 111101;
mlabu11 1:0ca4d6b1e3d7 216 }
mlabu11 1:0ca4d6b1e3d7 217 //missing / test
mlabu11 1:0ca4d6b1e3d7 218 if (character == '[') {
mlabu11 1:0ca4d6b1e3d7 219 // pc.printf("%s\r\n","detect_[");
mlabu11 1:0ca4d6b1e3d7 220 return 11001;
mlabu11 1:0ca4d6b1e3d7 221 }
mlabu11 1:0ca4d6b1e3d7 222 if (character == '/') {
mlabu11 1:0ca4d6b1e3d7 223 // pc.printf("%s\r\n","detect_/");
mlabu11 1:0ca4d6b1e3d7 224 return 10010;
mlabu11 1:0ca4d6b1e3d7 225 }
mlabu11 1:0ca4d6b1e3d7 226 if (character == '+') {
mlabu11 1:0ca4d6b1e3d7 227 // pc.printf("%s\r\n","detect_+");
mlabu11 1:0ca4d6b1e3d7 228 return 10011;
mlabu11 1:0ca4d6b1e3d7 229 }
mlabu11 1:0ca4d6b1e3d7 230 if (character == '#') {
mlabu11 1:0ca4d6b1e3d7 231 // pc.printf("%s\r\n","detect_#");
mlabu11 1:0ca4d6b1e3d7 232 return 10111;
mlabu11 1:0ca4d6b1e3d7 233 }
mlabu11 1:0ca4d6b1e3d7 234 if (character == '>') {
mlabu11 1:0ca4d6b1e3d7 235 // pc.printf("%s\r\n","detect_>");
mlabu11 1:0ca4d6b1e3d7 236 return 10110;
mlabu11 1:0ca4d6b1e3d7 237 }
mlabu11 1:0ca4d6b1e3d7 238 //Apostrophe test required...
mlabu11 1:0ca4d6b1e3d7 239 if (character == '-') {
mlabu11 1:0ca4d6b1e3d7 240 // pc.printf("%s\r\n","detect_-");
mlabu11 1:0ca4d6b1e3d7 241 return 11;
mlabu11 1:0ca4d6b1e3d7 242 }
mlabu11 1:0ca4d6b1e3d7 243 if (character == '@') {
mlabu11 1:0ca4d6b1e3d7 244 // pc.printf("%s\r\n","detect_@");
mlabu11 1:0ca4d6b1e3d7 245 return 10000;
mlabu11 1:0ca4d6b1e3d7 246 }
mlabu11 1:0ca4d6b1e3d7 247 if (character == '^') {
mlabu11 1:0ca4d6b1e3d7 248 // pc.printf("%s\r\n","detect_^");
mlabu11 1:0ca4d6b1e3d7 249 return 10100;
mlabu11 1:0ca4d6b1e3d7 250 }
mlabu11 1:0ca4d6b1e3d7 251 //Quote test required...
mlabu11 1:0ca4d6b1e3d7 252 if (character == '_') {
mlabu11 1:0ca4d6b1e3d7 253 // pc.printf("%s\r\n","detect_underscore");
mlabu11 1:0ca4d6b1e3d7 254 return 10101;
mlabu11 1:0ca4d6b1e3d7 255 }
mlabu11 1:0ca4d6b1e3d7 256 if (character == '.') {
mlabu11 1:0ca4d6b1e3d7 257 // pc.printf("%s\r\n","detect_.");
mlabu11 1:0ca4d6b1e3d7 258 return 10001;
mlabu11 1:0ca4d6b1e3d7 259 }
mlabu11 1:0ca4d6b1e3d7 260 if (character == ';') {
mlabu11 1:0ca4d6b1e3d7 261 // pc.printf("%s\r\n","detect_;");
mlabu11 1:0ca4d6b1e3d7 262 return 101;
mlabu11 1:0ca4d6b1e3d7 263 }
mlabu11 1:0ca4d6b1e3d7 264 if (character == ',') {
mlabu11 1:0ca4d6b1e3d7 265 // pc.printf("%s\r\n","detect_,");
mlabu11 1:0ca4d6b1e3d7 266 return 1;
mlabu11 1:0ca4d6b1e3d7 267 }
mlabu11 1:0ca4d6b1e3d7 268 return 000000; //blank
mlabu11 1:0ca4d6b1e3d7 269 }