First revision of tactile mouse code

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?

UserRevisionLine numberNew 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 }