hi i am working on a (static) display (8x72) .
i am using 72 shift registers and they are on vertical.
for example this is how they are conected:
now on code:
//here are (some) patterns (on my language).just to know they are on vertical too.
#define char_A_gr { B11111111,B11000000,B10111011,B10111011,B10111011,B10111011,B11000000,B11111111 }//0
#define char_B_gr { B11111111,B10000000,B10110110,B10110110,B10110110,B10110110,B11001001,B11111111 }//1
#define char_Gama_gr { B11111111,B10000000,B10111111,B10111111,B10111111,B10111111,B10111111,B11111111 }//2
#define char_Delta_gr { B11110000,B11101110,B11011110,B10111110,B11011110,B11101110,B11110000,B11111111 }//3
#define char_E_gr { B11111111,B10000000,B10110110,B10110110,B10110110,B10110110,B10111110,B11111111 }//4
#define char_Z_gr { B11111111,B10111100,B10111010,B10110110,B10101110,B10011110,B10111110,B11111111 }//5
#define char_H_gr { B11111111,B10000000,B11110111,B11110111,B11110111,B11110111,B10000000,B11111111 }//6
//here is the index of patterns
byte small_index[7][8]= {char_A_gr,char_B_gr,char_Gama_gr,char_Delta_gr,char_E_gr,char_Z_gr,char_H_gr};
//for example if want to display pattern char_A_gr, becouse they are on vertical we need to shiftout these:
// index[0][0],then index[0][1],then index[0][2],index[0][3],then index[0][4],index[0][5],then index[0][6],index[0][7]
how can i display scrolling text for example the first 3 chars? (A,B,Gama)?
becouse the led display is big lets suppose that display is small (8x16)
so to scroll the patterns we need to shiftout this:(on index]:
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 (pattern A)
1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7 (pattern B)
delay(50); (some delay between frame)
then we need to scroll one bit:
0,1 0,2 0,3 0,4 0,5 0,6 0,7 1,0 (pattern A minus first bit + first bit from pattern B)
1,1 1,2 1,3 1,4 1,5 1,6 1,7 2,1 (7 bits from pattern B + first bit from pattern Gama)
and so on...
i was trying to make it with some loops with no success.
so i need a syntax that can shiftout these:
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7
then
0,1 0,2 0,3 0,4 0,5 0,6 0,7 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7 2,0
then
0,2 0,3 0,4 0,5 0,6 0,7 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7 2,0 2,1
and so on...
i succed to do this with storing all patterns to a big variable array but it needs 200 bytes from ram....really bad code