API

class src.acoustics.Acoustics(mainwindow)
event_started
event_stopped
periodic_task()
run()
save_config()
start_event()
start_gage()
stop_event()
class src.arduinos.Arduino(mainwindow, arduino)
arduino_port_map = {0: 'E0', 1: 'E1', 2: 'E4', 3: 'E5', 4: 'G5', 5: 'E3', 6: 'H3', 7: 'H4', 8: 'H5', 9: 'H6', 10: 'B4', 11: 'B5', 12: 'B6', 13: 'B7', 14: 'J1', 15: 'J0', 16: 'H1', 17: 'H0', 18: 'D3', 19: 'D2', 20: 'D1', 21: 'D0', 22: 'A0', 23: 'A1', 24: 'A2', 25: 'A3', 26: 'A4', 27: 'A5', 28: 'A6', 29: 'A7', 30: 'C7', 31: 'C6', 32: 'C5', 33: 'C4', 34: 'C3', 35: 'C2', 36: 'C1', 37: 'C0', 38: 'D7', 39: 'G2', 40: 'G1', 41: 'G0', 42: 'L7', 43: 'L6', 44: 'L5', 45: 'L4', 46: 'L3', 47: 'L2', 48: 'L1', 49: 'L0', 50: 'B3', 51: 'B2', 52: 'B1', 53: 'B0'}
check_arduino()
latch_pins = [0, 1, 5, 2, 3, 17, 16, 6, 7, 8, 9, 15, 14]
periodic_task()
reverse_port_map = {}
run()
sketch_uploaded
upload_sketch()
class src.cameras.Camera(mainwindow, cam_name)
camera_closed
camera_connected
camera_started
periodic_task()
run()
start_camera()
stop_camera()
test_rpi()
class src.config.Config(mainwindow, path)

Class object to load and save run config files

apply_config(ui)
load_config()
load_config_from_file(path, ui)

Updates the config dict with new json dict. The new json has to follow the same structure, but doesn’t need to have all the values

load_config_to_mainwindow()
load_config_to_window(ui)
periodic_task()
run_config_saved
save_config(path)
save_config_from_ui(ui, path)
start_event()
start_run()
stop_run()
update_dict(original, new)

recursive helper function to update config dictionary with new settings. Prevents overwriting keys in the same level that is written.

class src.niusb.NIUSB(mainwindow)
check_niusb()
drive_definition = {'': 'input', 'comm_cam1': 'active_drive', 'comm_cam2': 'active_drive', 'comm_cam3': 'active_drive', 'latch': 'open_collector', 'reset': 'open_collector', 'state_cam1': 'open_collector', 'state_cam2': 'open_collector', 'state_cam3': 'open_collector', 'trig': 'open_collector', 'trigen_cam1': 'active_drive', 'trigen_cam2': 'active_drive', 'trigen_cam3': 'active_drive', 'trigff_ar': 'open_collector', 'trigff_but': 'open_collector', 'trigff_cam1': 'open_collector', 'trigff_cam2': 'open_collector', 'trigff_cam3': 'open_collector', 'trigff_cf4': 'open_collector', 'trigff_p': 'open_collector', 'trigff_piezo': 'open_collector', 'trigff_rc': 'open_collector'}
event_started
event_stopped
ff_dict = {'trigff_ar': 'Kulite Ar', 'trigff_but': 'Ext Button', 'trigff_cam1': 'Cam1', 'trigff_cam2': 'Cam2', 'trigff_cam3': 'Cam3', 'trigff_cf4': 'Kulite CF4', 'trigff_p': 'Pressure', 'trigff_piezo': 'Piezo', 'trigff_rc': 'Run Control'}
periodic_task()
pin_definition = {'': 'input', 'comm_cam1': 'output', 'comm_cam2': 'output', 'comm_cam3': 'output', 'latch': 'input', 'reset': 'output', 'state_cam1': 'input', 'state_cam2': 'input', 'state_cam3': 'input', 'trig': 'output', 'trigen_cam1': 'output', 'trigen_cam2': 'output', 'trigen_cam3': 'output', 'trigff_ar': 'input', 'trigff_but': 'input', 'trigff_cam1': 'input', 'trigff_cam2': 'input', 'trigff_cam3': 'input', 'trigff_cf4': 'input', 'trigff_p': 'input', 'trigff_piezo': 'input', 'trigff_rc': 'input'}
run()
run_started
run_stopped
send_trigger(source)
start_event()
start_run()
stop_event()
stop_run()
trigger_detected
trigger_ff
class src.sipm_amp.SiPMAmp(mainwindow, amp)
adc_mapping = {1: '6 0 1', 2: '6 4 5', 3: '6 6 7', 4: '6 2 3', 5: '4 0 1', 6: '4 4 5', 7: '4 6 7', 8: '4 2 3', 9: '3 0 1', 10: '3 4 5', 11: '3 6 7', 12: '3 2 3', 13: '1 0 1', 14: '1 4 5', 15: '1 6 7', 16: '1 2 3'}
bias_sipm()
check_iv_interval()

return the time stamp of last IV curve measurement

daq_mapping = {1: '5 0', 2: '5 1', 3: '5 2', 4: '5 3', 5: '5 4', 6: '5 5', 7: '5 6', 8: '5 7', 9: '2 0', 10: '2 1', 11: '2 2', 12: '2 3', 13: '2 4', 14: '2 5', 15: '2 6', 16: '2 7'}
exec_commands(host, commands)
periodic_task()
run()
run_iv_curve()

tell the SiPM amplifier to do an IV curve measurement

sipm_biased
sipm_unbiased
start_run()
test_sipm_amp()
unbias_sipm()

if not enabled, try pinging the IP address if ping successes, still unbias. if not, quit ping with only 1 packet, with 1s timeout