Example #1
0
def transfer():
    event_list = []

    for i in range(0, NUM_MOTORS):
        activation_time = 0
        activation_time = vars['offset'][i]

        # START CONTRACTING
        activation_time = (activation_time + vars['expanded_delay'][i])
        event_list.append({
            'activation_time': activation_time,
            'motor_index': i,
            'direction': CONTRACT,
            'pwm':vars['contract_speed'][i],
        })

        # STOP CONTRACTING
        activation_time = (activation_time + vars['contract_time'][i])
        event_list.append({
            'activation_time': activation_time,
            'motor_index': i,
            'direction': CONTRACT,
            'pwm': 0,
        })

        # START EXPANDING
        activation_time = (activation_time + vars['contracted_delay'][i])
        event_list.append({
            'activation_time': activation_time,
            'motor_index': i,
            'direction': EXPAND,
            'pwm': vars['expand_speed'][i],
        })

        # STOP EXPANDING
        activation_time = (activation_time + vars['expand_time'][i])
        event_list.append({
            'activation_time': activation_time,
            'motor_index': i,
            'direction': EXPAND,
            'pwm': 0,
        })

     # SORT
    event_list = sorted(event_list, key=lambda k: k['activation_time']) 

    mctransmitter.tx_gait(event_list)

    print "transmitting gait"
    for event in event_list:
        print "time: " + str(event['activation_time']),
        print "motor: " + str(event['motor_index']),
        print "dir: " + str(event['direction']),
        print "pwm: " + str(event['pwm'])
Example #2
0
def transfer():
    event_list = []
    cycle_length = (
        variables["expanded_delay"]
        + variables["contract_time"]
        + variables["contracted_delay"]
        + variables["expand_time"]
    )

    for i in range(0, NUM_MOTORS):
        activation_time = 0
        skip = 0
        if i == 1:
            activation_time = variables["motor_1_offset"]
        elif i == 2:
            activation_time = variables["motor_2_offset"]

        # START CONTRACTING
        activation_time = activation_time + variables["expanded_delay"]
        if activation_time >= cycle_length:
            activation_time = activation_time % cycle_length
            skip = 1
        event_list.append(
            {
                "activation_time": activation_time,
                "motor_index": i,
                "direction": CONTRACT,
                "pwm": variables["contract_speed"],
                "skip": skip,
            }
        )

        # STOP CONTRACTING
        activation_time = activation_time + variables["contract_time"]
        if activation_time >= cycle_length:
            activation_time = activation_time % cycle_length
            skip = 1
        event_list.append(
            {"activation_time": activation_time, "motor_index": i, "direction": CONTRACT, "pwm": 0, "skip": skip}
        )

        # START EXPANDING
        activation_time = activation_time + variables["contracted_delay"]
        if activation_time >= cycle_length:
            activation_time = activation_time % cycle_length
            skip = 1
        event_list.append(
            {
                "activation_time": activation_time,
                "motor_index": i,
                "direction": EXPAND,
                "pwm": variables["expand_speed"],
                "skip": skip,
            }
        )

        # STOP EXPANDING
        activation_time = activation_time + variables["expand_time"]
        if activation_time >= cycle_length:
            activation_time = activation_time % cycle_length
            skip = 1
        event_list.append(
            {"activation_time": activation_time, "motor_index": i, "direction": EXPAND, "pwm": 0, "skip": skip}
        )

    # SORT
    event_list = sorted(event_list, key=lambda k: k["activation_time"])

    mctransmitter.tx_gait(event_list)

    print "transmitting gait"
    for event in event_list:
        print "time: " + str(event["activation_time"]),
        print "motor: " + str(event["motor_index"]),
        print "dir: " + str(event["direction"]),
        print "pwm: " + str(event["pwm"]),
        print "skip: " + str(event["skip"])