def color_diagonal_strip(strip_index, color, pixels): strips = diagonal_strips() strip = strips[strip_index] tmp = strip[0][0] ss = tmp / 64 pi = tmp % 64 anim_colors = utils.get_rainbow_fade(pixels[ss][pi], color) total_wait = len(anim_colors) * (1/utils.fps) desired_time = 1 offset = 0 if(total_wait < desired_time): offset = (1.0-total_wait) / len(anim_colors) * 1.0 for t in range(len(anim_colors)): anim_color = anim_colors[t] for i in range(len(strip)): for x in range(strip[i][0], strip[i][1] + 1): substrip = x / 64 pixel_index = x % 64 #print "substrip " + str(substrip) #print "pixel index " + str(pixel_index) #print "len pixels: " + str(len(pixels)) #print "len subpixels: " + str(len(pixels[substrip])) pixels[substrip][pixel_index] = anim_color for i in range(utils.n_strips): utils.put_pixels(pixels, i) time.sleep(1/utils.fps) time.sleep(offset) return pixels
def fade_to(color): global strip start_color = strip[0][0] anim_colors = utils.get_rainbow_fade(start_color, color) for t in range(len(anim_colors)): anim_color = anim_colors[t] for strip_index in range(len(strip)): for x in range(len(strip[strip_index])): strip[strip_index][x] = anim_color utils.put_pixels(strip, strip_index) time.sleep(1/utils.fps)