Allow random mood blobs color, set mood-blobs-full to random

Small change to allow a random start hue for mood blobs - adds a bit of
spice instead of starting at the same color every time.


Former-commit-id: 2b5a0250b9
This commit is contained in:
Peter Fern 2016-05-09 19:19:52 +10:00
parent a0b81e9d4c
commit 3ba86a1253
2 changed files with 6 additions and 1 deletions

View File

@ -4,7 +4,7 @@
"args" :
{
"rotationTime" : 60.0,
"color" : [0,0,255],
"colorRandom" : true,
"hueChange" : 30.0,
"blobs" : 5,
"reverse" : false,

View File

@ -2,10 +2,12 @@ import hyperion
import time
import colorsys
import math
from random import random
# Get the parameters
rotationTime = float(hyperion.args.get('rotationTime', 20.0))
color = hyperion.args.get('color', (0,0,255))
colorRandom = bool(hyperion.args.get('colorRandom', False))
hueChange = float(hyperion.args.get('hueChange', 60.0))
blobs = int(hyperion.args.get('blobs', 5))
reverse = bool(hyperion.args.get('reverse', False))
@ -34,6 +36,9 @@ baseColorChangeRate = max(0, baseColorChangeRate) # > 0
# Calculate the color data
baseHsv = colorsys.rgb_to_hsv(color[0]/255.0, color[1]/255.0, color[2]/255.0)
if colorRandom:
baseHsv = (random(), baseHsv[1], baseHsv[2])
colorData = bytearray()
for i in range(hyperion.ledCount):
hue = (baseHsv[0] + hueChange * math.sin(2*math.pi * i / hyperion.ledCount)) % 1.0