-
Notifications
You must be signed in to change notification settings - Fork 3
/
effect_fade.py
73 lines (55 loc) · 1.33 KB
/
effect_fade.py
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
from effectThread import *
from ledFunctions import *
class effect_fade(StoppableThread):
import time
iInterval = 1
rCurrent = 240
gCurrent = 80
bCurrent = 160
iSpeedR = 1
iSpeedG = 1
iSpeedB = 1
rMin = 50
gMin = 50
bMin = 50
rMax = 255
gMax = 255
bMax = 255
def __init__(self, iInterval):
self.iInterval = iInterval
StoppableThread.__init__(self)
def run(self):
while not self.stopped():
self.effect_fade()
time.sleep(self.iInterval)
def effect_fade(self):
# CALCULATE NEW RGB
self.rCurrent += self.iSpeedR
self.gCurrent += self.iSpeedG
self.bCurrent += self.iSpeedB
#RED UP
if self.rCurrent >= self.rMax:
self.rCurrent = self.rMax
self.iSpeedR *= -1
#GREEN UP
if self.gCurrent >= self.gMax:
self.gCurrent = self.gMax
self.iSpeedG *= -1
#BLUE UP
if self.bCurrent >= self.bMax:
self.bCurrent = self.bMax
self.iSpeedB *= -1
#RED DOWN
if self.rCurrent <= self.rMin:
self.rCurrent = self.rMin
self.iSpeedR *= -1
#GREEN DOWN
if self.gCurrent <= self.gMin:
self.gCurrent = self.gMin
self.iSpeedG *= -1
#BLUE DOWN
if self.bCurrent <= self.bMin:
self.bCurrent = self.bMin
self.iSpeedB *= -1
#SET COLOR
setRGB(self.rCurrent,self.gCurrent,self.bCurrent)