DUNE-DAQ / fdreadoutlibs

fdreadoutlibs
0 stars 3 forks source link

Hristova/tp format config v3.2.0 #48

Closed hristovaivana closed 2 years ago

hristovaivana commented 2 years ago

This PR replaces https://github.com/DUNE-DAQ/fdreadoutlibs/pull/46 It is indeded to merge to develop for dunedaq-v3.2.0

Here we add the option to configure the unpacking of the raw TP frames according to the firmware TPG format. Currently we have two fwTGP format versions, which we call "old" and "new", or alternatively, we can refer to them as "v1" and "v2". This feature involves changes in the following packages (where the relevant PRs are made as well): fdreadoutlibs (here) readoutlibs readoutmodules

eflumerf commented 2 years ago

Do you have instructions for testing these changes? I'm assuming that it involves readoutapp_gen from the readoutmodules PR

hristovaivana commented 2 years ago

There are 2 ways to test

  1. with the real FELIX links, which we are going to do with the latest firmware build which is in preparation for dunedaq-v3.2.0 (although the firmware is physically decoupled from the readout software, we always aim to tag a FW build which can be run with a given DUNE-DAQ release).
  2. using tp_frames.bin file to emulate the input from the FELIX TP links.

The first test is not done yet. I check and will let you know when we can get it done. I've tested the changes using the TP emulator as a source with a nightly. Here are the instructions:

setup
source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh
setup_dbt latest
dbt-create -c -n N22-08-31 N22-08-31
cd N22-08-31
cd sourcecode
  git clone https://github.com/DUNE-DAQ/readoutmodules.git -b hristova/tp_format_config_v3.2.0
  git clone https://github.com/DUNE-DAQ/readoutlibs.git -b hristova/tp_format_config_v3.2.0
  git clone https://github.com/DUNE-DAQ/fdreadoutlibs.git -b hristova/tp_format_config_v3.2.0
cd ..
dbt-workarea-env
dbt-build -j16
tests
find . -name readoutapp_gen -type f -print
readoutapp_gen -h
rm -Rf tpapp.json && readoutapp_gen -n 0 -t 1 -v 2 -c 2048 -m -f VDColdboxChannelMap tpapp.json
rm -Rf RunConf_1 && nanorc tpapp.json test boot conf start_run 001 wait 60 stop_run scrap terminate

with my_hw_map.txt

# DRO_SourceID DetLink DetSlot DetCrate DetID DRO_Host DRO_Card DRO_SLR DRO_Link 
100 0 4 6 3 localhost 0 0 0

with daqconf.ini

# These sections must be present for defaults to be populated in config map.
# Override parameters as needed

[daqconf]

[timing]

[readout]
data_rate_slowdown_factor = 10
readout_sends_tp_fragments = false

[trigger]
[dataflow]

[dataflow.dataflow0]

[dqm]

and

curl https://cernbox.cern.ch/index.php/s/QRBAANbBQNbhuYC/download -o /tmp/tp_frames.bin

Yes, this also tests readoutapp_gen from readoutmodules as well.

eflumerf commented 2 years ago

I had to make a change in app_confgen for the test to run for me. Also, the -m and -f parameters in your instructions are swapped

hristovaivana commented 2 years ago

This PR is superseded by the next. Closing.