I still doesn't have the answer to those questions but I have remake the complete graphic for the schematic
.
Code: Select all
#ifndef __PATTERN_H
#define __PATTERN_H
#include <avr/pgmspace.h>
typedef prog_uchar patternp[8]; // stored in progmem
void scrollString(const char * s, unsigned int gap);
const patternp * getPattern(unsigned char c);
const patternp PATTERN_BLANK PROGMEM = {
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0
};
const patternp PATTERN_SOLID PROGMEM = {
0b11111111,
0b11111111,
0b11111111,
0b11111111,
0b11111111,
0b11111111,
0b11111111,
0b11111111
};
const patternp PATTERN_A PROGMEM = {
0b11110000,
0b10010000,
0b10010000,
0b11110000,
0b10010000,
0b10010000,
0b10010000,
0b10010000
};
const patternp PATTERN_B PROGMEM = {
0b11100000,
0b10010000,
0b10010000,
0b11100000,
0b10010000,
0b10010000,
0b10010000,
0b11100000
};
const patternp PATTERN_C PROGMEM = {
0b11110000,
0b10010000,
0b10000000,
0b10000000,
0b10000000,
0b10000000,
0b10010000,
0b11110000
};
const patternp PATTERN_D PROGMEM = {
0b11100000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b11100000
};
const patternp PATTERN_E PROGMEM = {
0b11110000,
0b10000000,
0b10000000,
0b11100000,
0b10000000,
0b10000000,
0b10000000,
0b11110000
};
const patternp PATTERN_F PROGMEM = {
0b11110000,
0b10000000,
0b10000000,
0b10000000,
0b11100000,
0b10000000,
0b10000000,
0b10000000
};
const patternp PATTERN_G PROGMEM = {
0b11110000,
0b10000000,
0b10000000,
0b10000000,
0b10110000,
0b10010000,
0b10010000,
0b11110000
};
const patternp PATTERN_H PROGMEM = {
0b10010000,
0b10010000,
0b10010000,
0b11110000,
0b10010000,
0b10010000,
0b10010000,
0b10010000
};
const patternp PATTERN_I PROGMEM = {
0b01110000,
0b00100000,
0b00100000,
0b00100000,
0b00100000,
0b00100000,
0b00100000,
0b01110000
};
const patternp PATTERN_J PROGMEM = {
0b01110000,
0b00100000,
0b00100000,
0b00100000,
0b00100000,
0b10100000,
0b10100000,
0b11100000
};
const patternp PATTERN_K PROGMEM = {
0b10010000,
0b10010000,
0b10100000,
0b11000000,
0b10100000,
0b10010000,
0b10010000,
0b10010000
};
const patternp PATTERN_L PROGMEM = {
0b10000000,
0b10000000,
0b10000000,
0b10000000,
0b10000000,
0b10000000,
0b10000000,
0b11110000
};
const patternp PATTERN_M PROGMEM = {
0b10001000,
0b11011000,
0b10101000,
0b10001000,
0b10001000,
0b10001000,
0b10001000,
0b10001000
};
const patternp PATTERN_N PROGMEM = {
0b10001000,
0b11001000,
0b10101000,
0b10101000,
0b10011000,
0b10011000,
0b10001000,
0b10001000
};
const patternp PATTERN_O PROGMEM = {
0b01100000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b01100000
};
const patternp PATTERN_P PROGMEM = {
0b11110000,
0b10010000,
0b10010000,
0b11110000,
0b10000000,
0b10000000,
0b10000000,
0b10000000
};
const patternp PATTERN_Q PROGMEM = {
0b01100000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10100000,
0b01010000
};
const patternp PATTERN_R PROGMEM = {
0b11100000,
0b10010000,
0b10010000,
0b10100000,
0b11000000,
0b10100000,
0b10010000,
0b10010000
};
const patternp PATTERN_S PROGMEM = {
0b01100000,
0b10010000,
0b10000000,
0b01100000,
0b00010000,
0b00010000,
0b00010000,
0b11100000
};
const patternp PATTERN_T PROGMEM = {
0b11111000,
0b00100000,
0b00100000,
0b00100000,
0b00100000,
0b00100000,
0b00100000,
0b00100000
};
const patternp PATTERN_U PROGMEM = {
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b11110000
};
const patternp PATTERN_V PROGMEM = {
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b01100000,
0b00100000
};
const patternp PATTERN_W PROGMEM = {
0b10001000,
0b10001000,
0b10001000,
0b10101000,
0b10101000,
0b10101000,
0b10101000,
0b01010000
};
const patternp PATTERN_X PROGMEM = {
0b10010000,
0b10010000,
0b01100000,
0b01100000,
0b01100000,
0b10010000,
0b10010000,
0b10010000
};
const patternp PATTERN_Y PROGMEM = {
0b10010000,
0b10010000,
0b10010000,
0b10010000,
0b01100000,
0b01000000,
0b01000000,
0b01000000
};
const patternp PATTERN_Z PROGMEM = {
0b11110000,
0b00010000,
0b00010000,
0b00100000,
0b00100000,
0b01000000,
0b10000000,
0b11110000
};
const patternp PATTERN_1 PROGMEM = {
0b00100000,
0b01100000,
0b10100000,
0b00100000,
0b00100000,
0b00100000,
0b00100000,
0b11110000
};
const patternp PATTERN_2 PROGMEM = {
0b01100000,
0b10010000,
0b00010000,
0b01100000,
0b10000000,
0b10000000,
0b10000000,
0b11110000
};
const patternp PATTERN_3 PROGMEM = {
0b11100000,
0b00010000,
0b00100000,
0b01000000,
0b10000000,
0b01100000,
0b00100000,
0b11000000
};
const patternp PATTERN_4 PROGMEM = {
0b10010000,
0b10010000,
0b10010000,
0b11110000,
0b00010000,
0b00010000,
0b00010000,
0b00010000
};
const patternp PATTERN_5 PROGMEM = {
0b11110000,
0b10000000,
0b10000000,
0b11100000,
0b00010000,
0b00010000,
0b00010000,
0b11100000
};
const patternp PATTERN_6 PROGMEM = {
0b01100000,
0b10010000,
0b10000000,
0b10000000,
0b11100000,
0b10010000,
0b10010000,
0b01100000
};
const patternp PATTERN_7 PROGMEM = {
0b11110000,
0b00010000,
0b00010000,
0b00100000,
0b01000000,
0b01000000,
0b01000000,
0b01000000
};
const patternp PATTERN_8 PROGMEM = {
0b01100000,
0b10010000,
0b10010000,
0b01100000,
0b10010000,
0b10010000,
0b10010000,
0b01100000
};
const patternp PATTERN_9 PROGMEM = {
0b01110000,
0b10010000,
0b10010000,
0b01110000,
0b00010000,
0b00010000,
0b00010000,
0b00010000
};
const patternp PATTERN_0 PROGMEM = {
0b01100000,
0b10010000,
0b10110000,
0b11010000,
0b11010000,
0b10010000,
0b10010000,
0b01100000
};
const patternp PATTERN_AT PROGMEM = {
0b01110000,
0b10001000,
0b10101000,
0b10101000,
0b10101000,
0b10101000,
0b10011000,
0b01110000
};
const patternp PATTERN_PLUS PROGMEM = {
0b00000000,
0b00000000,
0b00100000,
0b00100000,
0b11111000,
0b00100000,
0b00100000,
0b00000000
};
const patternp PATTERN_MINUS PROGMEM = {
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b11111000,
0b00000000,
0b00000000,
0b00000000
};
const patternp PATTERN_EQUAL PROGMEM = {
0b00000000,
0b00000000,
0b00000000,
0b11111000,
0b00000000,
0b11111000,
0b00000000,
0b00000000
};
const patternp PATTERN_LESS PROGMEM = {
0b00000000,
0b00010000,
0b00100000,
0b01000000,
0b10000000,
0b01000000,
0b00100000,
0b00010000
};
const patternp PATTERN_GREATER PROGMEM = {
0b00000000,
0b10000000,
0b01000000,
0b00100000,
0b00010000,
0b00100000,
0b01000000,
0b10000000
};
const patternp PATTERN_PARENTHESIS_LEFT PROGMEM = {
0b00100000,
0b01000000,
0b01000000,
0b10000000,
0b10000000,
0b01000000,
0b01000000,
0b00100000
};
const patternp PATTERN_PARENTHESIS_RIGHT PROGMEM = {
0b00100000,
0b00010000,
0b00010000,
0b00001000,
0b00001000,
0b00010000,
0b00010000,
0b00100000
};
#endif
Hope this can help other people.