Joshua Brown
/
TactileMouse
First revision of tactile mouse code
braille_mouse.cpp@0:f254a3cfe0f6, 2019-04-08 (annotated)
- Committer:
- JPB515
- Date:
- Mon Apr 08 16:57:36 2019 +0000
- Revision:
- 0:f254a3cfe0f6
First publish of tactile mouse code;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JPB515 | 0:f254a3cfe0f6 | 1 | #include "braille_mouse.hpp" |
JPB515 | 0:f254a3cfe0f6 | 2 | #include "tactile_mouse.hpp" |
JPB515 | 0:f254a3cfe0f6 | 3 | |
JPB515 | 0:f254a3cfe0f6 | 4 | /* CELL OFFSETS |
JPB515 | 0:f254a3cfe0f6 | 5 | 76543210 |
JPB515 | 0:f254a3cfe0f6 | 6 | 22-11-00 0 |
JPB515 | 0:f254a3cfe0f6 | 7 | 22-11-00 1 |
JPB515 | 0:f254a3cfe0f6 | 8 | 22-11-00 2 |
JPB515 | 0:f254a3cfe0f6 | 9 | -------- 3 |
JPB515 | 0:f254a3cfe0f6 | 10 | -------- 4 |
JPB515 | 0:f254a3cfe0f6 | 11 | 55-44-33 5 |
JPB515 | 0:f254a3cfe0f6 | 12 | 55-44-33 6 |
JPB515 | 0:f254a3cfe0f6 | 13 | 55-44-33 7 |
JPB515 | 0:f254a3cfe0f6 | 14 | */ |
JPB515 | 0:f254a3cfe0f6 | 15 | |
JPB515 | 0:f254a3cfe0f6 | 16 | void brailleCharacter(tactileDisplay &display, int cell, char character){ |
JPB515 | 0:f254a3cfe0f6 | 17 | int xOffset = getXOffset(cell); |
JPB515 | 0:f254a3cfe0f6 | 18 | int yOffset = getYOffset(cell); |
JPB515 | 0:f254a3cfe0f6 | 19 | |
JPB515 | 0:f254a3cfe0f6 | 20 | if ((character == 'c')|| |
JPB515 | 0:f254a3cfe0f6 | 21 | (character == 'd')|| |
JPB515 | 0:f254a3cfe0f6 | 22 | (character == 'f')|| |
JPB515 | 0:f254a3cfe0f6 | 23 | (character == 'g')|| |
JPB515 | 0:f254a3cfe0f6 | 24 | (character == 'i')|| |
JPB515 | 0:f254a3cfe0f6 | 25 | (character == 'j')|| |
JPB515 | 0:f254a3cfe0f6 | 26 | (character == 'm')|| |
JPB515 | 0:f254a3cfe0f6 | 27 | (character == 'n')|| |
JPB515 | 0:f254a3cfe0f6 | 28 | (character == 'p')|| |
JPB515 | 0:f254a3cfe0f6 | 29 | (character == 'q')|| |
JPB515 | 0:f254a3cfe0f6 | 30 | (character == 's')|| |
JPB515 | 0:f254a3cfe0f6 | 31 | (character == 't')|| |
JPB515 | 0:f254a3cfe0f6 | 32 | (character == 'w')|| |
JPB515 | 0:f254a3cfe0f6 | 33 | (character == 'x')|| |
JPB515 | 0:f254a3cfe0f6 | 34 | (character == 'y')|| |
JPB515 | 0:f254a3cfe0f6 | 35 | (character == '3')|| |
JPB515 | 0:f254a3cfe0f6 | 36 | (character == '4')|| |
JPB515 | 0:f254a3cfe0f6 | 37 | (character == '6')|| |
JPB515 | 0:f254a3cfe0f6 | 38 | (character == '7')|| |
JPB515 | 0:f254a3cfe0f6 | 39 | (character == '9')|| |
JPB515 | 0:f254a3cfe0f6 | 40 | (character == '0')) |
JPB515 | 0:f254a3cfe0f6 | 41 | {display.setTaxel((6+xOffset),(0+yOffset),100);} |
JPB515 | 0:f254a3cfe0f6 | 42 | else{display.setTaxel((6+xOffset),(0+yOffset),0);} |
JPB515 | 0:f254a3cfe0f6 | 43 | if ((character == 'd')|| |
JPB515 | 0:f254a3cfe0f6 | 44 | (character == 'e')|| |
JPB515 | 0:f254a3cfe0f6 | 45 | (character == 'g')|| |
JPB515 | 0:f254a3cfe0f6 | 46 | (character == 'h')|| |
JPB515 | 0:f254a3cfe0f6 | 47 | (character == 'j')|| |
JPB515 | 0:f254a3cfe0f6 | 48 | (character == 'n')|| |
JPB515 | 0:f254a3cfe0f6 | 49 | (character == 'o')|| |
JPB515 | 0:f254a3cfe0f6 | 50 | (character == 'q')|| |
JPB515 | 0:f254a3cfe0f6 | 51 | (character == 'r')|| |
JPB515 | 0:f254a3cfe0f6 | 52 | (character == 't')|| |
JPB515 | 0:f254a3cfe0f6 | 53 | (character == 'w')|| |
JPB515 | 0:f254a3cfe0f6 | 54 | (character == 'y')|| |
JPB515 | 0:f254a3cfe0f6 | 55 | (character == 'z')|| |
JPB515 | 0:f254a3cfe0f6 | 56 | (character == '4')|| |
JPB515 | 0:f254a3cfe0f6 | 57 | (character == '5')|| |
JPB515 | 0:f254a3cfe0f6 | 58 | (character == '7')|| |
JPB515 | 0:f254a3cfe0f6 | 59 | (character == '8')|| |
JPB515 | 0:f254a3cfe0f6 | 60 | (character == '0')) |
JPB515 | 0:f254a3cfe0f6 | 61 | {display.setTaxel((5+xOffset),(0+yOffset),100);} |
JPB515 | 0:f254a3cfe0f6 | 62 | else{display.setTaxel((5+xOffset),(0+yOffset),0);} |
JPB515 | 0:f254a3cfe0f6 | 63 | if ((character == 'u')|| |
JPB515 | 0:f254a3cfe0f6 | 64 | (character == 'v')|| |
JPB515 | 0:f254a3cfe0f6 | 65 | (character == 'w')|| |
JPB515 | 0:f254a3cfe0f6 | 66 | (character == 'x')|| |
JPB515 | 0:f254a3cfe0f6 | 67 | (character == 'y')|| |
JPB515 | 0:f254a3cfe0f6 | 68 | (character == 'z')) |
JPB515 | 0:f254a3cfe0f6 | 69 | {display.setTaxel((4+xOffset),(0+yOffset),100);} |
JPB515 | 0:f254a3cfe0f6 | 70 | else{display.setTaxel((4+xOffset),(0+yOffset),0);} |
JPB515 | 0:f254a3cfe0f6 | 71 | if ((character == 'i')|| |
JPB515 | 0:f254a3cfe0f6 | 72 | (character == 'j')|| |
JPB515 | 0:f254a3cfe0f6 | 73 | (character == 's')|| |
JPB515 | 0:f254a3cfe0f6 | 74 | (character == 't')|| |
JPB515 | 0:f254a3cfe0f6 | 75 | (character == 'w')|| |
JPB515 | 0:f254a3cfe0f6 | 76 | (character == '9')|| |
JPB515 | 0:f254a3cfe0f6 | 77 | (character == '0')) |
JPB515 | 0:f254a3cfe0f6 | 78 | {display.setTaxel((6+xOffset),(1+yOffset),0);} |
JPB515 | 0:f254a3cfe0f6 | 79 | else{display.setTaxel((6+xOffset),(1+yOffset),100);} |
JPB515 | 0:f254a3cfe0f6 | 80 | if ((character == 'a')|| |
JPB515 | 0:f254a3cfe0f6 | 81 | (character == 'c')|| |
JPB515 | 0:f254a3cfe0f6 | 82 | (character == 'd')|| |
JPB515 | 0:f254a3cfe0f6 | 83 | (character == 'e')|| |
JPB515 | 0:f254a3cfe0f6 | 84 | (character == 'k')|| |
JPB515 | 0:f254a3cfe0f6 | 85 | (character == 'm')|| |
JPB515 | 0:f254a3cfe0f6 | 86 | (character == 'n')|| |
JPB515 | 0:f254a3cfe0f6 | 87 | (character == 'o')|| |
JPB515 | 0:f254a3cfe0f6 | 88 | (character == 'u')|| |
JPB515 | 0:f254a3cfe0f6 | 89 | (character == 'x')|| |
JPB515 | 0:f254a3cfe0f6 | 90 | (character == 'y')|| |
JPB515 | 0:f254a3cfe0f6 | 91 | (character == 'z')|| |
JPB515 | 0:f254a3cfe0f6 | 92 | (character == '1')|| |
JPB515 | 0:f254a3cfe0f6 | 93 | (character == '3')|| |
JPB515 | 0:f254a3cfe0f6 | 94 | (character == '4')|| |
JPB515 | 0:f254a3cfe0f6 | 95 | (character == '5')) |
JPB515 | 0:f254a3cfe0f6 | 96 | {display.setTaxel((5+xOffset),(1+yOffset),0);} |
JPB515 | 0:f254a3cfe0f6 | 97 | else{display.setTaxel((5+xOffset),(1+yOffset),100);} |
JPB515 | 0:f254a3cfe0f6 | 98 | if ((character == 'k')|| |
JPB515 | 0:f254a3cfe0f6 | 99 | (character == 'l')|| |
JPB515 | 0:f254a3cfe0f6 | 100 | (character == 'm')|| |
JPB515 | 0:f254a3cfe0f6 | 101 | (character == 'n')|| |
JPB515 | 0:f254a3cfe0f6 | 102 | (character == 'o')|| |
JPB515 | 0:f254a3cfe0f6 | 103 | (character == 'p')|| |
JPB515 | 0:f254a3cfe0f6 | 104 | (character == 'q')|| |
JPB515 | 0:f254a3cfe0f6 | 105 | (character == 'r')|| |
JPB515 | 0:f254a3cfe0f6 | 106 | (character == 's')|| |
JPB515 | 0:f254a3cfe0f6 | 107 | (character == 't')|| |
JPB515 | 0:f254a3cfe0f6 | 108 | (character == 'u')|| |
JPB515 | 0:f254a3cfe0f6 | 109 | (character == 'v')|| |
JPB515 | 0:f254a3cfe0f6 | 110 | (character == 'x')|| |
JPB515 | 0:f254a3cfe0f6 | 111 | (character == 'y')|| |
JPB515 | 0:f254a3cfe0f6 | 112 | (character == 'z')) |
JPB515 | 0:f254a3cfe0f6 | 113 | {display.setTaxel((4+xOffset),(1+yOffset),100);} |
JPB515 | 0:f254a3cfe0f6 | 114 | else{display.setTaxel((4+xOffset),(1+yOffset),0);} |
JPB515 | 0:f254a3cfe0f6 | 115 | } |
JPB515 | 0:f254a3cfe0f6 | 116 | |
JPB515 | 0:f254a3cfe0f6 | 117 | /* CELL OFFSETS |
JPB515 | 0:f254a3cfe0f6 | 118 | 76543210 |
JPB515 | 0:f254a3cfe0f6 | 119 | -000-333 0 |
JPB515 | 0:f254a3cfe0f6 | 120 | -000-333 1 |
JPB515 | 0:f254a3cfe0f6 | 121 | -------- 2 |
JPB515 | 0:f254a3cfe0f6 | 122 | -111-444 3 |
JPB515 | 0:f254a3cfe0f6 | 123 | -111-444 4 |
JPB515 | 0:f254a3cfe0f6 | 124 | -------- 5 |
JPB515 | 0:f254a3cfe0f6 | 125 | -222-555 6 |
JPB515 | 0:f254a3cfe0f6 | 126 | -222-555 7 |
JPB515 | 0:f254a3cfe0f6 | 127 | */ |
JPB515 | 0:f254a3cfe0f6 | 128 | |
JPB515 | 0:f254a3cfe0f6 | 129 | int getYOffset(int cell){ |
JPB515 | 0:f254a3cfe0f6 | 130 | if ((cell == 0)||(cell == 3)){ |
JPB515 | 0:f254a3cfe0f6 | 131 | return 0; |
JPB515 | 0:f254a3cfe0f6 | 132 | } |
JPB515 | 0:f254a3cfe0f6 | 133 | else if ((cell == 1)||(cell == 4)){ |
JPB515 | 0:f254a3cfe0f6 | 134 | return 3; |
JPB515 | 0:f254a3cfe0f6 | 135 | } |
JPB515 | 0:f254a3cfe0f6 | 136 | else if ((cell == 2)||(cell == 5)){ |
JPB515 | 0:f254a3cfe0f6 | 137 | return 6; |
JPB515 | 0:f254a3cfe0f6 | 138 | } |
JPB515 | 0:f254a3cfe0f6 | 139 | return -1; |
JPB515 | 0:f254a3cfe0f6 | 140 | } |
JPB515 | 0:f254a3cfe0f6 | 141 | |
JPB515 | 0:f254a3cfe0f6 | 142 | int getXOffset(int cell){ |
JPB515 | 0:f254a3cfe0f6 | 143 | if ((cell == 0)||(cell == 1)||(cell == 2)){ |
JPB515 | 0:f254a3cfe0f6 | 144 | return 0; |
JPB515 | 0:f254a3cfe0f6 | 145 | } |
JPB515 | 0:f254a3cfe0f6 | 146 | else if ((cell == 3)||(cell == 4)||(cell == 5)){ |
JPB515 | 0:f254a3cfe0f6 | 147 | return 4; |
JPB515 | 0:f254a3cfe0f6 | 148 | } |
JPB515 | 0:f254a3cfe0f6 | 149 | return -1; |
JPB515 | 0:f254a3cfe0f6 | 150 | |
JPB515 | 0:f254a3cfe0f6 | 151 | } |