diff --git a/effects/knight-rider.json b/effects/knight-rider.json index bf83f897..b4644387 100644 --- a/effects/knight-rider.json +++ b/effects/knight-rider.json @@ -4,6 +4,7 @@ "args" : { "speed" : 1.0, - "fadeFactor" : 0.7 + "fadeFactor" : 0.7, + "color" : [255,0,0] } } diff --git a/effects/knight-rider.py b/effects/knight-rider.py index d2ff3ecc..38c8aabd 100644 --- a/effects/knight-rider.py +++ b/effects/knight-rider.py @@ -2,9 +2,10 @@ import hyperion import time import colorsys -# Get the rotation time +# Get the parameters speed = float(hyperion.args.get('speed', 1.0)) fadeFactor = float(hyperion.args.get('fadeFactor', 0.7)) +color = hyperion.args.get('color', (255,0,0)) # Check parameters speed = max(0.0001, speed) @@ -13,7 +14,9 @@ fadeFactor = max(0.0, min(fadeFactor, 1.0)) # Initialize the led data width = 25 imageData = bytearray(width * (0,0,0)) -imageData[0] = 255 +imageData[0] = color[0] +imageData[1] = color[1] +imageData[2] = color[2] # Calculate the sleep time and rotation increment increment = 1 @@ -41,9 +44,13 @@ while not hyperion.abort(): # Fade the old data for j in range(width): imageData[3*j] = int(fadeFactor * imageData[3*j]) + imageData[3*j+1] = int(fadeFactor * imageData[3*j+1]) + imageData[3*j+2] = int(fadeFactor * imageData[3*j+2]) # Insert new data - imageData[3*position] = 255 + imageData[3*position] = color[0] + imageData[3*position+1] = color[1] + imageData[3*position+2] = color[2] # Sleep for a while time.sleep(sleepTime)