def stars(q, led_count, layerNum, fps=12, bandwidth=5, runtime=60):
	layer = { 0: {},
		  1: {},
		  2: {},
		  3: {},
		}
	layer[0]["obj"] = pxb.pixelLayer(q, led_count, layerNum)
	layer[0]["buffer"] = deque(layer[0]["obj"][::])
	layer[0]["speed"] = random.randrange(1,5)
	layer[0]["direction"] = random.randrange(1,3)
	layer[1]["obj"] = pxb.pixelLayer(q, led_count, layerNum+1)
	layer[1]["buffer"] = deque(layer[1]["obj"][::])
	layer[1]["speed"] = random.randrange(1,10)
	layer[1]["direction"] = random.randrange(1,3)
	layer[2]["obj"] = pxb.pixelLayer(q, led_count, layerNum+2)
	layer[2]["buffer"] = deque(layer[2]["obj"][::])
	layer[2]["speed"] = random.randrange(5,15)
	layer[2]["direction"] = random.randrange(1,3)
	layer[3]["obj"] = pxb.pixelLayer(q, led_count, layerNum+3)
	layer[3]["buffer"] = deque(layer[3]["obj"][::])
	layer[3]["speed"] = random.randrange(10,20)
	layer[3]["direction"] = random.randrange(1,3)

        endTime=time.time()+runtime
	#lastTime=time.time()
	count=0
	startTime=time.time()
	iterTime=startTime
	targetSleep=1/float(fps)
        while time.time() < endTime:
		#count += 1
		#if count % 10 == 0:
			#print "elapsed: %s - %s" % (time.time() - lastTime, count)
			#lastTime = time.time()
		iterTime=time.time()
		calcStars(layer[0])
		calcStars(layer[1])
		calcStars(layer[2])
		calcStars(layer[3])
		sleepTime=targetSleep-(time.time()-iterTime)
		if sleepTime > 0:
			sleep(sleepTime)
		#sleep(wait_ms/1000.0)
			
	layer[0]["obj"].die()
	layer[1]["obj"].die()
	layer[2]["obj"].die()
	layer[3]["obj"].die()
def redWhiteBlue(q, led_count, layerNum, wait_ms=10, sets=4, runtime=60):
	layer = pxb.pixelLayer(q, led_count, layerNum)
	count=0
	bandwidth=int(layer.numPixels()/sets/3)
	for i in range(0, layer.numPixels()):
		if count < bandwidth:
			layer.setPixelColorRGB(i, 200,200,200)
		elif count < bandwidth*2:
			layer.setPixelColorRGB(i, 0,0,200)
		elif count < bandwidth*3:
			layer.setPixelColorRGB(i, 200,0,0)
		else:
			count = 0
		count += 1
		layer.show()


	# rotate
	leds=deque(layer[::])
        endTime=time.time()+runtime
        while time.time() < endTime:
		leds.rotate()
		layer.leds = list(leds)
		layer.show()
		sleep(wait_ms/1000.0)
	layer.die()
def fireTruck(q, led_count, layerNum, wait_ms=1, color="random", runtime=30):
	
	layer = pxb.pixelLayer(q, led_count, layerNum)
	if color == "random":
		rnd = True
	else:
		rnd = False
	endTime=time.time()+runtime
	while time.time() < endTime:
		layer[0:layer.size+1] = 0;
		layer[0:layer.size+1] = pxb.Color(200,0,0);
		layer.show()
		sleep(500/1000)
		layer[0:layer.size+1] = 0;
		sleep(300/1000)
		layer[0:layer.size+1] = pxb.Color(200,0,0);
		layer.show()
		sleep(500/1000)
		layer[0:layer.size+1] = 0;
		sleep(300/1000)
		layer[0:layer.size+1] = pxb.Color(200,0,0);
		layer.show()
		sleep(500/1000)
		layer[0:layer.size+1] = 0;
		sleep(1000/1000)

	layer.die()
Example #4
0
def blinkColor(q, led_count, layerNum, wait_ms=1, runtime=300):
	red = pxb.Color(255,100,100)
	white = pxb.Color(255,255,255)
	blue = pxb.Color(100,100,255)

	layer = pxb.pixelLayer(q, led_count, layerNum)
	endTime=time.time()+runtime
	#layer[0:layer.size+1] = color
	count = 0
	cycle = 1
	color = blue
        for i in range(layer.numPixels()):
	    if count > 40:
		count = 0
		cycle += 1
		if cycle == 2:
			color = white
		elif cycle == 3:
			color = red
		else:
			cycle = 1
			color = blue
	    if count > 30:
            	layer.setPixelColor(i, color)
	    count += 1
	layer.show()
	sleep(runtime)
	layer.die()
Example #5
0
def twinkleColor(q, led_count, layerNum, wait_ms=1, wheelSpeed=0, twinkleProbability=.01, runtime=60):
	layer = pxb.pixelLayer(q, led_count, layerNum)
	#layer[0:layer.numPixels()] = pxb.Color(red, green, blue);
	colorRound=0
	color=0
        endTime=time.time()+runtime
        while time.time() < endTime:
		if colorRound >= wheelSpeed:
			colorRound = 0
			if color >= 255:
				color = 0
			else:
				color += 1
		else:
			colorRound += 1
		#print color
		
		for x in range(layer.numPixels()):
			#layer.setPixelColor(x, pxb.Color(red, green, blue))
			#layer[0:layer.size+1] = pxb.Color(red, green, blue);
			if random.randrange(0, 1000)/1000.0 <= twinkleProbability:
		  		layer.setPixelColor(x, pxb.Color(255,255,255))
			else:
				layer.setPixelColor(x, wheel(color, .3))
		layer.show()
		sleep(wait_ms/1000.0)
	layer.die()
Example #6
0
def clearStrip(q, led_count, layerNum, wait_ms=.1, runtime=3):
	layer = pxb.pixelLayer(q, led_count, layerNum)
	count=0

	layer[0:layer.size+1] = 0;
	layer.show()
	sleep(runtime)
	layer.die()
Example #7
0
def rainbowCycle(q, led_count, layerNum, wait_ms=10, iterations=30):
	layer = pxb.pixelLayer(q, led_count, layerNum)
        """Draw rainbow that uniformly distributes itself across all pixels."""
        for j in range(256*iterations):
                for i in range(layer.numPixels()):
                        layer.setPixelColor(i, wheel(((i * 256 / layer.numPixels()) + j) & 255))
                layer.show()
                time.sleep(wait_ms/1000.0)
	layer.die()
Example #8
0
def blinkColor(q, led_count, layerNum, wait_ms=1, color="random", runtime=1):
	layer = pxb.pixelLayer(q, led_count, layerNum)
	endTime=time.time()+runtime
	#layer[0:layer.size+1] = color;
	count = 0
        for i in range(layer.numPixels()):
	    if count > 40:
		count = 0
	    if count > 30:
            	layer.setPixelColor(i, color)
	    count += 1
	layer.show()
	sleep(runtime)
def particles(q, led_count, layerNum, wait_ms=.01, bandwidth=5, runtime=60):
	layer = { 0: {},
		  1: {},
		  2: {},
		  3: {},
		}
	layer[0]["obj"] = pxb.pixelLayer(q, led_count, layerNum)
	layer[0]["pixStart"] = int(layer[0]["obj"].numPixels()/2)
	layer[0]["pixEnd"] = int(layer[0]["obj"].numPixels()/2)
	layer[0]["color"] = pxb.Color(255,0,0)
	layer[1]["obj"] = pxb.pixelLayer(q, led_count, layerNum+1)
	layer[1]["pixStart"] = int(layer[1]["obj"].numPixels()/2)
	layer[1]["pixEnd"] = int(layer[1]["obj"].numPixels()/2)
	layer[1]["color"] = pxb.Color(0,255,0)
	layer[2]["obj"] = pxb.pixelLayer(q, led_count, layerNum+2)
	layer[2]["pixStart"] = int(layer[2]["obj"].numPixels()/2)
	layer[2]["pixEnd"] = int(layer[2]["obj"].numPixels()/2)
	layer[2]["color"] = pxb.Color(0,0,255)
	layer[3]["obj"] = pxb.pixelLayer(q, led_count, layerNum+3)
	layer[3]["pixStart"] = int(layer[3]["obj"].numPixels()/2)
	layer[3]["pixEnd"] = int(layer[3]["obj"].numPixels()/2)
	layer[3]["color"] = pxb.Color(255,255,255)

        endTime=time.time()+runtime
        while time.time() < endTime:
		for a in range(0,3600,8):
			angle=a/10.0
			calcParticle(layer[0], angle)
			calcParticle(layer[1], angle+90)
			calcParticle(layer[2], angle+180)
			calcParticle(layer[3], angle+270)
			sleep(wait_ms/1000.0)
			
	layer[0]["obj"].die()
	layer[1]["obj"].die()
	layer[2]["obj"].die()
	layer[3]["obj"].die()
def theaterChaseRainbow(q, led_count, layerNum, wait_ms=1, pxlSpace=20, runtime=60):
	layer = pxb.pixelLayer(q, led_count, layerNum)
	leds=deque(layer[::])
	direction=random.randrange(1,3)
	"""Rainbow movie theater light style chaser animation."""
	for led in range(1,layer.numPixels()):
		j=random.randrange(0,256)
		leds[led] = wheel(j, random.randrange(10,100)/100.0)
	endTime=time.time()+runtime
        while time.time() < endTime:
		j=random.randrange(0,256)
		leds[0] = wheel(j, random.randrange(10,100)/100.0)
		layer.leds = list(leds)
		layer.show()
		sleep(wait_ms/1000.0)
		if direction == 1:
			leds.rotate()
		else:
			leds.rotate(-1)
	layer.die()
Example #11
0
def blinkColor(q, led_count, layerNum, wait_ms=1, color="random", runtime=30):
	
	layer = pxb.pixelLayer(q, led_count, layerNum)
	if color == "random":
		rnd = True
	else:
		rnd = False
	endTime=time.time()+runtime
	while time.time() < endTime:
		if rnd:
			color=pxb.Color(random.randrange(0,256), random.randrange(0,256), random.randrange(0,256))
		layer[0:layer.size+1] = color;
		layer.show()
		sleep(random.randrange(1,300)/1000.0)
		#sleep(wait_ms/1000.0)
		layer[0:layer.size+1] = None;
		layer.show()
		sleep(random.randrange(1,1000)/1000.0)
		#sleep(wait_ms/1000.0)
		#sleep(wait_ms/1000.0)
	layer.die()
def theaterChaseRainbow(q, led_count, layerNum, wait_ms=10, pxlSpace=20, runtime=30):
	layer = pxb.pixelLayer(q, led_count, layerNum)
	"""Rainbow movie theater light style chaser animation."""
	endTime=time.time()+runtime
        while time.time() < endTime:
	#for j in range(256):
		for q in range(pxlSpace):
                        j=random.randrange(0,256)
			for i in range(0, layer.numPixels()-q, pxlSpace):
				if i+q+1 < layer.numPixels():
					layer.setPixelColor(i+q+1, wheel((j) % 255, .5))
				if i+q+2 < layer.numPixels():
					layer.setPixelColor(i+q+2, wheel((j) % 255, .1))
				layer.setPixelColor(i+q, wheel((j) % 255, 1))
				if i+q >= 1:
					layer.setPixelColor(i+q-1, wheel((j) % 255, .5))
				if i+q >= 2:
					layer.setPixelColor(i+q-2, wheel((j) % 255, .1))
			layer.show()
			sleep(wait_ms/1000.0)
			for i in range(0, layer.numPixels()):
				layer.setPixelColor(i, None)
	layer.die()