28 host="localhost"):
29 '''
30 Here an entire application consisting only of one (Proto)WIBModule module is generated.
31 '''
32
33
34
35 modules = []
36
37 if version == 1:
38 modules += [DAQModule(name = nickname,
39 plugin = 'ProtoWIBConfigurator',
40 conf = protowib.WIBConf(wib_addr = endpoint,
41 settings = protowib.WIBSettings(
42 femb1 = protowib.FEMBSettings(),
43 femb2 = protowib.FEMBSettings(),
44 femb3 = protowib.FEMBSettings(),
45 femb4 = protowib.FEMBSettings()
46 )
47 )
48 )]
49 else:
50 coldadc_inputs = dict()
51 coldadc_regs = ['reg_0', 'reg_4', 'reg_24', 'reg_25', 'reg_26', 'reg_27', 'reg_29', 'reg_30']
52 for idx, val in enumerate(coldadc_conf):
53 coldadc_inputs[coldadc_regs[idx]] = val
54 print(coldadc_inputs)
55 modules += [DAQModule(name = nickname,
56 plugin = 'WIBModule',
57 conf = wib.WIBConf(wib_addr = endpoint,
58 settings = wib.WIBSettings(
59 pulser = pulser,
60 detector_type = detector_type,
61 femb0 = wib.FEMBSettings(gain=gain, gain_match=gain_match, peak_time=shaping_time, baseline=baseline, pulse_dac=pulse_dac, buffering=buf, test_cap=pulser, line_driver=line_driver, pulse_channels=pulse_channels),
62 femb1 = wib.FEMBSettings(gain=gain, gain_match=gain_match, peak_time=shaping_time, baseline=baseline, pulse_dac=pulse_dac, buffering=buf, test_cap=pulser, line_driver=line_driver, pulse_channels=pulse_channels),
63 femb2 = wib.FEMBSettings(gain=gain, gain_match=gain_match, peak_time=shaping_time, baseline=baseline, pulse_dac=pulse_dac, buffering=buf, test_cap=pulser, line_driver=line_driver, pulse_channels=pulse_channels),
64 femb3 = wib.FEMBSettings(gain=gain, gain_match=gain_match, peak_time=shaping_time, baseline=baseline, pulse_dac=pulse_dac, buffering=buf, test_cap=pulser, line_driver=line_driver, pulse_channels=pulse_channels),
65 coldadc_settings = wib.ColdADCSettings(coldadc_inputs),
66 wib_pulser = wib.WIBPulserSettings(enabled_0=wib_pulser_en, enabled_1=wib_pulser_en, enabled_2=wib_pulser_en, enabled_3=wib_pulser_en, pulse_dac=wib_pulser_dac, pulse_period=wib_pulser_period, pulse_phase=wib_pulser_phase, pulse_duration=wib_pulser_duration)
67 )
68 )
69 )]
70
71 mgraph = ModuleGraph(modules)
72 wib_app = App(modulegraph=mgraph, host=host, name=nickname)
73
74 return wib_app