Skip to content

CRT topology change#278

Open
denizergonul wants to merge 7 commits intodevelopfrom
dte/crt_topology_change
Open

CRT topology change#278
denizergonul wants to merge 7 commits intodevelopfrom
dte/crt_topology_change

Conversation

@denizergonul
Copy link
Contributor

@denizergonul denizergonul commented Mar 6, 2026

CRTReaderApplication creates:

  • 1 CRT(Bern/Grenoble)Reader per SocketDetectorToDaqConnection
  • 1 SocketWriter per SocketDetectorToDaqConnection
    CRTReader has N callback confs, where N is the number of streams in its connection.
    SocketWriter has the same N callback confs.

appmodel PR dte/crt_topology_change
daqsystemtest PR dte/crt_topology_change
crtmodules PR dte/crt_topology_change
asiolibs PR dte/crt_topology_change
daqconf PR dte/crt_cb_update
datahandlinglibs PR dte/cb_acquire
fdreadoutmodules PR dte/crt_rates

Prior to this development, socket connection info resided in reader and writer configurations. Now, there is SocketDetectorToDaqConnection which has SocketDataSenders and SocketReceiver; SocketDataSender has the info socket type (TCP/UDP), local port and remote port; plus we make use of their NetworkInterface.ip_address to interpret them as local IP and remote IP.

crt-readout-cb drawio

This diagram shows the relationships between configuration objects and modules. Here, SocketDetectorToDaqConnection1 represents socket_crt in the example config in daqsystemtest.

CRT readers communicate with socket writers via callbacks.
Socket readers communicate with DHLs via callbacks.

To try out:

  • drunc-unified-shell ssh-standalone config/daqsystemtest/example-configs.data.xml local-socket-1x1-config ${USER}-local-test
  • Reverting DUNE-DAQ/daqsystemtest@8d9a006 then generate_modules_test local-socket-1x1-config crt-data-source-01 config/daqsystemtest/example-configs.data.xml
  • generate_modules_test local-socket-1x1-config socket-ru-01 config/daqsystemtest/example-configs.data.xml

Type of change

  • New feature or enhancement (non-breaking change which adds functionality)

Testing checklist

  • Minimal system quicktest passes (pytest -s minimal_system_quick_test.py)
  • Full set of integration tests pass (dunedaq_integtest_bundle.sh)

Further checks

@denizergonul denizergonul marked this pull request as ready for review March 11, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant