DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
crtmodulesapp_gen.py
Go to the documentation of this file.
1# This module facilitates the generation of crtmodules DAQModules within crtmodules apps
2
3
4# Set moo schema search path
5from dunedaq.env import get_moo_model_path
6import moo.io
7moo.io.default_load_path = get_moo_model_path()
8
9# Load configuration types
10import moo.otypes
11moo.otypes.load_types("crtmodules/crtcontrollermodule.jsonnet")
12
13import dunedaq.crtmodules.crtcontrollermodule as crtcontrollermodule
14
15from daqconf.core.app import App, ModuleGraph
16from daqconf.core.daqmodule import DAQModule
17#from daqconf.core.conf_utils import Endpoint, Direction
18
19def get_crtmodules_app(nickname, num_crtcontrollermodules, board_confs, host="localhost"):
20 """
21 Here the configuration for an entire daq_application instance using DAQModules from crtmodules is generated.
22 """
23
24 modules = []
25
26 for i in range(num_crtcontrollermodules):
27 modules += [DAQModule(name = f"nickname{i}",
28 plugin = "CRTControllerModule",
29 conf = crtcontrollermodule.Conf(BoardConfs = board_confs
30 )
31 )]
32
33 mgraph = ModuleGraph(modules)
34 crtmodules_app = App(modulegraph = mgraph, host = host, name = nickname)
35
36 return crtmodules_app
get_crtmodules_app(nickname, num_crtcontrollermodules, board_confs, host="localhost")