blob: ee073240afc4959c628f24d3c4640246765e956d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
from luxcena_neo import NeoBehaviour, FloatVariable
from time import perf_counter
class Main(NeoBehaviour):
def declare_variables(self):
self.declare(FloatVariable("speed", 0.99, min_val=0.5, max_val=1, step=0.001))
def on_start(self):
self.intensity = 0
self.color = 0
self.inc = 1
self.last_inst = perf_counter()
def each_tick(self):
if (perf_counter() - self.last_inst) > (1.001-self.var.speed):
self.intensity += self.inc
if self.intensity % 256 == 0: self.inc *= -1
if self.intensity <= 0: self.color = (self.color + 1) % 3
set_all(*[self.intensity if i == self.color else 0 for i in range(3)])
self.last_inst = perf_counter()
def set_all(*color):
for i in range(strip.num_pixels()):
strip.set_pixel_color(i, *color)
strip.show()
|