Julio Ernesto Zaldívar Herrera / Mbed 2 deprecated matriz_16x12_pixel

Dependencies:   Pointmatrix16x12 mbed

Committer:
zherjer
Date:
Thu Sep 04 03:16:10 2014 +0000
Revision:
0:03c2cf84566f
point in tmatrix 16x12

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zherjer 0:03c2cf84566f 1 #include "mbed.h"
zherjer 0:03c2cf84566f 2 #include "TLC59711.h"
zherjer 0:03c2cf84566f 3 #define NUM_TLC59711 1
zherjer 0:03c2cf84566f 4 #define t1 10000
zherjer 0:03c2cf84566f 5
zherjer 0:03c2cf84566f 6 TLC59711 tlc(NUM_TLC59711, p7, p5);
zherjer 0:03c2cf84566f 7 Serial pc(USBTX, USBRX); // tx, rx
zherjer 0:03c2cf84566f 8 Serial device(p9, p10); // tx, rx
zherjer 0:03c2cf84566f 9
zherjer 0:03c2cf84566f 10 //Define functions
zherjer 0:03c2cf84566f 11 //======================
zherjer 0:03c2cf84566f 12 void letter_o();
zherjer 0:03c2cf84566f 13 void _16_columns(uint16_t col);
zherjer 0:03c2cf84566f 14 void _12_filas(uint16_t f0, uint16_t f1, uint16_t f2, uint16_t f3, uint16_t f4, uint16_t f5, uint16_t f6, uint16_t f7, uint16_t f8, uint16_t f9, uint16_t f10, uint16_t f11);
zherjer 0:03c2cf84566f 15 void fila_off(uint8_t num_tlc); void fila_0(uint8_t num_tlc); void fila_1(uint8_t num_tlc); void fila_2(uint8_t num_tlc);
zherjer 0:03c2cf84566f 16 void fila_3(uint8_t num_tlc); void fila_4(uint8_t num_tlc); void fila_5(uint8_t num_tlc); void fila_6(uint8_t num_tlc);
zherjer 0:03c2cf84566f 17 void fila_7(uint8_t num_tlc); void fila_8(uint8_t num_tlc); void fila_9(uint8_t num_tlc); void fila_10(uint8_t num_tlc);
zherjer 0:03c2cf84566f 18 void fila_11(uint8_t num_tlc);
zherjer 0:03c2cf84566f 19 //======================
zherjer 0:03c2cf84566f 20
zherjer 0:03c2cf84566f 21
zherjer 0:03c2cf84566f 22
zherjer 0:03c2cf84566f 23 int repit = 8;
zherjer 0:03c2cf84566f 24 uint16_t on = 65535;
zherjer 0:03c2cf84566f 25 uint16_t off = 0;
zherjer 0:03c2cf84566f 26 uint16_t column;
zherjer 0:03c2cf84566f 27 uint8_t column_h, column_l;
zherjer 0:03c2cf84566f 28 uint8_t dato[4];
zherjer 0:03c2cf84566f 29
zherjer 0:03c2cf84566f 30
zherjer 0:03c2cf84566f 31 int main()
zherjer 0:03c2cf84566f 32 {
zherjer 0:03c2cf84566f 33 device.baud(38400);
zherjer 0:03c2cf84566f 34
zherjer 0:03c2cf84566f 35 while( 1 )
zherjer 0:03c2cf84566f 36 {
zherjer 0:03c2cf84566f 37 letter_o();
zherjer 0:03c2cf84566f 38 }
zherjer 0:03c2cf84566f 39 }
zherjer 0:03c2cf84566f 40
zherjer 0:03c2cf84566f 41
zherjer 0:03c2cf84566f 42 void _12_filas(uint8_t n_tlc, uint16_t f0, uint16_t f1, uint16_t f2, uint16_t f3, uint16_t f4, uint16_t f5, uint16_t f6, uint16_t f7, uint16_t f8, uint16_t f9, uint16_t f10, uint16_t f11)
zherjer 0:03c2cf84566f 43 {
zherjer 0:03c2cf84566f 44 uint8_t channel[5];
zherjer 0:03c2cf84566f 45 switch (n_tlc)
zherjer 0:03c2cf84566f 46 {
zherjer 0:03c2cf84566f 47 case 0:
zherjer 0:03c2cf84566f 48 channel[0] = 0;
zherjer 0:03c2cf84566f 49 channel[1] = 1;
zherjer 0:03c2cf84566f 50 channel[2] = 2;
zherjer 0:03c2cf84566f 51 channel[3] = 3;
zherjer 0:03c2cf84566f 52 break;
zherjer 0:03c2cf84566f 53 case 1:
zherjer 0:03c2cf84566f 54 channel[0] = 4;
zherjer 0:03c2cf84566f 55 channel[1] = 5;
zherjer 0:03c2cf84566f 56 channel[2] = 6;
zherjer 0:03c2cf84566f 57 channel[3] = 7;
zherjer 0:03c2cf84566f 58 break;
zherjer 0:03c2cf84566f 59 default:
zherjer 0:03c2cf84566f 60 break;
zherjer 0:03c2cf84566f 61 }
zherjer 0:03c2cf84566f 62 tlc.setLED(channel[0], f0, f1, f2);
zherjer 0:03c2cf84566f 63 tlc.write();
zherjer 0:03c2cf84566f 64 tlc.setLED(channel[1], f3, f4, f5);
zherjer 0:03c2cf84566f 65 tlc.write();
zherjer 0:03c2cf84566f 66 tlc.setLED(channel[2], f6, f7, f8);
zherjer 0:03c2cf84566f 67 tlc.write();
zherjer 0:03c2cf84566f 68 tlc.setLED(channel[3], f9, f10, f11);
zherjer 0:03c2cf84566f 69 tlc.write();
zherjer 0:03c2cf84566f 70 }
zherjer 0:03c2cf84566f 71
zherjer 0:03c2cf84566f 72 void _32_columns(uint8_t n_uc, uint16_t col)
zherjer 0:03c2cf84566f 73 {
zherjer 0:03c2cf84566f 74 column_h = (col >> 8);
zherjer 0:03c2cf84566f 75 column_l = col;
zherjer 0:03c2cf84566f 76 device.putc('#');
zherjer 0:03c2cf84566f 77 device.putc(n_uc);
zherjer 0:03c2cf84566f 78 device.putc(column_h);
zherjer 0:03c2cf84566f 79 device.putc(column_l);
zherjer 0:03c2cf84566f 80 device.putc('%');
zherjer 0:03c2cf84566f 81
zherjer 0:03c2cf84566f 82 if(device.readable()) {
zherjer 0:03c2cf84566f 83 dato[0] = device.getc();
zherjer 0:03c2cf84566f 84 if(dato[0] == '#'){
zherjer 0:03c2cf84566f 85 dato[1] = device.getc();
zherjer 0:03c2cf84566f 86 dato[2] = device.getc();
zherjer 0:03c2cf84566f 87 dato[3] = device.getc();
zherjer 0:03c2cf84566f 88 }
zherjer 0:03c2cf84566f 89 if(dato[1] == 'O' && dato[2] == 'K' && dato[3] == '%')
zherjer 0:03c2cf84566f 90 {
zherjer 0:03c2cf84566f 91 /*pc.printf("Column valid ");
zherjer 0:03c2cf84566f 92 pc.putc(dato[0]);
zherjer 0:03c2cf84566f 93 pc.putc(dato[1]);
zherjer 0:03c2cf84566f 94 pc.putc(dato[2]);
zherjer 0:03c2cf84566f 95 pc.putc(dato[3]);
zherjer 0:03c2cf84566f 96 pc.printf(" ");
zherjer 0:03c2cf84566f 97 pc.putc(column_h, BIN);
zherjer 0:03c2cf84566f 98 pc.putc(column_l, BIN);
zherjer 0:03c2cf84566f 99 pc.printf("\n");*/
zherjer 0:03c2cf84566f 100 }
zherjer 0:03c2cf84566f 101 else
zherjer 0:03c2cf84566f 102 {
zherjer 0:03c2cf84566f 103 /* Serial.print("Column fail");
zherjer 0:03c2cf84566f 104 pc.putc(dato[0]);
zherjer 0:03c2cf84566f 105 pc.putc(dato[1]);
zherjer 0:03c2cf84566f 106 pc.putc(dato[2]);
zherjer 0:03c2cf84566f 107 pc.putc(dato[3]);
zherjer 0:03c2cf84566f 108 pc.putc(column_h, BIN);
zherjer 0:03c2cf84566f 109 pc.putc(column_l, BIN);
zherjer 0:03c2cf84566f 110 pc.printf("\n");*/
zherjer 0:03c2cf84566f 111 }
zherjer 0:03c2cf84566f 112 }
zherjer 0:03c2cf84566f 113 //wait(0.010);
zherjer 0:03c2cf84566f 114 }
zherjer 0:03c2cf84566f 115
zherjer 0:03c2cf84566f 116 void letter_o()
zherjer 0:03c2cf84566f 117 {
zherjer 0:03c2cf84566f 118 for(int j = 0; j<=15; j++)
zherjer 0:03c2cf84566f 119 {
zherjer 0:03c2cf84566f 120 //**** first row ******
zherjer 0:03c2cf84566f 121 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 122 {
zherjer 0:03c2cf84566f 123 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 124 {
zherjer 0:03c2cf84566f 125 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 126 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 127 //fila_0();
zherjer 0:03c2cf84566f 128 //_16_columns(n_col_bin);
zherjer 0:03c2cf84566f 129
zherjer 0:03c2cf84566f 130 fila_0(0);
zherjer 0:03c2cf84566f 131 _32_columns(0, n_col_bin);
zherjer 0:03c2cf84566f 132 wait_us(t1);
zherjer 0:03c2cf84566f 133 }
zherjer 0:03c2cf84566f 134 }
zherjer 0:03c2cf84566f 135 //**** second row ******
zherjer 0:03c2cf84566f 136 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 137 {
zherjer 0:03c2cf84566f 138 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 139 {
zherjer 0:03c2cf84566f 140 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 141 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 142 fila_1(0);
zherjer 0:03c2cf84566f 143 _32_columns(0,n_col_bin);
zherjer 0:03c2cf84566f 144 wait_us(t1);
zherjer 0:03c2cf84566f 145 }
zherjer 0:03c2cf84566f 146 }
zherjer 0:03c2cf84566f 147 //**** third row ******
zherjer 0:03c2cf84566f 148 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 149 {
zherjer 0:03c2cf84566f 150 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 151 {
zherjer 0:03c2cf84566f 152 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 153 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 154 fila_2(0);
zherjer 0:03c2cf84566f 155 _32_columns(0,n_col_bin);
zherjer 0:03c2cf84566f 156 wait_us(t1);
zherjer 0:03c2cf84566f 157 }
zherjer 0:03c2cf84566f 158 }
zherjer 0:03c2cf84566f 159 //**** fourth row ******
zherjer 0:03c2cf84566f 160 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 161 {
zherjer 0:03c2cf84566f 162 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 163 {
zherjer 0:03c2cf84566f 164 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 165 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 166 fila_3(0);
zherjer 0:03c2cf84566f 167 _32_columns(0,n_col_bin);
zherjer 0:03c2cf84566f 168 wait_us(t1);
zherjer 0:03c2cf84566f 169 }
zherjer 0:03c2cf84566f 170 }
zherjer 0:03c2cf84566f 171 //**** fifth row ******
zherjer 0:03c2cf84566f 172 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 173 {
zherjer 0:03c2cf84566f 174 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 175 {
zherjer 0:03c2cf84566f 176 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 177 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 178 fila_4(0);
zherjer 0:03c2cf84566f 179 _32_columns(0,n_col_bin);
zherjer 0:03c2cf84566f 180 wait_us(t1);
zherjer 0:03c2cf84566f 181 }
zherjer 0:03c2cf84566f 182 }
zherjer 0:03c2cf84566f 183 //**** sixth row ******
zherjer 0:03c2cf84566f 184 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 185 {
zherjer 0:03c2cf84566f 186 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 187 {
zherjer 0:03c2cf84566f 188 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 189 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 190 fila_5(0);
zherjer 0:03c2cf84566f 191 _32_columns(0,n_col_bin);
zherjer 0:03c2cf84566f 192 wait_us(t1);
zherjer 0:03c2cf84566f 193 }
zherjer 0:03c2cf84566f 194 }
zherjer 0:03c2cf84566f 195 //**** seventh row ******
zherjer 0:03c2cf84566f 196 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 197 {
zherjer 0:03c2cf84566f 198 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 199 {
zherjer 0:03c2cf84566f 200 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 201 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 202 fila_6(0);
zherjer 0:03c2cf84566f 203 _32_columns(0, n_col_bin);
zherjer 0:03c2cf84566f 204 wait_us(t1);
zherjer 0:03c2cf84566f 205 }
zherjer 0:03c2cf84566f 206 }
zherjer 0:03c2cf84566f 207 //**** eight row ******
zherjer 0:03c2cf84566f 208 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 209 {
zherjer 0:03c2cf84566f 210 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 211 {
zherjer 0:03c2cf84566f 212 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 213 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 214 fila_7(0);
zherjer 0:03c2cf84566f 215 _32_columns(0, n_col_bin);
zherjer 0:03c2cf84566f 216 wait_us(t1);
zherjer 0:03c2cf84566f 217 }
zherjer 0:03c2cf84566f 218 }
zherjer 0:03c2cf84566f 219 //**** ninth row ******
zherjer 0:03c2cf84566f 220 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 221 {
zherjer 0:03c2cf84566f 222 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 223 {
zherjer 0:03c2cf84566f 224 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 225 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 226 fila_8(0);
zherjer 0:03c2cf84566f 227 _32_columns(0, n_col_bin);
zherjer 0:03c2cf84566f 228 wait_us(t1);
zherjer 0:03c2cf84566f 229 }
zherjer 0:03c2cf84566f 230 }
zherjer 0:03c2cf84566f 231 //**** tenth row ******
zherjer 0:03c2cf84566f 232 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 233 {
zherjer 0:03c2cf84566f 234 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 235 {
zherjer 0:03c2cf84566f 236 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 237 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 238 fila_9(0);
zherjer 0:03c2cf84566f 239 _32_columns(0, n_col_bin);
zherjer 0:03c2cf84566f 240 wait_us(t1);
zherjer 0:03c2cf84566f 241 }
zherjer 0:03c2cf84566f 242 }
zherjer 0:03c2cf84566f 243 //**** eleventh row ******
zherjer 0:03c2cf84566f 244 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 245 {
zherjer 0:03c2cf84566f 246 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 247 {
zherjer 0:03c2cf84566f 248 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 249 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 250 fila_10(0);
zherjer 0:03c2cf84566f 251 _32_columns(0, n_col_bin);
zherjer 0:03c2cf84566f 252 wait_us(t1);
zherjer 0:03c2cf84566f 253 }
zherjer 0:03c2cf84566f 254 }
zherjer 0:03c2cf84566f 255 //**** twelfth column ******
zherjer 0:03c2cf84566f 256 for(double k = 0; k < 16; k++)
zherjer 0:03c2cf84566f 257 {
zherjer 0:03c2cf84566f 258 for(int i =0; i<repit; i++)
zherjer 0:03c2cf84566f 259 {
zherjer 0:03c2cf84566f 260 double n_col = pow(2, k);
zherjer 0:03c2cf84566f 261 uint16_t n_col_bin = n_col;
zherjer 0:03c2cf84566f 262 fila_11(0);
zherjer 0:03c2cf84566f 263 _32_columns(0, n_col_bin);
zherjer 0:03c2cf84566f 264 wait_us(t1);
zherjer 0:03c2cf84566f 265 }
zherjer 0:03c2cf84566f 266 }
zherjer 0:03c2cf84566f 267 }
zherjer 0:03c2cf84566f 268 }
zherjer 0:03c2cf84566f 269 void fila_off(uint8_t num_tlc)
zherjer 0:03c2cf84566f 270 {
zherjer 0:03c2cf84566f 271 _12_filas(num_tlc,off,off,off,off,off,off,off,off,off,off,off,off);
zherjer 0:03c2cf84566f 272 }
zherjer 0:03c2cf84566f 273 void fila_0(uint8_t num_tlc)
zherjer 0:03c2cf84566f 274 {
zherjer 0:03c2cf84566f 275 _12_filas(num_tlc,on,off,off,off,off,off,off,off,off,off,off,off);
zherjer 0:03c2cf84566f 276 }
zherjer 0:03c2cf84566f 277 void fila_1(uint8_t num_tlc)
zherjer 0:03c2cf84566f 278 {
zherjer 0:03c2cf84566f 279 _12_filas(num_tlc,off,on,off,off,off,off,off,off,off,off,off,off);
zherjer 0:03c2cf84566f 280 }
zherjer 0:03c2cf84566f 281 void fila_2(uint8_t num_tlc)
zherjer 0:03c2cf84566f 282 {
zherjer 0:03c2cf84566f 283 _12_filas(num_tlc,off,off,on,off,off,off,off,off,off,off,off,off);
zherjer 0:03c2cf84566f 284 }
zherjer 0:03c2cf84566f 285 void fila_3(uint8_t num_tlc)
zherjer 0:03c2cf84566f 286 {
zherjer 0:03c2cf84566f 287 _12_filas(num_tlc,off,off,off,on,off,off,off,off,off,off,off,off);
zherjer 0:03c2cf84566f 288 }
zherjer 0:03c2cf84566f 289 void fila_4(uint8_t num_tlc)
zherjer 0:03c2cf84566f 290 {
zherjer 0:03c2cf84566f 291 _12_filas(num_tlc,off,off,off,off,on,off,off,off,off,off,off,off);
zherjer 0:03c2cf84566f 292 }
zherjer 0:03c2cf84566f 293 void fila_5(uint8_t num_tlc)
zherjer 0:03c2cf84566f 294 {
zherjer 0:03c2cf84566f 295 _12_filas(num_tlc,off,off,off,off,off,on,off,off,off,off,off,off);
zherjer 0:03c2cf84566f 296 }
zherjer 0:03c2cf84566f 297 void fila_6(uint8_t num_tlc)
zherjer 0:03c2cf84566f 298 {
zherjer 0:03c2cf84566f 299 _12_filas(num_tlc,off,off,off,off,off,off,on,off,off,off,off,off);
zherjer 0:03c2cf84566f 300 }
zherjer 0:03c2cf84566f 301 void fila_7(uint8_t num_tlc)
zherjer 0:03c2cf84566f 302 {
zherjer 0:03c2cf84566f 303 _12_filas(num_tlc,off,off,off,off,off,off,off,on,off,off,off,off);
zherjer 0:03c2cf84566f 304 }
zherjer 0:03c2cf84566f 305 void fila_8(uint8_t num_tlc)
zherjer 0:03c2cf84566f 306 {
zherjer 0:03c2cf84566f 307 _12_filas(num_tlc,off,off,off,off,off,off,off,off,on,off,off,off);
zherjer 0:03c2cf84566f 308 }
zherjer 0:03c2cf84566f 309 void fila_9(uint8_t num_tlc)
zherjer 0:03c2cf84566f 310 {
zherjer 0:03c2cf84566f 311 _12_filas(num_tlc,off,off,off,off,off,off,off,off,off,on,off,off);
zherjer 0:03c2cf84566f 312 }
zherjer 0:03c2cf84566f 313 void fila_10(uint8_t num_tlc)
zherjer 0:03c2cf84566f 314 {
zherjer 0:03c2cf84566f 315 _12_filas(num_tlc,off,off,off,off,off,off,off,off,off,off,on,off);
zherjer 0:03c2cf84566f 316 }
zherjer 0:03c2cf84566f 317 void fila_11(uint8_t num_tlc)
zherjer 0:03c2cf84566f 318 {
zherjer 0:03c2cf84566f 319 _12_filas(num_tlc,off,off,off,off,off,off,off,off,off,off,off,on);
zherjer 0:03c2cf84566f 320 }