Following the call for post Integration Week patches, this branch was prepared with the aim to be included in the dunedaq-v3.2.2 release.
It contains changes to the FW TPG unpacking process which have been tested shortly after the integration week, but using the
same setup as used during that week.
The main but minor improvement is in the way the loop over TP frames is done, now it handles very rare edge cases and is supposed to be faster:
Previously the size parameter to memcpy could become negative thus overlaying of memory may occur.
The loop reflects the TP frame structure and thus performs fewer iterations when parsing the input data block in the majority of the cases.
@wesketchum thank you very much for the information about the plans for release v3.2.2. I would like to make PR for this branch to be included in the release and tested in the pre-release tests.
Following the call for post Integration Week patches, this branch was prepared with the aim to be included in the dunedaq-v3.2.2 release.
It contains changes to the FW TPG unpacking process which have been tested shortly after the integration week, but using the same setup as used during that week.
The main but minor improvement is in the way the loop over TP frames is done, now it handles very rare edge cases and is supposed to be faster:
In addition, the Source ID is retrieved in the same way as in the SW TPG. This changes was made to help fix the Source ID issue
https://github.com/DUNE-DAQ/fdreadoutlibs/issues/72 however the ultimate fix to this problem is provided in https://github.com/DUNE-DAQ/daqconf/pull/267
These changes were tested in a WIB pulser run in December 2022.