Thanks for the feedback and comments so far.
Here's kind of the overview with how I use the shift registers...
byte 0, 1, 2 : red cathodes
byte 3, 4, 5 : green cathodes
byte 6: anodes for rowscan
I'm using 8 2222 transistors connected to +5v that get their signals from byte 6 and push out to all 3 panels at the same time. I was originally doing larger 5 panel displays which required this setup, and I like how bright the leds are.
The code to select color is really simple. I keep track of the color cycle with an int and have a case statement before i do the shift outs...
psuedo code
red:
byte 0, 1, 2 on
byte 3, 4, 5 off
green
byte 0, 1, 2 off
byte 3, 4, 5 on
orange:
byte 0, 1, 2, 3, 4, 5 on
Apologies for not having more of the code ready. It takes a lot more time than I thought to clean stuff up for public consumption. ![]()
I'll try and put together the info about designing the fonts and interlacing (not the right word, can't think of anything better) two digits into a single 1 byte value in my next post.