Skip to content

CRT readers communicate with socket writers via IOM#622

Closed
denizergonul wants to merge 6 commits intodevelopfrom
dte/crt_cb_update
Closed

CRT readers communicate with socket writers via IOM#622
denizergonul wants to merge 6 commits intodevelopfrom
dte/crt_cb_update

Conversation

@denizergonul
Copy link
Copy Markdown

@denizergonul denizergonul commented Mar 11, 2026

  • For each connection, there are, per DataSender:
    • 1 dedicated D2D connection (with this sender only)
    • 1 CRT frame builder
    • 1 SocketWriter
    • 1 IOM
  • CRT readers communicate with socket writers via IOM.
  • Socket readers communicate with DHLs via callbacks.

To try out:

  • create_config_plot -f config/daqsystemtest/example-configs.data.xml -r crt-data-source-01 -s local-socket-1x1-config
image
  • create_config_plot -f config/daqsystemtest/example-configs.data.xml -r socket-ru-01 -s local-socket-1x1-config
image

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

@denizergonul denizergonul changed the title Don't check raw data callbacks for CRT readers Socket writer has callbacks for each DataSender Mar 13, 2026
@denizergonul denizergonul requested a review from eflumerf March 13, 2026 16:19
Copy link
Copy Markdown
Contributor

@alessandrothea alessandrothea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@denizergonul denizergonul changed the title Socket writer has callbacks for each DataSender CRT readers communicate with socket writers via IOM Mar 23, 2026
mode. Needed for readout_type_scan_test.py to correctly generate.
Copy link
Copy Markdown
Contributor

@wesketchum wesketchum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll continue the conversation on this PR, though see #624 for the PR we should merge to the prep-release branch.

I think there's an issue with this line:

callback_desc=cb_desc,

When I try to run the readout_type_scan.py integration test, I get errors like:

==================================== ERRORS ====================================
_ ERROR at setup of test_dunerc_success[BernCRT_System-StandAloneSSH_PM-run_dunerc0] _
../.venv/lib/python3.12/site-packages/integrationtest/integrationtest_drunc.py:220: in create_config_files
    generate_readout(
../install/daqconf/lib64/python/daqconf/generate.py:736: in generate_readout
    callback_desc=cb_desc,
                  ^^^^^^^
E   UnboundLocalError: cannot access local variable 'cb_desc' where it is not associated with a value
_ ERROR at setup of test_log_files[BernCRT_System-StandAloneSSH_PM-run_dunerc0] _
../.venv/lib/python3.12/site-packages/integrationtest/integrationtest_drunc.py:220: in create_config_files
    generate_readout(
../install/daqconf/lib64/python/daqconf/generate.py:736: in generate_readout
    callback_desc=cb_desc,
                  ^^^^^^^
E   UnboundLocalError: cannot access local variable 'cb_desc' where it is not associated with a value
_ ERROR at setup of test_data_files[BernCRT_System-StandAloneSSH_PM-run_dunerc0] _
../.venv/lib/python3.12/site-packages/integrationtest/integrationtest_drunc.py:220: in create_config_files
    generate_readout(
../install/daqconf/lib64/python/daqconf/generate.py:736: in generate_readout
    callback_desc=cb_desc,
                  ^^^^^^^
E   UnboundLocalError: cannot access local variable 'cb_desc' where it is not associated with a value
_ ERROR at setup of test_dunerc_success[GrenobleCRT_System-StandAloneSSH_PM-run_dunerc0] _
../.venv/lib/python3.12/site-packages/integrationtest/integrationtest_drunc.py:220: in create_config_files
    generate_readout(
../install/daqconf/lib64/python/daqconf/generate.py:736: in generate_readout
    callback_desc=cb_desc,
                  ^^^^^^^
E   UnboundLocalError: cannot access local variable 'cb_desc' where it is not associated with a value
_ ERROR at setup of test_log_files[GrenobleCRT_System-StandAloneSSH_PM-run_dunerc0] _
../.venv/lib/python3.12/site-packages/integrationtest/integrationtest_drunc.py:220: in create_config_files
    generate_readout(
../install/daqconf/lib64/python/daqconf/generate.py:736: in generate_readout
    callback_desc=cb_desc,
                  ^^^^^^^
E   UnboundLocalError: cannot access local variable 'cb_desc' where it is not associated with a value
_ ERROR at setup of test_data_files[GrenobleCRT_System-StandAloneSSH_PM-run_dunerc0] _
../.venv/lib/python3.12/site-packages/integrationtest/integrationtest_drunc.py:220: in create_config_files
    generate_readout(
../install/daqconf/lib64/python/daqconf/generate.py:736: in generate_readout
    callback_desc=cb_desc,
                  ^^^^^^^
E   UnboundLocalError: cannot access local variable 'cb_desc' where it is not associated with a value

I haven't fully tracked this down, but I think with the recent changes there is no callback descriptor that is being used for the CRT Bern and CRT Grenoble cases, where it is still instantiating a readout application in the readout type scan.

Attach DataMoveCallbackConf objects to the ReadoutApplication for CRT mode
@bieryAtFnal
Copy link
Copy Markdown
Contributor

Closing this PR since the branch has been merged to the prep-release/fddaq-v5.6.0 branch in a different PR.

@bieryAtFnal bieryAtFnal deleted the dte/crt_cb_update branch March 24, 2026 16:02
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.

6 participants