This is a *VERY* Rough library for translating binary representations of grade 1 braille into ASCII strings.

Committer:
aganger3
Date:
Fri Oct 12 07:07:43 2012 +0000
Revision:
8:4e65648a50cd
Parent:
7:bd06bf7ddafb
Child:
9:cc189ce99a98
Argh... switch was done in Decimal, not in hex! 0x's removed, though I'd prefer hex all things being equal

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aganger3 0:22ca5452cf10 1 #include "Braille_In.h"
aganger3 0:22ca5452cf10 2
aganger3 0:22ca5452cf10 3
aganger3 0:22ca5452cf10 4
aganger3 0:22ca5452cf10 5 char* BrailleInput::translateBraille(char* input, int numChars)
aganger3 0:22ca5452cf10 6 {
aganger3 4:0ddc5208706e 7
aganger3 0:22ca5452cf10 8 bool NextCaps=false;
aganger3 0:22ca5452cf10 9 for (int i=0;i<numChars;i++)
aganger3 0:22ca5452cf10 10 {
aganger3 0:22ca5452cf10 11 output[i]=translateBrailleChar(input[i],NextCaps);
aganger3 0:22ca5452cf10 12 }
aganger3 3:36f07cfb3fe1 13 output[numChars+1]='\0';
aganger3 3:36f07cfb3fe1 14 return output;
aganger3 0:22ca5452cf10 15 }
aganger3 0:22ca5452cf10 16
aganger3 0:22ca5452cf10 17
aganger3 3:36f07cfb3fe1 18 char* BrailleInput::translateBraille(const char* input, int numChars)
aganger3 3:36f07cfb3fe1 19 {
aganger3 4:0ddc5208706e 20
aganger3 3:36f07cfb3fe1 21 bool NextCaps=false;
aganger3 3:36f07cfb3fe1 22 for (int i=0;i<numChars;i++)
aganger3 3:36f07cfb3fe1 23 {
aganger3 3:36f07cfb3fe1 24 output[i]=translateBrailleChar(input[i],NextCaps);
aganger3 3:36f07cfb3fe1 25 }
aganger3 3:36f07cfb3fe1 26 output[numChars+1]='\0';
aganger3 3:36f07cfb3fe1 27 return output;
aganger3 3:36f07cfb3fe1 28
aganger3 3:36f07cfb3fe1 29 }
aganger3 3:36f07cfb3fe1 30
aganger3 0:22ca5452cf10 31 char BrailleInput::translateBrailleChar(char input, bool& NextCaps)
aganger3 0:22ca5452cf10 32 {
aganger3 0:22ca5452cf10 33 NextCaps=false;
aganger3 0:22ca5452cf10 34 char out;
aganger3 0:22ca5452cf10 35 bool undefined=false;
aganger3 0:22ca5452cf10 36
aganger3 0:22ca5452cf10 37
aganger3 7:bd06bf7ddafb 38 switch(input){
aganger3 8:4e65648a50cd 39 case 1:
aganger3 7:bd06bf7ddafb 40 out='a';
aganger3 7:bd06bf7ddafb 41 break;
aganger3 8:4e65648a50cd 42 case 3:
aganger3 7:bd06bf7ddafb 43 out='b';
aganger3 7:bd06bf7ddafb 44 break;
aganger3 8:4e65648a50cd 45 case 9:
aganger3 7:bd06bf7ddafb 46 out='c';
aganger3 7:bd06bf7ddafb 47 break;
aganger3 8:4e65648a50cd 48 case 25:
aganger3 7:bd06bf7ddafb 49 out='d';
aganger3 7:bd06bf7ddafb 50 break;
aganger3 8:4e65648a50cd 51 case 17:
aganger3 7:bd06bf7ddafb 52 out='e';
aganger3 7:bd06bf7ddafb 53 break;
aganger3 8:4e65648a50cd 54 case 11:
aganger3 7:bd06bf7ddafb 55 out='f';
aganger3 7:bd06bf7ddafb 56 break;
aganger3 8:4e65648a50cd 57 case 27:
aganger3 7:bd06bf7ddafb 58 out='g';
aganger3 7:bd06bf7ddafb 59 break;
aganger3 8:4e65648a50cd 60 case 19:
aganger3 7:bd06bf7ddafb 61 out='h';
aganger3 7:bd06bf7ddafb 62 break;
aganger3 8:4e65648a50cd 63 case 10:
aganger3 7:bd06bf7ddafb 64 out='i';
aganger3 7:bd06bf7ddafb 65 break;
aganger3 8:4e65648a50cd 66 case 26:
aganger3 7:bd06bf7ddafb 67 out='j';
aganger3 7:bd06bf7ddafb 68 break;
aganger3 8:4e65648a50cd 69 case 5:
aganger3 7:bd06bf7ddafb 70 out='k';
aganger3 7:bd06bf7ddafb 71 break;
aganger3 8:4e65648a50cd 72 case 7:
aganger3 7:bd06bf7ddafb 73 out='l';
aganger3 7:bd06bf7ddafb 74 break;
aganger3 8:4e65648a50cd 75 case 13:
aganger3 7:bd06bf7ddafb 76 out='m';
aganger3 7:bd06bf7ddafb 77 break;
aganger3 8:4e65648a50cd 78 case 29:
aganger3 7:bd06bf7ddafb 79 out='n';
aganger3 7:bd06bf7ddafb 80 break;
aganger3 8:4e65648a50cd 81 case 21:
aganger3 7:bd06bf7ddafb 82 out='o';
aganger3 7:bd06bf7ddafb 83 break;
aganger3 8:4e65648a50cd 84 case 15:
aganger3 7:bd06bf7ddafb 85 out='p';
aganger3 7:bd06bf7ddafb 86 break;
aganger3 8:4e65648a50cd 87 case 31:
aganger3 7:bd06bf7ddafb 88 out='q';
aganger3 7:bd06bf7ddafb 89 break;
aganger3 8:4e65648a50cd 90 case 23:
aganger3 7:bd06bf7ddafb 91 out='r';
aganger3 7:bd06bf7ddafb 92 break;
aganger3 8:4e65648a50cd 93 case 14:
aganger3 7:bd06bf7ddafb 94 out='s';
aganger3 7:bd06bf7ddafb 95 break;
aganger3 8:4e65648a50cd 96 case 30:
aganger3 7:bd06bf7ddafb 97 out='t';
aganger3 7:bd06bf7ddafb 98 break;
aganger3 8:4e65648a50cd 99 case 37:
aganger3 7:bd06bf7ddafb 100 out='u';
aganger3 7:bd06bf7ddafb 101 break;
aganger3 8:4e65648a50cd 102 case 39:
aganger3 7:bd06bf7ddafb 103 out='v';
aganger3 7:bd06bf7ddafb 104 break;
aganger3 8:4e65648a50cd 105 case 58:
aganger3 7:bd06bf7ddafb 106 out='w';
aganger3 7:bd06bf7ddafb 107 break;
aganger3 8:4e65648a50cd 108 case 45:
aganger3 7:bd06bf7ddafb 109 out='x';
aganger3 7:bd06bf7ddafb 110 break;
aganger3 8:4e65648a50cd 111 case 61:
aganger3 7:bd06bf7ddafb 112 out='y';
aganger3 7:bd06bf7ddafb 113 break;
aganger3 8:4e65648a50cd 114 case 53:
aganger3 7:bd06bf7ddafb 115 out='z';
aganger3 7:bd06bf7ddafb 116 break;
aganger3 8:4e65648a50cd 117 case 38:
aganger3 7:bd06bf7ddafb 118 out='?';
aganger3 7:bd06bf7ddafb 119 break;
aganger3 8:4e65648a50cd 120 case 50:
aganger3 7:bd06bf7ddafb 121 out='.';
aganger3 7:bd06bf7ddafb 122 break;
aganger3 8:4e65648a50cd 123 case 22:
aganger3 7:bd06bf7ddafb 124 out='!';
aganger3 7:bd06bf7ddafb 125 break;
aganger3 8:4e65648a50cd 126 case 18:
aganger3 7:bd06bf7ddafb 127 out=':';
aganger3 7:bd06bf7ddafb 128 break;
aganger3 8:4e65648a50cd 129 case 6:
aganger3 7:bd06bf7ddafb 130 out=';';
aganger3 7:bd06bf7ddafb 131 break;
aganger3 7:bd06bf7ddafb 132 case 0:
aganger3 7:bd06bf7ddafb 133 out=' ';
aganger3 7:bd06bf7ddafb 134 break;
aganger3 8:4e65648a50cd 135 case 32:
aganger3 7:bd06bf7ddafb 136 out=' ';
aganger3 7:bd06bf7ddafb 137 NextCaps=true;
aganger3 7:bd06bf7ddafb 138 break;
aganger3 1:d79dbb617533 139
aganger3 0:22ca5452cf10 140
aganger3 7:bd06bf7ddafb 141 default:
aganger3 7:bd06bf7ddafb 142 out=' ';
aganger3 7:bd06bf7ddafb 143 }
aganger3 7:bd06bf7ddafb 144
aganger3 7:bd06bf7ddafb 145
aganger3 7:bd06bf7ddafb 146
aganger3 7:bd06bf7ddafb 147
aganger3 7:bd06bf7ddafb 148
aganger3 1:d79dbb617533 149
aganger3 1:d79dbb617533 150 if (NextCaps)
aganger3 1:d79dbb617533 151 {
aganger3 8:4e65648a50cd 152
aganger3 7:bd06bf7ddafb 153 //out=out-0x20;
aganger3 1:d79dbb617533 154 NextCaps=false;
aganger3 1:d79dbb617533 155 }
aganger3 0:22ca5452cf10 156
aganger3 0:22ca5452cf10 157
aganger3 2:4cd96cdca95a 158 if (input== 0x0)
aganger3 2:4cd96cdca95a 159 {
aganger3 2:4cd96cdca95a 160 out=' ';
aganger3 2:4cd96cdca95a 161 }
aganger3 0:22ca5452cf10 162
aganger3 0:22ca5452cf10 163 return out;
aganger3 0:22ca5452cf10 164 }
aganger3 0:22ca5452cf10 165
aganger3 0:22ca5452cf10 166
aganger3 0:22ca5452cf10 167
aganger3 0:22ca5452cf10 168
aganger3 0:22ca5452cf10 169
aganger3 0:22ca5452cf10 170
aganger3 0:22ca5452cf10 171
aganger3 0:22ca5452cf10 172
aganger3 0:22ca5452cf10 173
aganger3 0:22ca5452cf10 174
aganger3 0:22ca5452cf10 175
aganger3 0:22ca5452cf10 176
aganger3 0:22ca5452cf10 177
aganger3 0:22ca5452cf10 178
aganger3 0:22ca5452cf10 179
aganger3 0:22ca5452cf10 180