示例#1
0
def rand_blink_by_iter(state_object, prob=.5):
    ''' ****************************** Need to be updated
    '''

    new_state = grid_state.last_state().copy()

    # Led deletion phase
    for led in grid_state.last_state():
        # With a probability of prob, we turn off the led
        if random.randint(0, 10) / 10 < prob:
            new_state = [i for i in new_state if i[0] != led[0]]

    # Led incorporation phase
    n_new_leds = random.randint(0, 4)

    for i in range(n_new_leds):
        new_led = random.randint(1, 100)

        if new_led not in [i[0] for i in new_state]:
            color = int(255 * intensity)
            led_object = (new_led, color, color, color)
            new_state.append(led_object)

    grid_state.append(new_state)
    state_transition(grid_state, strip, period=period, iterations=8)
示例#2
0
def center_wave(grid_states, strip, period, intensity):
    progression = grid_states.kwargs.get('radial_progression')

    color = int(255 * intensity)

    for leds in progression:
        new_state = [(led, color, color, color) for led in leds]

        grid_states.append(new_state)
        state_transition(grid_states, strip, period=period, iterations=1)
示例#3
0
def reverse_center_wave_by_it(state_object):
    ''' ****************************** Need to be updated
    '''
    progression = grid_state.kwargs.get('radial_progression')
    progression.reverse()

    color = int(255 * intensity)

    for leds in progression:
        new_state = [(led, color, color, color) for led in leds]

        grid_state.append(new_state)
        state_transition(grid_state, strip, period=period, iterations=1)
示例#4
0
def center_wave_by_it(state_object):
    ''' **************** This is a guide method **************
    '''
    # Steps of the wave pattern
    NUM_OF_IT = len(state_object['state'].kwargs['radial_progression'])

    # Current step of the pattern
    goal_iter = state_object['goal_iter']

    # We update the goal number of steps
    if (goal_iter is None) or (goal_iter != NUM_OF_IT):
        state_object['goal_iter'] = NUM_OF_IT

    grid_state = state_object['state']
    progression = grid_state.kwargs.get('radial_progression')

    color = int(255 * intensity)

    for leds in progression:
        new_state = [(led, color, color, color) for led in leds]

        grid_state.append(new_state)
        state_transition(grid_state, strip, period=period, iterations=1)