-
Notifications
You must be signed in to change notification settings - Fork 7
New RTCM configuration #419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
00f569d to
b4b9d6d
Compare
MRiganSUSX
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @alessandrothea. Thanks for this improvement.
My 2 cents:
- I'd suggesting removing the comments that are there for old version of the code. I find it more confusing and if anyone wants to go back we have github with versioning and older releases
- adding the
m_tcout_time_offset_tsto the TLOG section mentioning what the settings used are - one place that is a clear potential area for problems is the
candidate.time_candidate = timestamp + m_tcout_time_offset_ts, specifically the sign. We should make sure to explain / document that the offset value should be negative (in most use cases) as the offset itself is applied as a +. - for the comments, such as
/// @brief Output candidate end time, based off trigger timestampwould using termrelativemake more sense?
|
Thanks for the comments, @MRiganSUSX |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @alessandrothea for this improved functionality, and for addressing my concerns.
I can confirm that I see Random TC Maker load correct configuration, generate TCs as expected (shifted time_candidate, window around that), and that this is reflected in the MLT and in the readout request that is made.
logs:
2025-Nov-21 16:18:51,431 DEBUG_1 [void dunedaq::trigger::RandomTCMakerModule::send_trigger_candidates() at /nfs/home/mrigan/dune-daq/fddaq-v5.5.0-rc2-a9/sourcecode/trigger/plugins/RandomTCMakerModule.cpp:278] random-tc-generator at timestamp 110233645714503944, pushing a candidate with timestamp 110233645714502944
2025-Nov-21 16:18:51,432 DEBUG_3 [void dunedaq::trigger::TCProcessor::make_td(const dunedaq::trigger::TCWrapper*) at /nfs/home/mrigan/dune-daq/fddaq-v5.5.0-rc2-a9/sourcecode/trigger/src/TCProcessor.cpp:268] Got TC of type 4, timestamp 110233645714502944, start/end 110233645714501944/110233645714503945
2025-Nov-21 16:18:51,432 DEBUG_3 [dunedaq::dfmessages::TriggerDecision dunedaq::trigger::TCProcessor::create_decision(const PendingTD&) at /nfs/home/mrigan/dune-daq/fddaq-v5.5.0-rc2-a9/sourcecode/trigger/src/TCProcessor.cpp:319] , TC detid: , TC type: 4, TC cont number: 1, DECISION trigger type: 16, DECISION timestamp: 110233645714502944, request window begin: 110233645714501944, request window end: 110233645714503945
So the custom test was successful.
However it seems the removal of the readout map was not propagated to all places where it is required still, breaking multiple integration tests :
ERROR readout_type_scan_test.py::test_nanorc_success[DAPHNE_Stream_System-run_nanorc0] - RuntimeError: object "def-random-readout@TCReadoutMap" is not found
ERROR readout_type_scan_test.py::test_log_files[DAPHNE_Stream_System-run_nanorc0] - RuntimeError: object "def-random-readout@TCReadoutMap" is not found
ERROR readout_type_scan_test.py::test_data_files[DAPHNE_Stream_System-run_nanorc0] - RuntimeError: object "def-random-readout@TCReadoutMap" is not found
ERROR readout_type_scan_test.py::test_nanorc_success[DAPHNE_System-run_nanorc0] - RuntimeError: object "def-random-readout@TCReadoutMap" is not found
ERROR readout_type_scan_test.py::test_log_files[DAPHNE_System-run_nanorc0] - RuntimeError: object "def-random-readout@TCReadoutMap" is not found
ERROR readout_type_scan_test.py::test_data_files[DAPHNE_System-run_nanorc0] - RuntimeError: object "def-random-readout@TCReadoutMap" is not found
ERROR readout_type_scan_test.py::test_nanorc_success[DAPHNE_TPG_System-run_nanorc0] - RuntimeError: object "def-random-readout@TCReadoutMap" is not found
ERROR readout_type_scan_test.py::test_log_files[DAPHNE_TPG_System-run_nanorc0] - RuntimeError: object "def-random-readout@TCReadoutMap" is not found
ERROR readout_type_scan_test.py::test_data_files[DAPHNE_TPG_System-run_nanorc0] - RuntimeError: object "def-random-readout@TCReadoutMap" is not found
.
|
Hi @MRiganSUSX , thanks for checking. |
|
After the re-introduction of |
|
I reran the integtest bundle, and can confirm that the previous errors are no longer there (regarding the map). Just for completeness, there are still some errors observed: from from but seem unrelated to this code change. |


Address the RTCM limitations in #415.
The candidate time is shifted by
candidate_offset_ts(signed integer, leaving the option to inject candidates into the future if needed), and the window is define bycandidate_window_before_ts/candidate_window_after_tsThe use of
TCReadoutMapfor the window definition is discontinued (since it belongs to a different domain)Requires associated changes in
appmodelDUNE-DAQ/appmodel#259