Skip to content

Support for scouting pipelines firmware framework

Rocco Ardino requested to merge support_for_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

Merge request reports