forked from andreeuuetoa/litsimaja
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
from lib.Program import Program
|
|
from lib.Litsimaja import Litsimaja
|
|
|
|
|
|
def Color(red, green, blue):
|
|
"""Convert the provided red, green, blue color to a 24-bit color value.
|
|
Each color component should be a value 0-255 where 0 is the lowest intensity
|
|
and 255 is the highest intensity.
|
|
"""
|
|
return (red << 16) | (green << 8) | blue
|
|
|
|
|
|
def name():
|
|
return 'Wipey wipe'
|
|
|
|
|
|
def color_wipe(lm: Litsimaja, color):
|
|
for i in range(lm.count_pixels()):
|
|
lm.set_pixel_color(i, color)
|
|
if i % 4 == 0:
|
|
lm.show()
|
|
lm.show()
|
|
|
|
|
|
class Wipes(Program):
|
|
def run(self, args=None):
|
|
loop = False
|
|
if 'loop' in args and args['loop']:
|
|
loop = args['loop']
|
|
if 'color' in args:
|
|
end = Color(args['color'][0], args['color'][1], args['color'][2])
|
|
else:
|
|
end = Color(100, 100, 50)
|
|
|
|
r = Color(255, 0, 0)
|
|
g = Color(0, 255, 0)
|
|
b = Color(0, 0, 255)
|
|
while self.get_loop().status():
|
|
color_wipe(self._lm, r)
|
|
color_wipe(self._lm, g)
|
|
color_wipe(self._lm, b)
|
|
color_wipe(self._lm, end)
|
|
if not loop:
|
|
break
|