def create_udc(bbbname=BBBNAME, udc_index=None): """Create UDC.""" pru = PRU(bbbname=bbbname) if udc_index is not None: udc_list = PSSearch.conv_bbbname_2_udc(bbbname) udcname = udc_list[udc_index] bsmps = PSSearch.conv_udc_2_bsmps(udcname) else: bsmps = PSSearch.conv_bbbname_2_bsmps(bbbname) psnames, device_ids = zip(*bsmps) for psname, dev_id in bsmps: print('psname: {:<15} dev_id: {}'.format(psname, dev_id)) psmodel = PSSearch.conv_psname_2_psmodel(psnames[0]) udc = UDC(pru=pru, psmodel=psmodel, device_ids=device_ids) return udc
def create_tree(): """.""" dev2ip = get_device_2_ioc_ip() bbbnames = PSSearch.get_bbbnames() tree = ['BeagleBones', []] for bbbname in bbbnames: # PSSearch.con bbbip = dev2ip[bbbname] if bbbname in dev2ip else '' bbblist = (bbbname + ' [' + bbbip + ']', []) udcnames = PSSearch.conv_bbbname_2_udc(bbbname) for udcname in udcnames: udclist = [udcname, []] devices = PSSearch.conv_udc_2_bsmps(udcname) for device in devices: psname, bsmp_id = device psmodel = PSSearch.conv_psname_2_psmodel(psname) if device == devices[0]: udclist[0] += ' (' + psmodel + ')' pslist = [psname + ' (' + str(bsmp_id) + ')', []] try: dclinks = PSSearch.conv_psname_2_dclink(psname) except KeyError: dclinks = [] if dclinks is None: dclinks = [] if len(dclinks) > 0: for dclink in dclinks: dclinklist = [dclink, []] pslist[-1].append(dclinklist) # print(dclinks) udclist[-1].append(pslist) # print(psname, bsmp_id) bbblist[-1].append(udclist) tree[-1].append(bbblist) return tree