Skip to content

Commit 682a4dd

Browse files
authored
Merge pull request #283 from DUNE-DAQ/dte/crt_topology_change
CRT topology change
2 parents 63e5419 + 4fd6ab9 commit 682a4dd

9 files changed

Lines changed: 345 additions & 230 deletions

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ find_package(fmt REQUIRED)
1616

1717
find_package(Boost COMPONENTS unit_test_framework program_options REQUIRED)
1818

19-
daq_add_dal_library(application.schema.xml hermes.schema.xml fdmodules.schema.xml trigger.schema.xml wiec.schema.xml PDS.schema.xml tde.schema.xml CTB.schema.xml CIB.schema.xml
19+
daq_add_dal_library(application.schema.xml hermes.schema.xml fdmodules.schema.xml trigger.schema.xml wiec.schema.xml socket.schema.xml PDS.schema.xml tde.schema.xml CTB.schema.xml CIB.schema.xml
2020
NAMESPACE dunedaq::appmodel DEP_PKGS confmodel
2121
SOURCES
2222
ConfigurationHelper.cpp
2323
ConfigObjectFactory.cpp
24-
CRTReaderApplication.cpp
24+
CRTFrameBuilderApplication.cpp
2525
CTBApplication.cpp
2626
DaphneApplication.cpp
2727
DFApplication.cpp

schema/appmodel/application.schema.xml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,22 +80,21 @@
8080

8181
<oks-schema>
8282

83-
<info name="" type="" num-of-items="69" oks-format="schema" oks-version="862f2957270" created-by="gjc" created-on="thinkpad" creation-time="20230616T091343" last-modified-by="eflumerf" last-modified-on="ironvirt9.mshome.net" last-modification-time="20260203T131505"/>
83+
<info name="" type="" num-of-items="72" oks-format="schema" oks-version="862f2957270" created-by="gjc" created-on="thinkpad" creation-time="20230616T091343" last-modified-by="dergonul" last-modified-on="np04-srv-015.cern.ch" last-modification-time="20260319T161203"/>
8484

8585
<include>
8686
<file path="schema/confmodel/dunedaq.schema.xml"/>
8787
</include>
8888

8989

90-
<class name="CRTReaderApplication">
90+
<class name="CRTFrameBuilderApplication">
9191
<superclass name="ResourceSetDisableAND"/>
9292
<superclass name="SmartDaqApplication"/>
9393
<attribute name="application_name" type="string" init-value="daq_application" is-not-null="yes"/>
94-
<relationship name="data_writers" class-type="SocketDataWriterConf" low-cc="one" high-cc="many" is-composite="no" is-exclusive="no" is-dependent="no"/>
95-
<relationship name="data_reader" class-type="DataReaderConf" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
94+
<relationship name="detector_frame_builder" class-type="DetectorFrameBuilderConf" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
95+
<relationship name="data_writer" class-type="SocketDataWriterConf" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
9696
<relationship name="detector_connections" class-type="DetectorToDaqConnection" low-cc="zero" high-cc="many" is-composite="no" is-exclusive="no" is-dependent="no"/>
97-
<relationship name="callback_desc" class-type="DataMoveCallbackDescriptor" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
98-
<method name="generate_modules" description="Generate daq module dal objects for streams of the CRTReaderApplication on the fly">
97+
<method name="generate_modules" description="Generate daq module dal objects for streams of the CRTFrameBuilderApplication on the fly">
9998
<method-implementation language="c++" prototype="void generate_modules(std::shared_ptr&lt;appmodel::ConfigurationHelper&gt;) const override" body=""/>
10099
</method>
101100
<method name="contained_resources" description="">
@@ -192,6 +191,16 @@
192191
<relationship name="raw_data_callbacks" description="Configurations for raw data callbacks" class-type="DataMoveCallbackConf" low-cc="one" high-cc="many" is-composite="no" is-exclusive="no" is-dependent="no"/>
193192
</class>
194193

194+
<class name="DetectorFrameBuilderConf">
195+
<attribute name="template_for" description="OKS class of the DetectorFrameBuilderModule that this config is a template for" type="class" init-value="DetectorFrameBuilderModule" is-not-null="yes"/>
196+
</class>
197+
198+
<class name="DetectorFrameBuilderModule" is-abstract="yes">
199+
<superclass name="DaqModule"/>
200+
<relationship name="configuration" class-type="DetectorFrameBuilderConf" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
201+
<relationship name="connection" class-type="DetectorToDaqConnection" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
202+
</class>
203+
195204
<class name="DataRecorderConf">
196205
<attribute name="output_file" type="string"/>
197206
<attribute name="streaming_buffer_size" type="u32" init-value="1000" is-not-null="yes"/>
@@ -405,8 +414,8 @@
405414
<attribute name="capacity" type="u32" init-value="100" is-not-null="yes"/>
406415
<attribute name="data_type" description="string identifying type of data transferred through this queue" type="string" is-not-null="yes"/>
407416
</class>
408-
409-
<class name="DataMoveCallbackConf">
417+
418+
<class name="DataMoveCallbackConf">
410419
<attribute name="source_id" type="u32" init-value="0" is-not-null="yes"/>
411420
<attribute name="data_type" description="Name of the output data type. Should be defined via a call to DUNE_DAQ_TYPESTRING" type="string" init-value="WIBEthFrame"/>
412421
</class>
@@ -527,8 +536,11 @@
527536
<class name="SocketDataWriterModule">
528537
<superclass name="DaqModule"/>
529538
<relationship name="configuration" class-type="SocketDataWriterConf" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
530-
<relationship name="connections" class-type="NetworkDetectorToDaqConnection" low-cc="one" high-cc="many" is-composite="yes" is-exclusive="no" is-dependent="no"/>
531-
<relationship name="raw_data_callback" description="Configuration for raw data callback" class-type="DataMoveCallbackConf" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
539+
<relationship name="connection" class-type="SocketDetectorToDaqConnection" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
540+
</class>
541+
542+
<class name="SocketDetectorToDaqConnection">
543+
<superclass name="NetworkDetectorToDaqConnection"/>
532544
</class>
533545

534546
<class name="SourceIDConf">

schema/appmodel/fdmodules.schema.xml

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -80,32 +80,32 @@
8080

8181
<oks-schema>
8282

83-
<info name="" type="" num-of-items="33" oks-format="schema" oks-version="862f2957270" created-by="gjc" created-on="thinkpad" creation-time="20230616T091343" last-modified-by="eflumerf" last-modified-on="ironvirt9.mshome.net" last-modification-time="20251104T211957"/>
83+
<info name="" type="" num-of-items="32" oks-format="schema" oks-version="862f2957270" created-by="gjc" created-on="thinkpad" creation-time="20230616T091343" last-modified-by="dergonul" last-modified-on="np04-srv-015.cern.ch" last-modification-time="20260319T162022"/>
8484

8585
<include>
8686
<file path="schema/confmodel/dunedaq.schema.xml"/>
8787
<file path="schema/appmodel/application.schema.xml"/>
8888
</include>
8989

9090

91-
<class name="CRTBernReaderConf">
92-
<superclass name="DataReaderConf"/>
91+
<class name="CRTBernFrameBuilderConf">
92+
<superclass name="CRTFrameBuilderConf"/>
9393
</class>
9494

95-
<class name="CRTBernReaderModule">
96-
<superclass name="DataReaderModule"/>
95+
<class name="CRTBernFrameBuilderModule">
96+
<superclass name="DetectorFrameBuilderModule"/>
9797
</class>
9898

99-
<class name="CRTGrenobleReaderConf">
100-
<superclass name="DataReaderConf"/>
99+
<class name="CRTGrenobleFrameBuilderConf">
100+
<superclass name="CRTFrameBuilderConf"/>
101101
</class>
102102

103-
<class name="CRTGrenobleReaderModule">
104-
<superclass name="DataReaderModule"/>
103+
<class name="CRTGrenobleFrameBuilderModule">
104+
<superclass name="DetectorFrameBuilderModule"/>
105105
</class>
106106

107-
<class name="CRTReaderConf">
108-
<superclass name="DataReaderConf"/>
107+
<class name="CRTFrameBuilderConf">
108+
<superclass name="DetectorFrameBuilderConf"/>
109109
</class>
110110

111111
<class name="DPDKPortConfiguration">
@@ -153,10 +153,6 @@
153153
<superclass name="NWDetDataSender"/>
154154
</class>
155155

156-
<class name="FakeSocketWriterModule">
157-
<superclass name="SocketDataWriterModule"/>
158-
</class>
159-
160156
<class name="FelixCardControllerModule">
161157
<superclass name="DaqModule"/>
162158
<attribute name="super_chunk_size" description="Number of chunks in superchunk" type="u16" init-value="12" is-not-null="yes"/>
@@ -245,8 +241,6 @@
245241

246242
<class name="SocketReaderConf">
247243
<superclass name="DataReaderConf"/>
248-
<attribute name="socket_type" description="Socket type" type="enum" range="TCP,UDP" init-value="UDP" is-not-null="yes"/>
249-
<attribute name="local_ip" description="Local IP address" type="string" init-value="127.0.0.1" is-not-null="yes"/>
250244
</class>
251245

252246
<class name="SocketReaderModule">
@@ -259,8 +253,6 @@
259253

260254
<class name="SocketWriterConf">
261255
<superclass name="SocketDataWriterConf"/>
262-
<attribute name="socket_type" description="Socket type" type="enum" range="TCP,UDP" init-value="UDP" is-not-null="yes"/>
263-
<attribute name="remote_ip" description="Remote IP address" type="string" init-value="127.0.0.1" is-not-null="yes"/>
264256
</class>
265257

266258
<class name="SocketWriterModule">

schema/appmodel/socket.schema.xml

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
<?xml version="1.0" encoding="ASCII"?>
2+
3+
<!-- oks-schema version 2.2 -->
4+
5+
6+
<!DOCTYPE oks-schema [
7+
<!ELEMENT oks-schema (info, (include)?, (comments)?, (class)+)>
8+
<!ELEMENT info EMPTY>
9+
<!ATTLIST info
10+
name CDATA #IMPLIED
11+
type CDATA #IMPLIED
12+
num-of-items CDATA #REQUIRED
13+
oks-format CDATA #FIXED "schema"
14+
oks-version CDATA #REQUIRED
15+
created-by CDATA #IMPLIED
16+
created-on CDATA #IMPLIED
17+
creation-time CDATA #IMPLIED
18+
last-modified-by CDATA #IMPLIED
19+
last-modified-on CDATA #IMPLIED
20+
last-modification-time CDATA #IMPLIED
21+
>
22+
<!ELEMENT include (file)+>
23+
<!ELEMENT file EMPTY>
24+
<!ATTLIST file
25+
path CDATA #REQUIRED
26+
>
27+
<!ELEMENT comments (comment)+>
28+
<!ELEMENT comment EMPTY>
29+
<!ATTLIST comment
30+
creation-time CDATA #REQUIRED
31+
created-by CDATA #REQUIRED
32+
created-on CDATA #REQUIRED
33+
author CDATA #REQUIRED
34+
text CDATA #REQUIRED
35+
>
36+
<!ELEMENT class (superclass | attribute | relationship | method)*>
37+
<!ATTLIST class
38+
name CDATA #REQUIRED
39+
description CDATA ""
40+
is-abstract (yes|no) "no"
41+
>
42+
<!ELEMENT superclass EMPTY>
43+
<!ATTLIST superclass name CDATA #REQUIRED>
44+
<!ELEMENT attribute EMPTY>
45+
<!ATTLIST attribute
46+
name CDATA #REQUIRED
47+
description CDATA ""
48+
type (bool|s8|u8|s16|u16|s32|u32|s64|u64|float|double|date|time|string|uid|enum|class) #REQUIRED
49+
range CDATA ""
50+
format (dec|hex|oct) "dec"
51+
is-multi-value (yes|no) "no"
52+
init-value CDATA ""
53+
is-not-null (yes|no) "no"
54+
ordered (yes|no) "no"
55+
>
56+
<!ELEMENT relationship EMPTY>
57+
<!ATTLIST relationship
58+
name CDATA #REQUIRED
59+
description CDATA ""
60+
class-type CDATA #REQUIRED
61+
low-cc (zero|one) #REQUIRED
62+
high-cc (one|many) #REQUIRED
63+
is-composite (yes|no) #REQUIRED
64+
is-exclusive (yes|no) #REQUIRED
65+
is-dependent (yes|no) #REQUIRED
66+
ordered (yes|no) "no"
67+
>
68+
<!ELEMENT method (method-implementation*)>
69+
<!ATTLIST method
70+
name CDATA #REQUIRED
71+
description CDATA ""
72+
>
73+
<!ELEMENT method-implementation EMPTY>
74+
<!ATTLIST method-implementation
75+
language CDATA #REQUIRED
76+
prototype CDATA #REQUIRED
77+
body CDATA ""
78+
>
79+
]>
80+
81+
<oks-schema>
82+
83+
<info name="" type="" num-of-items="1" oks-format="schema" oks-version="862f2957270" created-by="dergonul" created-on="np04-srv-015.cern.ch" creation-time="20260318T105913" last-modified-by="dergonul" last-modified-on="np04-srv-015.cern.ch" last-modification-time="20260318T110035"/>
84+
85+
<include>
86+
<file path="schema/appmodel/application.schema.xml"/>
87+
</include>
88+
89+
90+
<class name="SocketDataSender">
91+
<superclass name="NWDetDataSender"/>
92+
<attribute name="socket_type" description="Socket type" type="enum" range="TCP,UDP" init-value="UDP" is-not-null="yes"/>
93+
<attribute name="local_port" type="u32" range="0..65535" init-value="0" is-not-null="yes"/>
94+
<attribute name="remote_port" type="u32" range="1..65535" init-value="20001" is-not-null="yes"/>
95+
</class>
96+
97+
</oks-schema>

schema/appmodel/wiec.schema.xml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080

8181
<oks-schema>
8282

83-
<info name="" type="" num-of-items="8" oks-format="schema" oks-version="862f2957270" created-by="gjc" created-on="thinkpad" creation-time="20230616T091343" last-modified-by="gjc" last-modified-on="latitude" last-modification-time="20250818T143705"/>
83+
<info name="" type="" num-of-items="7" oks-format="schema" oks-version="862f2957270" created-by="gjc" created-on="thinkpad" creation-time="20230616T091343" last-modified-by="dergonul" last-modified-on="np04-srv-015.cern.ch" last-modification-time="20260318T110034"/>
8484

8585
<include>
8686
<file path="schema/confmodel/dunedaq.schema.xml"/>
@@ -120,13 +120,6 @@
120120
<attribute name="pulse_channels" description="Array of up to 16 true/false values, for whether to send pulser to each corresponding channel per LArASIC." type="bool" is-multi-value="yes"/>
121121
</class>
122122

123-
<class name="SocketDataSender">
124-
<superclass name="NWDetDataSender"/>
125-
<attribute name="link_id" type="u32" is-not-null="yes"/>
126-
<attribute name="port" type="u32" init-value="1234" is-not-null="yes"/>
127-
<attribute name="control_host" type="string" init-value="localhost" is-not-null="yes"/>
128-
</class>
129-
130123
<class name="WIBModule">
131124
<superclass name="DaqModule"/>
132125
<attribute name="wib_addr" type="string" init-value="tcp://192.168.121.1:1234" is-not-null="yes"/>

0 commit comments

Comments
 (0)