Skip to content

Commit

Permalink
better identification pattern for strips
Browse files Browse the repository at this point in the history
  • Loading branch information
osresearch committed Aug 1, 2016
1 parent 912de78 commit 53443f9
Showing 1 changed file with 48 additions and 29 deletions.
77 changes: 48 additions & 29 deletions src/demos/identify.c
Expand Up @@ -17,8 +17,8 @@ main(
char ** argv
)
{
const int width = 256;
const int height = 128;
int width = 256;
int height = 32;

ledscape_config_t * config = &ledscape_matrix_default;
if (argc > 1)
Expand All @@ -36,7 +36,7 @@ main(

ledscape_t * const leds = ledscape_init(config, 0);

//printf("init done %d,%d\n", width, height);
printf("init done %d,%d\n", width, height);
time_t last_time = time(NULL);
unsigned last_i = 0;

Expand All @@ -45,36 +45,55 @@ main(
int scroll_x = 128;
memset(p, 0x10, width*height*4);

for (int i = 0 ; i < 8 ; i++)
int h = 4;
const uint32_t colors[] = {
0xFF0000,
0x00FF00,
0x0000FF,
0xFF00FF,
0x00FFFF,
0xFFFF00,
};

while (1)
{
for (int j = 0 ; j < 8 ; j++)
if (h++ == 2*width)
h = 10;

for(int y = 0 ; y < height ; y++)
{
ledscape_printf(
&p[8+j*32 + width*i*16],
width,
0xFF0000, // red
"%d-%d",
i,
j
);
ledscape_printf(
&p[1+j*32 + width*i*16],
width,
0x00FF00, // green
"^"
);
ledscape_printf(
&p[1+j*32 + width*(i*16+8)],
width,
0x0000FF, // blue
"|"
);
p[j*32+width*i*16] = 0xFFFF00;
uint32_t * const row_ptr = &p[width*y];
const int scale = 63;
for(int x = 5 ; x < width ; x++)
{
uint32_t color = row_ptr[x];
int r = (color >> 16) & 0xFF;
int g = (color >> 8) & 0xFF;
int b = (color >> 0) & 0xFF;
r = (r * scale) / (scale+1);
g = (g * scale) / (scale+1);
b = (b * scale) / (scale+1);
if (r < 10) r = 10;
if (g < 10) g = 10;
if (b < 10) b = 10;
row_ptr[x] = r << 16 | g << 8 | b << 0;
}
}

for(int y = 0 ; y < height ; y++)
{
uint32_t * const row_ptr = &p[width*y];
uint32_t color = colors[y % 6];
row_ptr[0] = y & 1 ? 0xFFFFFF : 0x040404;
row_ptr[1] = y & 2 ? 0xFFFFFF : 0x040404;
row_ptr[2] = y & 4 ? 0xFFFFFF : 0x040404;
row_ptr[3] = y & 8 ? 0xFFFFFF : 0x040404;
row_ptr[4] = y & 16 ? 0xFFFFFF : 0x040404;

row_ptr[5] = color;
row_ptr[h/2] = color;
}
}

while (1)
{
ledscape_draw(leds, p);
usleep(20000);

Expand Down

0 comments on commit 53443f9

Please sign in to comment.