Skip to content

Draft: more general handling of board and "scouting pipelines"

Rocco Ardino requested to merge PyHAL_support_scouting_pipelines into main

The needed scone version to handle cases where links from multiple sources are sent to the same scouting board. This MR is needed in order to make scone work with this new firmware structure in scouting-preprocessor!80

The main idea is to have a structure like this in the board configuration parameters

            "l1ds_pipelines" : {
                "ugt" : {
                    "sourceIdx" : 0,
                    "enable" : 1,
                    "nInputLinks" : 20,
                    "nRegions" : 5,
                    "input_link_map" : [0,1,2,3, 4,5,6,7, 8,9,10,11, 12,13,14,15, 16,18,17,19],
                    "tcp_stream_map" : [0]
                },
                "calo" : {
                    "sourceIdx" : 1,
                    "enable" : 1,
                    "nInputLinks" : 8,
                    "nRegions" : 2,
                    "input_link_map" : [0,1,2,3, 4,5,6,7],
                    "tcp_stream_map" : [1, 2, 3, 4]
                }
            },

Examples:

Example 1: configure ugt + calo (simplified)

curl -X POST localhost:8080/v2/vcu128_ugtcalo/0/reset
curl -X POST -H "Content-type: application/json" -d '{"l1ds_pipelines":{"ugt" : {"enable":1}, "calo" : {"enable":1}}}' localhost:8080/v2/vcu128_ugtcalo/0/configure
curl -X POST localhost:8080/v2/vcu128_ugtcalo/0/start

Example 1: configure ugt + calo (complete)

curl -X POST localhost:8080/v2/vcu128_ugtcalo/0/reset
curl -X POST -H "Content-type: application/json" -d '{"l1ds_pipelines":{"ugt" : {"enable":1}, "calo" : {"enable":1}}, "daq_enable":[1,1], "tcp_stream_enable":[1,1,1,1,1], "tcp_daq_map" : [0, 1, 1, 1, 1], "sourceIp":["192.168.1.16", "192.168.2.17"], "destIp":["192.168.1.200", "192.168.2.202"], "sourcePort" : [[10000], [10010, 10020, 10030, 10040]], "destPort"   : [[10000], [10000, 10000, 10000, 10000]]}' localhost:8080/v2/vcu128_ugtcalo/0/configure
curl -X POST localhost:8080/v2/vcu128_ugtcalo/0/start

Example 2: only ugt and no calo (simplified)

curl -X POST localhost:8080/v2/vcu128_ugtcalo/0/reset
curl -X POST -H "Content-type: application/json" -d '{"l1ds_pipelines":{"ugt" : {"enable":1}, "calo" : {"enable":0}}}' localhost:8080/v2/vcu128_ugtcalo/0/configure
curl -X POST localhost:8080/v2/vcu128_ugtcalo/0/start

Example 2: only ugt and no calo (complete)

curl -X POST localhost:8080/v2/vcu128_ugtcalo/0/reset
curl -X POST -H "Content-type: application/json" -d '{"l1ds_pipelines":{"ugt" : {"enable":1}, "calo" : {"enable":0}}, "daq_enable":[1,0], "tcp_stream_enable":[1,0,0,0,0], "tcp_daq_map" : [0, 1, 1, 1, 1], "sourceIp":["192.168.1.16", "192.168.2.17"], "destIp":["192.168.1.200", "192.168.2.202"], "sourcePort" : [[10000], [10010, 10020, 10030, 10040]], "destPort"   : [[10000], [10000, 10000, 10000, 10000]]}' localhost:8080/v2/vcu128_ugtcalo/0/configure
curl -X POST localhost:8080/v2/vcu128_ugtcalo/0/start
Edited by Rocco Ardino

Merge request reports