예제 #1
0
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
예제 #2
0
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)
예제 #3
0
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)
예제 #4
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)
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
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)