according to Pippo, in order to start a readout with more than 12 links one needs to use both DMA endpoints. Are there some instructions on how to do this? I would assume the following:
start the roc-bench-dma for each end-point
adapt the tpc-readout-test.py script
For the later point, can i specify simply the link =[0,1,2,3,4,5,6,7,8,9,10,11,12,13]? Or do i need to copy the following part and adapt it for the second endpoint:
#enable selected links
links=[0,1,2,3,4,5,6,7,8,9,10,11]
#links=[1]
for l in links:
cru.dwrapper.linkEnableBit(l)
cru.dwrapper.setGbtDatapathLink(wrap=0,link=l,is_GBT_pkt=0,RAWBYLEN=1,RAWBYID=0,RAWMAXLEN=0x1EA)
cru.dwrapper.packetmuxPadLen(arbmode=0)
cru.dwrapper.setFlowControl(wrap=0,allowReject=0,forceReject=0)
The code looks like one needs to do this for each data path wrapper.
Yes you are correct. This is the way it is written for now. Initially, it was possible to use only one dwrapper and more than 12 links per dwrapper (we want to keep some compatibility with TRD for instance).
We could probably update the linkEnable function to do the necessary by itself, but then we would need the dwrapper to report its configuration (not implemented yet).
thanks for the info. No need to change anything, just wanted to know how to do it. Copying a few lines and adapting them works for me. I assume with the “wrap=N” N=[0,1] i specify the correct wrapper?