DUNE-DAQ / dtpcontrols

DUNE Trigger Primitives Control Software
0 stars 1 forks source link

ipbus error on capture sink command #38

Closed ShyamB97 closed 2 years ago

ShyamB97 commented 2 years ago

Error produced is the same as the ipbus error as https://github.com/DUNE-DAQ/daq-deliverables/issues/6:

Branch used is jbrooke/fw_v3 and dunedaq-v3.1.1. dtp-patterns branch hristova/regenerated_patterns for the data file

30-08-22 10:22:25.417109 [139847928870720] ERROR - Incorrect transaction ID returned from URI "ipbusflx-2.0:///dev/flx:0". Sent header was 0x20C1010F (1 bytes into IPbus send payload), for base address 0x00000094, but return header is 0x20B90100, 1 bytes into IPbus send payload
Traceback (most recent call last):
  File "/local_disk/shyam/NT22-08-29/install/dtpcontrols/bin/hfButler.py", line 392, in <module>
    cli(obj=HFObject(), complete_var='_HFBUTLER_COMPLETE')
  File "/local_disk/shyam/NT22-08-29/dbt-pyvenv/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/local_disk/shyam/NT22-08-29/dbt-pyvenv/lib/python3.8/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/local_disk/shyam/NT22-08-29/dbt-pyvenv/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/local_disk/shyam/NT22-08-29/dbt-pyvenv/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/local_disk/shyam/NT22-08-29/dbt-pyvenv/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/local_disk/shyam/NT22-08-29/dbt-pyvenv/lib/python3.8/site-packages/click/decorators.py", line 38, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/local_disk/shyam/NT22-08-29/install/dtpcontrols/bin/hfButler.py", line 367, in capture_sink
    osNode.getClient().dispatch() 
uhal._core.exception: Incorrect transaction ID returned from URI "ipbusflx-2.0:///dev/flx:0". Sent header was 0x20C1010F (1 bytes into IPbus send payload), for base address 0x00000094, but return header is 0x20B90100, 1 bytes into IPbus send payload

Steps to reproduce:

flx-reset ALL; flx-init; flx-reset GTH

echo "enabling tp-readout links:"
sleep 1

flx-config -d 0 set DECODING_LINK00_EGROUP0_CTRL_EPATH_ENA=1
flx-config -d 0 set DECODING_LINK05_EGROUP0_CTRL_EPATH_ENA=1

flx-config -d 1 set DECODING_LINK00_EGROUP0_CTRL_EPATH_ENA=1
flx-config -d 1 set DECODING_LINK05_EGROUP0_CTRL_EPATH_ENA=1

#check elink status                                                                                                                                                                                                
flx-config -d 0 DECODING_LINK00_EGROUP0_CTRL_EPATH_ENA
flx-config -d 0 DECODING_LINK05_EGROUP0_CTRL_EPATH_ENA

flx-config -d 1 DECODING_LINK00_EGROUP0_CTRL_EPATH_ENA
flx-config -d 1 DECODING_LINK05_EGROUP0_CTRL_EPATH_ENA

echo "setting superchunk factor:"
sleep 1

flx-config -d 0 set SUPER_CHUNK_FACTOR_LINK_00=0x0c
flx-config -d 0 set SUPER_CHUNK_FACTOR_LINK_05=0x40

flx-config -d 1 set SUPER_CHUNK_FACTOR_LINK_00=0x0c
flx-config -d 1 set SUPER_CHUNK_FACTOR_LINK_05=0x40

# check superchunk factors have changed                                                                                                                                                                            
flx-config -d 0 list | grep SUPER_CHUNK_FACTOR_LINK_01
flx-config -d 0 list | grep SUPER_CHUNK_FACTOR_LINK_05

flx-config -d 1 list | grep SUPER_CHUNK_FACTOR_LINK_01
flx-config -d 1 list | grep SUPER_CHUNK_FACTOR_LINK_05

sleep 1
EMU_FILE="${DBT_AREA_ROOT}/dtp-patterns/HDColdboxData/B/HDColdBoxData_B_emuconfig"
echo "loading pattern: ${EMU_FILE}"
if [ -f "${EMU_FILE}" ]
then
    echo "emulator file found"
    flx-config -d 0 load ${EMU_FILE}
    flx-config -d 1 load ${EMU_FILE}
else
    echo "emulator file not found!"
    exit 1
fi

echo "running fdaq on SLR 0:"
fdaq -d 0 -t 60 -X -T out.bin > out_fdaq_0.log &
fdaq -d 1 -t 60 -X -T out.bin > out_fdaq_1.log &

### enables hitfinding TPG in GBT mode ###                                                                                                                                                              

hfButler.py flx-0-p2-hf init
hfButler.py flx-0-p2-hf cr-if --on --drop-empty

hfButler.py flx-1-p2-hf init
hfButler.py flx-1-p2-hf cr-if --on --drop-empty

# set source to gbt i.e. process data from the elinks                                                                                                                                                   
hfButler.py flx-0-p2-hf flowmaster --src-sel gbt --sink-sel hits
hfButler.py flx-1-p2-hf flowmaster --src-sel gbt --sink-sel hits

# set the threshold of the hitfinder                                                                                                                                                                     
hfButler.py flx-0-p2-hf link hitfinder -t 1000
hfButler.py flx-1-p2-hf link hitfinder -t 1000

# mask all but channel 0                                                                                                                                                                                           
# hfButler.py flx-0-p2-hf link mask enable -c 1-63                                                                                                                                                                 
# hfButler.py flx-1-p2-hf link mask enable -c 1-63                                                                                                                                                                 

hfButler.py flx-0-p2-hf link pedsub --cap-on # enable pedestal capture
hfButler.py flx-1-p2-hf link pedsub --cap-on # enable pedestal capture

hfButler.py flx-0-p2-hf link config --dr-on --dpr-mux passthrough --drop-empty
hfButler.py flx-1-p2-hf link config --dr-on --dpr-mux passthrough --drop-empty

sleep 1
hfButler.py flx-0-p2-hf link pedsub --cap-off
hfButler.py flx-1-p2-hf link pedsub --cap-off

hfButler.py flx-0-p2-hf flowmaster --out-sel cr # new
hfButler.py flx-1-p2-hf flowmaster --out-sel cr # new

# enable FELX emulators                                                                                                                                                              
femu -d 0 -e
femu -d 1 -e

hfButler.py flx-0-p2-hf capture-sink
alessandrothea commented 2 years ago

Fixed by DUNE-DAQ/uhallibs#6