plt.ylabel('gap (m)') plt.subplot(2, 1, 2) plt.plot(df['time_rel'], df['axle_torque_ch_0_V']) plt.plot(df['time_rel'], df['axle_torque_ch_1_V']) plt.ylabel('torque voltages') plt.xlabel('time (sec)') plt.legend() plt.show() if __name__ == "__main__": # Read dbc files and loaded into the can_logger_function base_path = dirname(abspath(__file__)) leddar = join(base_path, 'dbc_files/leddar_vu_8_segments.dbc') car = join(base_path, 'dbc_files/ford_fusion_2011.dbc') leddar_dbc = cantools.database.load_file(leddar) car_dbc = cantools.database.load_file(car) # Get the panda port that is used to recv data: it must have GPS panda_port = get_panda_id('ford_fusion', 'recv') device = get_nidaqmx_dev_name() can_logger(car_dbc=car_dbc, leddar_dbc=leddar_dbc, sample_time=0.2, port=panda_port, filename='fusion_preliminary_test', ni_device=device)
PANDA = Panda(panda_port) PANDA.can_clear(0xFFFF) PANDA.set_safety_mode(Panda.SAFETY_ALLOUTPUT) # Send request to broadcast leddar messages dat = '0301000000000000' PANDA.can_send(0x740, dat.decode('hex'), 1) # DBC files: car and leddar base_path = dirname(abspath(__file__)) leddar = join(base_path,'dbc_files/leddar_vu_8_segments.dbc') car = join(base_path,'dbc_files/mazda_cx9_2016.dbc') CAR_DBC = cantools.database.load_file(car) LEDDAR_DBC = cantools.database.load_file(leddar) SPEED = 0 PEDAL_MODEL = PM('mazda_cx9') DEV = get_nidaqmx_dev_name() PROPS_VIS = visualization_props() X = [] Y0 = []; Y1 = [] TRACES0 = []; TRACES1 = [] # Layout of the app app.layout = app_layouts.layout_control_cruise_control(PROPS_VIS) @app.callback( Output('live_update_graph', 'figure'), [Input('refresh', 'n_intervals'), Input('speed_input', 'value'), Input('prop_gain', 'value'), Input('max_accel', 'value'), Input('min_accel', 'value')])