aboutsummaryrefslogtreecommitdiff
path: root/NeoRuntime/builtin/fade_all/script.py
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()