Select Git revision
textbuffer.c
Forked from
card10 / firmware
Source project has a limited visibility.
-
rahix authored
Signed-off-by:
Rahix <rahix@rahix.de>
rahix authoredSigned-off-by:
Rahix <rahix@rahix.de>
ledfx.py 1.23 KiB
import leds, utime, math
def col_cor(colors, brightness=1, gamma=1):
return [
[int(255 * brightness * math.pow((y / 255.0), gamma)) for y in x]
for x in colors
]
def halo(colors):
used_leds = len(colors)
colors += [[0, 0, 0]] * (11 - used_leds)
colors += [colors[used_leds - 1]] + [colors[0]] * 2 + [colors[used_leds - 1]]
return colors
def kitt(
cycles=100,
delay=80,
power=10,
minimum=0.3,
rgb=[255, 0, 0],
spectrum=[],
halo=False,
):
"""
LED Animation.
"""
kitt_table = [((-math.cos(math.pi * (x / 10.0))) + 1) / 2.0 for x in range(21)]
kitt_table = [math.pow(x, power) * (1 - minimum) + minimum for x in kitt_table]
for i in range(cycles):
j = i % 20
if j > 10:
j = 20 - j
if spectrum == []:
used_leds = 11
output = [[int(x * y) for y in rgb] for x in kitt_table[j : (j + 11)]]
else:
used_leds = len(spectrum)
output = [
[int(y * kitt_table[j + x]) for y in spectrum[x]]
for x in range(used_leds)
]
if halo:
halo(output)
leds.set_all(output)
utime.sleep_ms(delay)
leds.clear()