tim003 tim003
/
LukaIElmir26
Novo
Fork of LukaIElmir by
DotMatrix.h@6:dd675b967b60, 2014-06-02 (annotated)
- Committer:
- tim003
- Date:
- Mon Jun 02 15:35:11 2014 +0000
- Revision:
- 6:dd675b967b60
- Parent:
- 5:654e3398c1ef
LIE26
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tim003 | 3:43648fa57d55 | 1 | #include "mbed.h" |
tim003 | 3:43648fa57d55 | 2 | #include "MatrixSPI.h" |
tim003 | 3:43648fa57d55 | 3 | #include <string> |
tim003 | 6:dd675b967b60 | 4 | |
tim003 | 3:43648fa57d55 | 5 | #ifndef DOTMATRIX_H |
tim003 | 3:43648fa57d55 | 6 | #define DOTMATRIX_H |
tim003 | 3:43648fa57d55 | 7 | |
tim003 | 3:43648fa57d55 | 8 | enum ModPrikazivanja{scroll, char_by_char, live_input}; |
tim003 | 6:dd675b967b60 | 9 | const char znakovi[66][6] = |
tim003 | 6:dd675b967b60 | 10 | { |
tim003 | 6:dd675b967b60 | 11 | {0, 0x7e, 0x11, 0x11, 0x7e, 0},//A |
tim003 | 6:dd675b967b60 | 12 | {0, 0x7e, 0x49, 0x49, 0x36, 0}, //B |
tim003 | 6:dd675b967b60 | 13 | {0, 0x3e, 0x41, 0x41, 0x22, 0}, //C |
tim003 | 6:dd675b967b60 | 14 | {0, 0x7f, 0x41, 0x41, 0x3e, 0}, //D |
tim003 | 6:dd675b967b60 | 15 | {0, 0x7f, 0x49, 0x49, 0x41, 0}, //E |
tim003 | 6:dd675b967b60 | 16 | {0, 0x7f, 0x09, 0x09, 0x01, 0}, //F |
tim003 | 6:dd675b967b60 | 17 | {0x3e, 0x41, 0x51, 0x32, 0x70, 0}, //G |
tim003 | 6:dd675b967b60 | 18 | {0, 0x7f, 0x08, 0x08, 0x7f, 0}, //H |
tim003 | 6:dd675b967b60 | 19 | {0, 0x41, 0x7f, 0x41, 0, 0}, //I |
tim003 | 6:dd675b967b60 | 20 | {0, 0x21, 0x41, 0x41, 0x3f, 0}, //J |
tim003 | 6:dd675b967b60 | 21 | {0, 0x7f, 0x08, 0x14, 0x63, 0}, //K |
tim003 | 6:dd675b967b60 | 22 | {0, 0x7f, 0x40, 0x40, 0x40, 0}, //L |
tim003 | 6:dd675b967b60 | 23 | {0x7f, 0x02, 0x0c, 0x02, 0x7f, 0}, //M |
tim003 | 6:dd675b967b60 | 24 | {0x7f, 0x04, 0x08, 0x10, 0x7f, 0}, //N |
tim003 | 6:dd675b967b60 | 25 | {0, 0x3e, 0x41, 0x41, 0x3e, 0}, //O |
tim003 | 6:dd675b967b60 | 26 | {0, 0x7f, 0x09, 0x09, 0x06, 0}, //P |
tim003 | 6:dd675b967b60 | 27 | {0x3e, 0x41, 0x51, 0x3e, 0x40, 0}, //Q |
tim003 | 6:dd675b967b60 | 28 | {0, 0x7f, 0x09, 0x09, 0x76, 0}, //R |
tim003 | 6:dd675b967b60 | 29 | {0, 0x26, 0x89, 0x89, 0x32, 0}, //S |
tim003 | 6:dd675b967b60 | 30 | {0x03, 0x01, 0x7f, 0x01, 0x03, 0}, //T |
tim003 | 6:dd675b967b60 | 31 | {0x1f, 0x20, 0x40, 0x40, 0x20, 0x1f}, //U |
tim003 | 6:dd675b967b60 | 32 | {0x1f, 0x20, 0x40, 0x20, 0x1f, 0}, //V |
tim003 | 6:dd675b967b60 | 33 | {0x3f, 0x40, 0x38, 0x40, 0x3f, 0}, //W |
tim003 | 6:dd675b967b60 | 34 | {0x63, 0x14, 0x08, 0x14, 0x63, 0}, //X |
tim003 | 6:dd675b967b60 | 35 | {0x07, 0x08, 0x70, 0x08, 0x07, 0}, //Y |
tim003 | 6:dd675b967b60 | 36 | {0x61, 0x51, 0x49, 0x45, 0x43, 0}, //Z |
tim003 | 6:dd675b967b60 | 37 | {0, 0x20, 0x54, 0x54, 0x78, 0}, //a |
tim003 | 6:dd675b967b60 | 38 | {0, 0x7f, 0x44, 0x44, 0x38, 0}, //b |
tim003 | 6:dd675b967b60 | 39 | {0, 0x38, 0x44, 0x44, 0x28, 0}, //c |
tim003 | 6:dd675b967b60 | 40 | {0, 0x38, 0x44, 0x44, 0x7f, 0}, //d |
tim003 | 6:dd675b967b60 | 41 | {0, 0x38, 0x54, 0x54, 0x18, 0}, //e |
tim003 | 6:dd675b967b60 | 42 | {0, 0xf8, 0x24, 0x24, 0x08, 0}, //f |
tim003 | 6:dd675b967b60 | 43 | {0, 0x98, 0xa4, 0xa4, 0x78, 0}, //g |
tim003 | 6:dd675b967b60 | 44 | {0, 0x7f, 0x04, 0x04, 0x78, 0}, //h |
tim003 | 6:dd675b967b60 | 45 | {0, 0x44, 0x7d, 0x40, 0, 0}, //i |
tim003 | 6:dd675b967b60 | 46 | {0, 0x40, 0x80, 0x88, 0x7a, 0}, //j |
tim003 | 6:dd675b967b60 | 47 | {0, 0x7f, 0x10, 0x28, 0x44, 0}, //k |
tim003 | 6:dd675b967b60 | 48 | {0, 0x41, 0x7f, 0x40, 0, 0}, //l |
tim003 | 6:dd675b967b60 | 49 | {0x7c, 0x04, 0x7c, 0x04, 0x78, 0}, //m |
tim003 | 6:dd675b967b60 | 50 | {0, 0x7c, 0x04, 0x04, 0x78, 0}, //n |
tim003 | 6:dd675b967b60 | 51 | {0, 0x38, 0x44, 0x44, 0x38, 0}, //o |
tim003 | 6:dd675b967b60 | 52 | {0, 0xfc, 0x24, 0x24, 0x18, 0}, //p |
tim003 | 6:dd675b967b60 | 53 | {0, 0x18, 0x24, 0x24, 0xfc, 0}, //q |
tim003 | 6:dd675b967b60 | 54 | {0, 0x7c, 0x08, 0x04, 0x04, 0}, //r |
tim003 | 6:dd675b967b60 | 55 | {0, 0x48, 0x54, 0x54, 0x24, 0}, //s |
tim003 | 6:dd675b967b60 | 56 | {0, 0x04, 0x3f, 0x44, 0, 0}, //t |
tim003 | 6:dd675b967b60 | 57 | {0, 0x3c, 0x40, 0x40, 0x7c, 0}, //u |
tim003 | 6:dd675b967b60 | 58 | {0x1c, 0x20, 0x40, 0x20, 0x1c, 0}, //v |
tim003 | 6:dd675b967b60 | 59 | {0x1c, 0x20, 0x10, 0x20, 0x1c, 0}, //w |
tim003 | 6:dd675b967b60 | 60 | {0x44, 0x28, 0x10, 0x28, 0x44, 0}, //x |
tim003 | 6:dd675b967b60 | 61 | {0, 0x9c, 0xa0, 0xa0, 0x7c, 0}, //y |
tim003 | 6:dd675b967b60 | 62 | {0x44, 0x64, 0x54, 0x4c, 0x44, 0}, //z |
tim003 | 6:dd675b967b60 | 63 | {0x3e, 0x51, 0x49, 0x45, 0x3e, 0}, //0 |
tim003 | 6:dd675b967b60 | 64 | {0, 0x42, 0x7f, 0x40, 0, 0}, //1 |
tim003 | 6:dd675b967b60 | 65 | {0x42, 0x61, 0x51, 0x49, 0x46, 0}, //2 |
tim003 | 6:dd675b967b60 | 66 | {0, 0x22, 0x41, 0x49, 0x36, 0}, //3 |
tim003 | 6:dd675b967b60 | 67 | {0x08, 0x0c, 0x0a, 0x7c, 0x08, 0}, //4 |
tim003 | 6:dd675b967b60 | 68 | {0, 0x27, 0x45, 0x45, 0x39, 0}, //5 |
tim003 | 6:dd675b967b60 | 69 | {0, 0x3e, 0x49, 0x49, 0x32, 0}, //6 |
tim003 | 6:dd675b967b60 | 70 | {0x63, 0x11, 0x09, 0x05, 0x03, 0}, //7 |
tim003 | 6:dd675b967b60 | 71 | {0, 0x36, 0x49, 0x49, 0x36, 0}, //8 |
tim003 | 6:dd675b967b60 | 72 | {0, 0x26, 0x49, 0x49, 0x3e, 0}, //9 |
tim003 | 6:dd675b967b60 | 73 | {0, 0xb0, 0x70, 0, 0, 0}, //, |
tim003 | 6:dd675b967b60 | 74 | {0, 0x60, 0x60, 0, 0, 0}, //. |
tim003 | 6:dd675b967b60 | 75 | {0x10,0x27,0x40,0x40,0x27,0x10}, // :-) |
tim003 | 6:dd675b967b60 | 76 | {0,0,0,0,0,0} // prazno |
tim003 | 6:dd675b967b60 | 77 | }; |
tim003 | 3:43648fa57d55 | 78 | |
tim003 | 3:43648fa57d55 | 79 | class DotMatrix{ |
tim003 | 3:43648fa57d55 | 80 | |
tim003 | 3:43648fa57d55 | 81 | public: |
tim003 | 3:43648fa57d55 | 82 | DotMatrix(PinName data_input = dp2, PinName clock = dp6, PinName loadcs = dp24) |
tim003 | 3:43648fa57d55 | 83 | :spi(data_input, clock, loadcs), turnedON(false), mod(scroll), char_trenutni(0), |
tim003 | 6:dd675b967b60 | 84 | char_offset(0), repeat(true), brzina_ms(1000), isAttached(false) |
tim003 | 6:dd675b967b60 | 85 | { |
tim003 | 6:dd675b967b60 | 86 | recenica = "Kokolo moje jedino."; |
tim003 | 3:43648fa57d55 | 87 | for(int i = 0; i < 8; i++) buffer[i] = 0; |
tim003 | 3:43648fa57d55 | 88 | } |
tim003 | 3:43648fa57d55 | 89 | |
tim003 | 3:43648fa57d55 | 90 | void refresh(); |
tim003 | 3:43648fa57d55 | 91 | void setIntensity(float jacina); |
tim003 | 3:43648fa57d55 | 92 | void setSpeed_ms(int ms); |
tim003 | 3:43648fa57d55 | 93 | void turnON(); |
tim003 | 3:43648fa57d55 | 94 | void turnOFF(); |
tim003 | 3:43648fa57d55 | 95 | void PromijeniRecenicu(string recenica){ |
tim003 | 6:dd675b967b60 | 96 | this->recenica = " " + recenica; |
tim003 | 6:dd675b967b60 | 97 | char_trenutni = 0; |
tim003 | 6:dd675b967b60 | 98 | char_offset = 0; |
tim003 | 3:43648fa57d55 | 99 | } |
tim003 | 3:43648fa57d55 | 100 | void NadodajNaRecenicu(char c){ |
tim003 | 3:43648fa57d55 | 101 | recenica += c; |
tim003 | 3:43648fa57d55 | 102 | } |
tim003 | 3:43648fa57d55 | 103 | void NadodajNaRecenicu(string str){ |
tim003 | 3:43648fa57d55 | 104 | recenica += str; |
tim003 | 3:43648fa57d55 | 105 | } |
tim003 | 3:43648fa57d55 | 106 | void PromijeniMod(ModPrikazivanja mod){ |
tim003 | 3:43648fa57d55 | 107 | if(this->mod != mod){ |
tim003 | 3:43648fa57d55 | 108 | this->mod = mod; |
tim003 | 3:43648fa57d55 | 109 | attach(); |
tim003 | 3:43648fa57d55 | 110 | } |
tim003 | 3:43648fa57d55 | 111 | } |
tim003 | 3:43648fa57d55 | 112 | ModPrikazivanja dajMod() const{ |
tim003 | 3:43648fa57d55 | 113 | return mod; |
tim003 | 3:43648fa57d55 | 114 | } |
tim003 | 4:ba24ce878e87 | 115 | void SetRepeat(bool r){ |
tim003 | 4:ba24ce878e87 | 116 | repeat = r; |
tim003 | 4:ba24ce878e87 | 117 | } |
tim003 | 3:43648fa57d55 | 118 | |
tim003 | 4:ba24ce878e87 | 119 | bool GetRepeat() const{ |
tim003 | 4:ba24ce878e87 | 120 | return repeat; |
tim003 | 4:ba24ce878e87 | 121 | } |
tim003 | 3:43648fa57d55 | 122 | |
tim003 | 5:654e3398c1ef | 123 | void setChar(char c, int offset) |
tim003 | 5:654e3398c1ef | 124 | { |
tim003 | 6:dd675b967b60 | 125 | int index; |
tim003 | 6:dd675b967b60 | 126 | if(c >= 'A' && c <= 'Z') |
tim003 | 6:dd675b967b60 | 127 | index = c - 'A'; |
tim003 | 6:dd675b967b60 | 128 | else if(c>= 'a' && c <='z') |
tim003 | 6:dd675b967b60 | 129 | index = c - 'a' + 26; |
tim003 | 6:dd675b967b60 | 130 | else if( c>= '0' && c <= '9') |
tim003 | 6:dd675b967b60 | 131 | index = c - '0' + 52; |
tim003 | 6:dd675b967b60 | 132 | else if (c== ',') |
tim003 | 6:dd675b967b60 | 133 | index = 62; |
tim003 | 6:dd675b967b60 | 134 | else if(c=='.') |
tim003 | 6:dd675b967b60 | 135 | index = 63; |
tim003 | 6:dd675b967b60 | 136 | else if(c==' ') |
tim003 | 6:dd675b967b60 | 137 | index = 65; |
tim003 | 6:dd675b967b60 | 138 | else |
tim003 | 6:dd675b967b60 | 139 | index = 64; |
tim003 | 6:dd675b967b60 | 140 | |
tim003 | 5:654e3398c1ef | 141 | if(offset < 0) |
tim003 | 5:654e3398c1ef | 142 | { |
tim003 | 6:dd675b967b60 | 143 | for(int i = 0; i < 6 + offset; i++) |
tim003 | 5:654e3398c1ef | 144 | { |
tim003 | 6:dd675b967b60 | 145 | buffer[i] = znakovi[index][i - offset]; |
tim003 | 5:654e3398c1ef | 146 | } |
tim003 | 5:654e3398c1ef | 147 | } |
tim003 | 5:654e3398c1ef | 148 | else |
tim003 | 5:654e3398c1ef | 149 | { |
tim003 | 6:dd675b967b60 | 150 | for(int i = offset; i < 8 && i < 6 + offset; i++) |
tim003 | 5:654e3398c1ef | 151 | { |
tim003 | 6:dd675b967b60 | 152 | buffer[i] = znakovi[index][i - offset]; |
tim003 | 5:654e3398c1ef | 153 | } |
tim003 | 5:654e3398c1ef | 154 | } |
tim003 | 5:654e3398c1ef | 155 | } |
tim003 | 5:654e3398c1ef | 156 | |
tim003 | 5:654e3398c1ef | 157 | void displaySingleChar(char c){ |
tim003 | 6:dd675b967b60 | 158 | setChar(c, 1); |
tim003 | 5:654e3398c1ef | 159 | refresh(); |
tim003 | 5:654e3398c1ef | 160 | } |
tim003 | 5:654e3398c1ef | 161 | |
tim003 | 6:dd675b967b60 | 162 | |
tim003 | 6:dd675b967b60 | 163 | void prikaziScroll(){ |
tim003 | 5:654e3398c1ef | 164 | if(char_trenutni == recenica.size()) refresh(); |
tim003 | 5:654e3398c1ef | 165 | else { |
tim003 | 6:dd675b967b60 | 166 | setChar(recenica[char_trenutni], char_offset); |
tim003 | 6:dd675b967b60 | 167 | if(char_trenutni < recenica.size() - 1) |
tim003 | 6:dd675b967b60 | 168 | setChar(recenica[char_trenutni + 1], char_offset + 7); |
tim003 | 6:dd675b967b60 | 169 | |
tim003 | 6:dd675b967b60 | 170 | if(char_offset < -6){ |
tim003 | 6:dd675b967b60 | 171 | char_offset = 1; // plus 7 |
tim003 | 6:dd675b967b60 | 172 | char_trenutni++; |
tim003 | 6:dd675b967b60 | 173 | } |
tim003 | 6:dd675b967b60 | 174 | } |
tim003 | 6:dd675b967b60 | 175 | |
tim003 | 6:dd675b967b60 | 176 | if(char_trenutni >= recenica.size() && repeat) |
tim003 | 6:dd675b967b60 | 177 | char_trenutni = 0; |
tim003 | 6:dd675b967b60 | 178 | |
tim003 | 6:dd675b967b60 | 179 | } |
tim003 | 6:dd675b967b60 | 180 | void prikaziCBC(){ |
tim003 | 6:dd675b967b60 | 181 | if(char_trenutni == recenica.size()) refresh(); |
tim003 | 6:dd675b967b60 | 182 | else {//ako ne bude valjao refresh ne bude prazno prikazivali... skloniti else i dole >= u > promijeniti |
tim003 | 5:654e3398c1ef | 183 | displaySingleChar(recenica[char_trenutni]); |
tim003 | 6:dd675b967b60 | 184 | char_trenutni++; |
tim003 | 5:654e3398c1ef | 185 | } |
tim003 | 6:dd675b967b60 | 186 | |
tim003 | 6:dd675b967b60 | 187 | if(char_trenutni >= recenica.size() && repeat) |
tim003 | 6:dd675b967b60 | 188 | char_trenutni = 0; |
tim003 | 6:dd675b967b60 | 189 | } |
tim003 | 6:dd675b967b60 | 190 | |
tim003 | 6:dd675b967b60 | 191 | int brzina_ms; |
tim003 | 6:dd675b967b60 | 192 | string recenica; |
tim003 | 6:dd675b967b60 | 193 | int buffer[8]; |
tim003 | 6:dd675b967b60 | 194 | |
tim003 | 6:dd675b967b60 | 195 | private: |
tim003 | 6:dd675b967b60 | 196 | void attach(); |
tim003 | 6:dd675b967b60 | 197 | void detach(){ |
tim003 | 6:dd675b967b60 | 198 | if(isAttached) ticker.detach(); |
tim003 | 6:dd675b967b60 | 199 | isAttached = false; |
tim003 | 6:dd675b967b60 | 200 | } |
tim003 | 6:dd675b967b60 | 201 | |
tim003 | 3:43648fa57d55 | 202 | |
tim003 | 3:43648fa57d55 | 203 | MatrixSPI spi; |
tim003 | 3:43648fa57d55 | 204 | bool turnedON; |
tim003 | 3:43648fa57d55 | 205 | ModPrikazivanja mod; |
tim003 | 3:43648fa57d55 | 206 | int char_trenutni, char_offset; |
tim003 | 3:43648fa57d55 | 207 | Ticker ticker; |
tim003 | 6:dd675b967b60 | 208 | bool isAttached; |
tim003 | 3:43648fa57d55 | 209 | bool repeat; |
tim003 | 3:43648fa57d55 | 210 | }; |
tim003 | 3:43648fa57d55 | 211 | |
tim003 | 5:654e3398c1ef | 212 | |
tim003 | 6:dd675b967b60 | 213 | |
tim003 | 6:dd675b967b60 | 214 | void DotMatrix::refresh(){ |
tim003 | 6:dd675b967b60 | 215 | for(int i = 0; i < 8; i++) |
tim003 | 6:dd675b967b60 | 216 | { |
tim003 | 6:dd675b967b60 | 217 | spi.sendCol(i, buffer[i]); |
tim003 | 6:dd675b967b60 | 218 | buffer[i] = 0; |
tim003 | 6:dd675b967b60 | 219 | } |
tim003 | 6:dd675b967b60 | 220 | } |
tim003 | 6:dd675b967b60 | 221 | |
tim003 | 6:dd675b967b60 | 222 | void DotMatrix::setIntensity(float jacina){ |
tim003 | 6:dd675b967b60 | 223 | if(jacina <= 0){ |
tim003 | 6:dd675b967b60 | 224 | spi.turnOFF(); |
tim003 | 6:dd675b967b60 | 225 | turnedON = false; |
tim003 | 6:dd675b967b60 | 226 | |
tim003 | 6:dd675b967b60 | 227 | |
tim003 | 6:dd675b967b60 | 228 | } else if(jacina >= 0.98){ |
tim003 | 6:dd675b967b60 | 229 | if(!turnedON){ |
tim003 | 6:dd675b967b60 | 230 | spi.turnON(); |
tim003 | 6:dd675b967b60 | 231 | turnedON = true; |
tim003 | 6:dd675b967b60 | 232 | } |
tim003 | 6:dd675b967b60 | 233 | |
tim003 | 6:dd675b967b60 | 234 | spi.sendSingle(MatrixSPI::intensity, 0x0f); |
tim003 | 6:dd675b967b60 | 235 | } else { |
tim003 | 6:dd675b967b60 | 236 | if(!turnedON){ |
tim003 | 6:dd675b967b60 | 237 | spi.turnON(); |
tim003 | 6:dd675b967b60 | 238 | turnedON = true; |
tim003 | 6:dd675b967b60 | 239 | } |
tim003 | 6:dd675b967b60 | 240 | |
tim003 | 6:dd675b967b60 | 241 | int temp = jacina*0x0f; |
tim003 | 6:dd675b967b60 | 242 | spi.sendSingle(MatrixSPI::intensity, temp); |
tim003 | 6:dd675b967b60 | 243 | } |
tim003 | 6:dd675b967b60 | 244 | } |
tim003 | 6:dd675b967b60 | 245 | |
tim003 | 6:dd675b967b60 | 246 | void DotMatrix::attach() |
tim003 | 6:dd675b967b60 | 247 | { |
tim003 | 6:dd675b967b60 | 248 | detach(); |
tim003 | 6:dd675b967b60 | 249 | if(mod == scroll) |
tim003 | 6:dd675b967b60 | 250 | { |
tim003 | 6:dd675b967b60 | 251 | isAttached = true; |
tim003 | 6:dd675b967b60 | 252 | ticker.attach(this, &DotMatrix::prikaziScroll, brzina_ms/8); |
tim003 | 6:dd675b967b60 | 253 | } else if(mod == char_by_char){ |
tim003 | 6:dd675b967b60 | 254 | isAttached = true; |
tim003 | 6:dd675b967b60 | 255 | ticker.attach(this, &DotMatrix::prikaziCBC, brzina_ms); |
tim003 | 6:dd675b967b60 | 256 | } |
tim003 | 6:dd675b967b60 | 257 | } |
tim003 | 6:dd675b967b60 | 258 | |
tim003 | 6:dd675b967b60 | 259 | void DotMatrix::setSpeed_ms(int ms) |
tim003 | 6:dd675b967b60 | 260 | { |
tim003 | 6:dd675b967b60 | 261 | brzina_ms = ms; |
tim003 | 6:dd675b967b60 | 262 | ticker.detach(); |
tim003 | 6:dd675b967b60 | 263 | attach(); |
tim003 | 6:dd675b967b60 | 264 | } |
tim003 | 6:dd675b967b60 | 265 | |
tim003 | 6:dd675b967b60 | 266 | void DotMatrix::turnON(){ |
tim003 | 6:dd675b967b60 | 267 | if(!turnedON){ |
tim003 | 6:dd675b967b60 | 268 | spi.turnON(); |
tim003 | 6:dd675b967b60 | 269 | turnedON = true; |
tim003 | 6:dd675b967b60 | 270 | |
tim003 | 6:dd675b967b60 | 271 | attach(); |
tim003 | 6:dd675b967b60 | 272 | } |
tim003 | 6:dd675b967b60 | 273 | } |
tim003 | 6:dd675b967b60 | 274 | |
tim003 | 6:dd675b967b60 | 275 | void DotMatrix::turnOFF(){ |
tim003 | 6:dd675b967b60 | 276 | if(turnedON){ |
tim003 | 6:dd675b967b60 | 277 | spi.turnOFF(); |
tim003 | 6:dd675b967b60 | 278 | turnedON = false; |
tim003 | 6:dd675b967b60 | 279 | |
tim003 | 6:dd675b967b60 | 280 | ticker.detach(); |
tim003 | 6:dd675b967b60 | 281 | } |
tim003 | 6:dd675b967b60 | 282 | } |
tim003 | 6:dd675b967b60 | 283 | |
tim003 | 3:43648fa57d55 | 284 | #endif //DotMatrix_h |