and the last part:
void fader(void) {
byte ctr1;
byte row;
byte led;
for(ctr1 = 0; ctr1 <= __max_brightness; ctr1++) {
for(row = 0; row <= __max_row; row++) {
for(led = 0; led <= __max_led; led++) {
set_led_rgb(row,led,ctr1,ctr1,ctr1);
}
}
delay(__fade_delay);
}
for(ctr1 = __max_brightness; (ctr1 >= 0) & (ctr1 != 255); ctr1--) {
for(row = 0; row <= __max_row; row++) {
for(led = 0; led <= __max_led; led++) {
set_led_rgb(row,led,ctr1,ctr1,ctr1);
}
}
delay(__fade_delay);
}
}
void fader_hue(void) {
int ctr1;
byte row;
byte led;
for(ctr1 = 0; ctr1 < 360; ctr1=ctr1+3) {
set_matrix_hue((float)(ctr1));
delay(__fade_delay);
}
}
void matrix_heart(int hue) {
set_row_byte_hue(1,B00110110,hue);
set_row_byte_hue(2,B01111111,hue);
set_row_byte_hue(3,B01111111,hue);
set_row_byte_hue(4,B00111110,hue);
set_row_byte_hue(5,B00011100,hue);
set_row_byte_hue(6,B00001000,hue);
}
void matrix_test(void) {
byte ctr1;
byte ctr2;
int hue;
for(hue = 0; hue < 360; hue=hue+32) {
for(ctr2 = 0; ctr2 <= __max_row; ctr2++) {
for(ctr1 = 0; ctr1 <= __max_led; ctr1++) {
set_led_hue(ctr2,ctr1,hue);
delay(5);
}
}
}
}
void matrix_heart_2(void) {
int hue;
for(hue = 0; hue < 360; hue=hue+16) {
set_row_byte_hue(1,B00110110,hue);
set_row_byte_hue(2,B01111111,hue);
set_row_byte_hue(3,B01111111,hue);
set_row_byte_hue(4,B00111110,hue);
set_row_byte_hue(5,B00011100,hue);
set_row_byte_hue(6,B00001000,hue);
delay(3*__fade_delay);
}
}
void rainbow(void) {
byte column;
for(column = 0; column <= __max_led; column++) {
set_column_hue(column,column*50);
}
}
void color_wave(int width) {
byte column;
static int shift = 0;
for(column = 0; column <= __max_led; column++) {
set_column_hue(column,column*width+shift);
}
shift++;
}
void random_leds(void) {
set_led_hue((byte)(random(__rows)),(byte)(random(__leds_per_row)),(int)(random(360)));
}
void smile_on(int hue) {
set_row_byte_hue(0,B00000000,hue);
set_row_byte_hue(1,B01100110,hue);
set_row_byte_hue(2,B01100110,hue);
set_row_byte_hue(3,B00000000,hue);
set_row_byte_hue(4,B00011000,hue);
set_row_byte_hue(5,B10011001,hue);
set_row_byte_hue(6,B01000010,hue);
set_row_byte_hue(7,B00111100,hue);
}
void smile_off(int hue) {
set_row_byte_hue(0,B00000000,hue);
set_row_byte_hue(1,B00000000,hue);
set_row_byte_hue(2,B01100110,hue);
set_row_byte_hue(3,B00000000,hue);
set_row_byte_hue(4,B00011000,hue);
set_row_byte_hue(5,B10011001,hue);
set_row_byte_hue(6,B01000010,hue);
set_row_byte_hue(7,B00111100,hue);
}
void smile_blink(int hue, byte times, int pause) {
byte ctr;
for(ctr = 0; ctr < times; ctr++) {
delay(pause);
smile_on(hue);
delay(pause);
smile_off(hue);
delay(pause);
smile_on(hue);
}
}
void explode(int hue, byte pause) {
set_row_byte_hue(0,B00000000,hue);
set_row_byte_hue(1,B00000000,hue);
set_row_byte_hue(2,B00000000,hue);
set_row_byte_hue(3,B00011000,hue);
set_row_byte_hue(4,B00011000,hue);
set_row_byte_hue(5,B00000000,hue);
set_row_byte_hue(6,B00000000,hue);
set_row_byte_hue(7,B00000000,hue);
delay(pause);
set_row_byte_hue(0,B00000000,hue);
set_row_byte_hue(1,B00000000,hue);
set_row_byte_hue(2,B00111100,hue);
set_row_byte_hue(3,B00100100,hue);
set_row_byte_hue(4,B00100100,hue);
set_row_byte_hue(5,B00111100,hue);
set_row_byte_hue(6,B00000000,hue);
set_row_byte_hue(7,B00000000,hue);
delay(pause);
set_row_byte_hue(0,B00000000,hue);
set_row_byte_hue(1,B01111110,hue);
set_row_byte_hue(2,B01000010,hue);
set_row_byte_hue(3,B01000010,hue);
set_row_byte_hue(4,B01000010,hue);
set_row_byte_hue(5,B01000010,hue);
set_row_byte_hue(6,B01111110,hue);
set_row_byte_hue(7,B00000000,hue);
delay(pause);
set_row_byte_hue(0,B11111111,hue);
set_row_byte_hue(1,B10000001,hue);
set_row_byte_hue(2,B10000001,hue);
set_row_byte_hue(3,B10000001,hue);
set_row_byte_hue(4,B10000001,hue);
set_row_byte_hue(5,B10000001,hue);
set_row_byte_hue(6,B10000001,hue);
set_row_byte_hue(7,B11111111,hue);
delay(pause);
set_matrix_rgb(0,0,0);
}