added fade in animation

Signed-off-by: Ebbe Baß <ebbe@ping-mee.de>
master
Ebbe Baß 2022-07-28 18:25:57 +02:00
parent 3d0c6561a8
commit 11e8ce8800
1 changed files with 42 additions and 0 deletions

42
main.py
View File

@ -32,6 +32,39 @@ def debug_print(message: str):
current_time = now.strftime("%H:%M:%S") current_time = now.strftime("%H:%M:%S")
print('[DEBUG]['+current_time+'] '+message) print('[DEBUG]['+current_time+'] '+message)
def fade_in_animation(strip, mode, color):
if mode == 0:
for j in range(256*10):
if mode > 0:
break
elif power == "False":
break
for i in range(strip.numPixels()):
strip.setPixelColor(i, wheel((int(i * 256 / strip.numPixels()) + j) & 255))
strip.show()
elif mode == 1:
for i in range(strip.numPixels()):
strip.setPixelColor(i, color)
strip.show()
time.sleep(float(0.01))
elif mode == 2:
for i in range(strip.numPixels()):
strip.setPixelColor(i, color)
strip.show()
time.sleep(float(0.01))
elif mode == 3:
color = Color(randint(0, 255), randint(0, 255), randint(0, 255))
for i in range(strip.numPixels()):
strip.setPixelColor(i, color)
strip.show()
time.sleep(float(0.01))
time.sleep(1)
elif mode == 4:
for i in range(strip.numPixels()):
strip.setPixelColor(i, Color(randint(0, 255), randint(0, 255), randint(0, 255)))
strip.show()
time.sleep(1)
def wheel(pos): def wheel(pos):
if pos < 85: if pos < 85:
return Color(pos * 3, 255 - pos * 3, 0) return Color(pos * 3, 255 - pos * 3, 0)
@ -90,6 +123,8 @@ def mqtt_on_connect(client, userdata, flags, rc):
if __name__ == '__main__': if __name__ == '__main__':
global singleExecute
singleExecute = True
def mqtt_on_message(client, userdata, msg): def mqtt_on_message(client, userdata, msg):
print("topic: " ,str(msg.topic)) print("topic: " ,str(msg.topic))
print("payload: " ,str(msg.payload.decode("utf-8"))) print("payload: " ,str(msg.payload.decode("utf-8")))
@ -98,6 +133,7 @@ if __name__ == '__main__':
if topic == "server-rack-led/power": if topic == "server-rack-led/power":
global power global power
power = payload power = payload
singleExecute = True
elif topic == "server-rack-led/rgb": elif topic == "server-rack-led/rgb":
splitted_payload = payload.split(",") splitted_payload = payload.split(",")
@ -148,6 +184,10 @@ if __name__ == '__main__':
client.loop_start() client.loop_start()
while True: while True:
if power == "True": if power == "True":
if singleExecute == True:
fade_in_animation(strip, mode, Color(int(r), int(g), int(b)))
singleExecute = False
if mode == 0: if mode == 0:
rainbowCycle(strip) rainbowCycle(strip)
elif mode == 1: elif mode == 1:
@ -159,6 +199,8 @@ if __name__ == '__main__':
elif mode == 4: elif mode == 4:
randomColorPerLED(strip) randomColorPerLED(strip)
else: else:
if singleExecute == True:
singleExecute = False
setColor(strip, Color(0,0,0)) setColor(strip, Color(0,0,0))
except KeyboardInterrupt: except KeyboardInterrupt: