Commit da4f2df9 authored by Malte Schmitz's avatar Malte Schmitz

Switch to mono encoding

parent 1eacc12b
uint32_t[62][20] = {{0x0, 0x0, 0x0, 0x0, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffff, 0xffff, 0xffffff, 0xffffff, 0xffffff, 0xffff, 0xffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0},
{0xffff00, 0xffff00, 0xffff00, 0xffffff, 0xffffff, 0xffffff, 0xffff, 0xffff, 0xffffff, 0xffff, 0xffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffff00, 0xffff00, 0xffff00},
{0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffff, 0xffff, 0xffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0},
{0xffff00, 0xffff00, 0xffff00, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffff00, 0xffff00, 0xffff00},
{0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0},
{0xffff00, 0xffff00, 0xffff00, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffff, 0xffffff, 0xffffff, 0xffff00, 0xffff00, 0xffff00},
{0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0},
{0xffff00, 0xffff00, 0xffff00, 0xffffff, 0xffffff, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0xffffff, 0xffffff, 0xffff, 0xffffff, 0xffffff, 0xffff00, 0xffff00, 0xffff00},
{0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0xffffff, 0xffffff, 0xffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0},
{0xffff00, 0xffff00, 0xffff00, 0xffffff, 0xffffff, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0xffffff, 0xffffff, 0xffff, 0xffffff, 0xffffff, 0xffff00, 0xffff00, 0xffff00},
{0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0x0, 0xffffff, 0xffffff, 0xffffff, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0xffff00, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0xffffff, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0xffffff, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}};
uint32_t[62] = {0x2aa0,0x2aa0,0x2aa0,0x7fe0,0xfff0,0x1fff8,0xfffff,0x1fff8,0xfffff,0x1fff8,0xff83f,0x1f018,0xff7df,0x1f7d8,0xff39f,0x1fbb8,0xfff0,0x7fe0,0x5540,0x5540,0x5540,0x0,0xfe0,0x80,0x80,0xf80,0x0,0xe80,0xa80,0xa80,0xf80,0x0,0xf80,0x880,0x880,0xf80,0x0,0xfc0,0x880,0x0,0xfa0,0x0,0xfe0,0x200,0x500,0x880,0x0,0xf80,0x800,0x800,0xf80,0x0,0xf80,0x80,0x80,0xf80,0x80,0x80,0xf80,0x0,0x0,0x0};
for (int x = 0; x < 62; x++) {
uint32_t line = pixels[x];
for (int y = 0; y < 20: y++) {
strip.setPixelColor(y, pixels[x][y]);
uint32_t color = 0;
if (line && (1 << y)) {
color = 0xFFFFFF;
}
strip.setPixelColor(y, color);
}
strip.show();
delay(50);
......
from PIL import Image
def p(rgb):
r,g,b = rgb
val = r << 16 | g << 8 | b
return hex(val)
def p(a):
result = 0
for i, rgb in enumerate(a):
r,g,b = rgb
black = r == 0 and g == 0 and b == 0
if not black:
result |= 1 << i
return hex(result)
img = Image.open("20px-color.bmp").convert('RGB')
width, height = img.size
pixels = [[p(img.getpixel((x,y))) for y in range(height)] for x in range(width)]
pixels = [p([img.getpixel((x,y)) for y in range(height)]) for x in range(width)]
array = "{" + ",\n".join(["{" + ", ".join(d) + "}" for d in pixels]) + "}"
array = "{" + ",".join(pixels) + "}"
code = """uint32_t[{width}][{height}] = {array};
code = """uint32_t[{width}] = {array};
for (int x = 0; x < {width}; x++) {{
uint32_t line = pixels[x];
for (int y = 0; y < {height}: y++) {{
strip.setPixelColor(y, pixels[x][y]);
uint32_t color = 0;
if (line && (1 << y)) {{
color = 0xFFFFFF;
}}
strip.setPixelColor(y, color);
}}
strip.show();
delay(50);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment