25 ignore_alignment_mask=([], []),
29 Here an entire application controlling one physical FLX card is generated.
32 if ru_desc.kind !=
'flx':
33 raise ValueError(f
"Felix controller app creation requrested for RU of kinf {ru_desc.kind}")
37 for stream
in ru_desc.streams:
38 if not stream.parameters.slr
in slrs:
39 slrs[stream.parameters.slr] = []
40 slrs[stream.parameters.slr].append(stream.parameters.link)
58 elinks.append(flx.Link(link_id=l, enabled=
True, dma_desc=0, superchunk_factor=12))
61 lus.append(flx.LogicalUnit(log_unit_id=slr, emu_fanout=emulator_mode, links=elinks, ignore_alignment_mask=ignore_alignment_mask[slr]))
64 modules += [DAQModule(name = nickname,
65 plugin =
'FelixCardControllerModule',
66 conf = flx.Conf(card_id = card_id, logical_units = lus)
69 mgraph = ModuleGraph(modules)
70 flx_app = App(modulegraph=mgraph, host=host, name=nickname)