added number of rounds specifier for matrix, updated default profiles
This commit is contained in:
parent
d738d36c16
commit
ceffdd6bbf
|
@ -18,7 +18,8 @@ comment "Animations"
|
|||
endmenu
|
||||
|
||||
dep_bool_menu "Matrix" ANIMATION_MATRIX $RANDOM_SUPPORT
|
||||
int "Number of streamers" STREAMER_NUM 30
|
||||
int "Number of streamers" MATRIX_STREAMER_NUM 30
|
||||
int "Run for this number of rounds" MATRIX_CYCLES 500
|
||||
endmenu
|
||||
|
||||
dep_bool "Random Bright" ANIMATION_RANDOM_BRIGHT $RANDOM_SUPPORT
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
|
||||
#include "../config.h"
|
||||
#include <stdint.h>
|
||||
#include <stdint.h>
|
||||
#include "../random/prng.h"
|
||||
#include "../pixel.h"
|
||||
#include "../util.h"
|
||||
|
||||
#ifndef MATRIX_CYCLES
|
||||
#define MATRIX_CYCLES 500
|
||||
#endif
|
||||
#ifndef MATRIX_STREAMER_NUM
|
||||
#define MATRIX_STREAMER_NUM 30
|
||||
#endif
|
||||
|
||||
typedef struct{
|
||||
pixel start;
|
||||
|
@ -31,8 +37,8 @@ inline static void set_bright(pixel_matrix_t *matrix, uint8_t x, uint8_t y, uint
|
|||
}
|
||||
|
||||
void matrix() {
|
||||
unsigned int counter = 500; /* run 500 cycles */
|
||||
streamer streamers[STREAMER_NUM];
|
||||
unsigned int counter = MATRIX_CYCLES;
|
||||
streamer streamers[MATRIX_STREAMER_NUM];
|
||||
pixel_matrix_t matrix_bright;
|
||||
unsigned char x, y;
|
||||
unsigned char index = 0;
|
||||
|
@ -45,10 +51,10 @@ void matrix() {
|
|||
for(x=0;x<NUM_COLS;x++)
|
||||
for(y=0;y<NUM_ROWS/4;y++)
|
||||
matrix_bright[x][y]=0;
|
||||
|
||||
|
||||
for(i=0;i<streamer_num;i++){
|
||||
streamer str = streamers[i];
|
||||
|
||||
|
||||
unsigned char bright = 0xFF; draw = 0;
|
||||
for(j=(str.len/8);j!=0xFF;j--){ /* Draw streamer */
|
||||
if(j+str.start.y<NUM_ROWS){
|
||||
|
@ -56,12 +62,12 @@ void matrix() {
|
|||
draw = 1;
|
||||
if(bright > (get_bright(&matrix_bright, str.start.x, str.start.y+j)<<6) ){
|
||||
set_bright(&matrix_bright, str.start.x, str.start.y+j, bright>>6);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
bright-=((bright>>5)*str.decay);
|
||||
}
|
||||
|
||||
|
||||
str.len+=str.speed/2;
|
||||
streamers[i] = str;
|
||||
if(!draw){
|
||||
|
@ -70,25 +76,25 @@ void matrix() {
|
|||
}
|
||||
streamer_num--;
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for(y=NUM_ROWS;y--;)
|
||||
for(x=NUM_COLS;x--;){
|
||||
setpixel((pixel){x,y}, get_bright(&matrix_bright,x,y));
|
||||
}
|
||||
|
||||
|
||||
unsigned char nsc;
|
||||
for(nsc=0;nsc<6;nsc++){
|
||||
if(streamer_num<STREAMER_NUM){
|
||||
if(streamer_num<MATRIX_STREAMER_NUM){
|
||||
unsigned char sy = random8()%(2*NUM_ROWS);
|
||||
if (sy>NUM_ROWS-1) sy=0;
|
||||
streamers[streamer_num] = (streamer){{random8()%NUM_COLS, sy}, 0, (random8()%8)+12, index++,(random8()%16)+3};
|
||||
streamer_num++;
|
||||
streamer_num++;
|
||||
}
|
||||
}
|
||||
wait(60);
|
||||
|
||||
wait(60);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -83,11 +83,14 @@ FEUER_N=5
|
|||
FEUER_DIV=44
|
||||
FEUER_DELAY=50
|
||||
ANIMATION_MATRIX=y
|
||||
STREAMER_NUM=30
|
||||
MATRIX_STREAMER_NUM=30
|
||||
MATRIX_CYCLES=500
|
||||
ANIMATION_RANDOM_BRIGHT=y
|
||||
# ANIMATION_STONEFLY is not set
|
||||
# ANIMATION_FLYINGDOTS is not set
|
||||
ANIMATION_GAMEOFLIFE=y
|
||||
GOL_DELAY=30
|
||||
GOL_CYCLES=180
|
||||
# ANIMATION_BREAKOUT is not set
|
||||
# ANIMATION_MHERWEG is not set
|
||||
# ANIMATION_LTN_ANT is not set
|
||||
|
|
|
@ -80,6 +80,8 @@ ANIMATION_RANDOM_BRIGHT=y
|
|||
# ANIMATION_STONEFLY is not set
|
||||
# ANIMATION_FLYINGDOTS is not set
|
||||
ANIMATION_GAMEOFLIFE=y
|
||||
GOL_DELAY=30
|
||||
GOL_CYCLES=180
|
||||
# ANIMATION_BREAKOUT is not set
|
||||
# ANIMATION_MHERWEG is not set
|
||||
# ANIMATION_LTN_ANT is not set
|
||||
|
|
Loading…
Reference in New Issue