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 white_wipe(): global strip global color for diag_strip in range(5): strip = bm2015.color_diagonal_strip(diag_strip, white, strip) for x in range(len(strip)): utils.put_pixels(strip, x) time.sleep(1 / 4)
def show_panel(panel_strips, color): global strip for n in range(utils.n_strips): for x in range(utils.strip_length): if n in panel_strips: strip[n][x] = color else: strip[n][x] = off utils.put_pixels(strip, 0)
def panel_test(loops): global strip for x in range(loops): for i in range(len(strip)): strip = utils.color_strip_everyother(light_red) for x in range(i + 1): strip[i][x] = white strip[i][63 - x] = green utils.put_pixels(strip, i) time.sleep(1)
def rainbow_stripes(looplimit): global strip global color for i in range(looplimit * 5): for diag_strip in range(5): next_color() strip = bm2015.color_diagonal_strip(diag_strip, colors[color], strip) for x in range(len(strip)): utils.put_pixels(strip, x) time.sleep(1 / utils.fps)
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)
def fade_strip(strip_index, color): global strip start_color = strip[strip_index][0] delta_r = color[0] - start_color[0] delta_g = color[1] - start_color[1] delta_b = color[2] - start_color[2] for t in range(0, 11): if t < 10: anim_color = [ int(start_color[0] + (delta_r / 10) * t), int(start_color[1] + (delta_g / 10) * t), int(start_color[2] + (delta_b / 10) * t), ] else: anim_color = color for x in range(len(strip[strip_index])): strip[strip_index][x] = anim_color strip[strip_index + 1][x] = anim_color utils.put_pixels(strip, strip_index) utils.put_pixels(strip, strip_index + 1) time.sleep(1 / 20)