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'])
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"])