sk6812-client/knightrider_multistrip.py

60 lines
1.5 KiB
Python
Executable File

#!/usr/bin/env python3
import sk6812_multistrip as sk6812
import time
import sys
num_modules = 16
interval = 1/60
w = sk6812.SK6812(sys.argv[1], 2703)
w.set_fadestep(0.20/interval)
#w.set_num_modules(num_modules)
# dictionary which maps {module: [r, g, b]}
set_colors = {}
curModule = [0, 0, 0, 0]
#speed = [0.49, 0.65, 1, 0.81]
speed = [0.13, 0.17, 0.19, 0.21]
#countUp = [True, True, False]
brightness = 32
strip = 0
while True:
w.set_fadestep(0.10/interval)
set_colors = {}
set_colors[int(curModule[0])] = [0, 0, 0, 0]
set_colors[int(curModule[1])] = [0, 0, 0, 0]
#set_colors[num_modules-1-int(curModule[1])] = [0, 0, 0, 0]
set_colors[int(curModule[2])] = [0, 0, 0, 0]
set_colors[int(curModule[3])] = [0, 0, 0, 0]
#set_colors[num_modules-1-int(curModule[3])] = [0, 0, 0, 0]
set_colors[int(curModule[0])][0] = brightness
set_colors[int(curModule[1])][1] = brightness
#set_colors[num_modules-1-int(curModule[1])][1] = brightness
set_colors[int(curModule[2])][2] = brightness
set_colors[int(curModule[3])][3] = brightness
#set_colors[num_modules-1-int(curModule[3])][3] = brightness
for strip in range(8):
for k in set_colors.keys():
w.add_color(strip, k, set_colors[k][0], set_colors[k][1], set_colors[k][2], set_colors[k][3])
for i in range(num_modules):
w.fade_color(strip, i, 0, 0, 0, 0)
w.commit()
for i in range(4):
curModule[i] += speed[i]
if curModule[i] >= num_modules:
curModule[i] -= num_modules
time.sleep(interval)