felix-file2host - FELIX central data acquisition application

    Usage:
      felix-file2host [options --device=<device>... --cid=<cid>... --dma=<id>... --elink=DMAID:LID... --stream=DMAID:LID...] FILE

    General Options:
        --bus-dir=DIRECTORY         Write felix-bus information to this directory. [default: ./bus]
        --bus-groupname=NAME        Use this groupname for the bus. [default: FELIX]
        --cid=<cid>...              CID (Connector Ids) to set in FID (Felix ID). Can be used multiple times. [default: device]
        --did=<did>                 DID (Detector Id) to set in FID (Felix ID). [default: 0]
    -d, --device=<device>...        Use FLX device DEVICE. [default: 0]
        --error-out=<fifo>          Write error information to a UNIX FIFO
        --free-cmem                 Free previously booked cmem segment by name-<device>-<dma>
        --iface=<iface>             Send data to the interface. [calculated: use --ip value]
    -i, --ip=<ip>                   Publish data on the ip address IP. [default: libfabric:127.0.0.1]
    -b, --netio-pagesize=<size>     NetIO page size in Byte. [default: 65536]
    -B, --netio-pages=<size>        Number of NetIO pages. [default: 256]
        --stats-out=<fifo>          Write periodic statistics data to a UNIX FIFO
        --stats-period=<ms>         Period in milliseconds for statistics dumps. [default: 1000]
    -?, --help                      Give this help list
    -v, --verbose                   Produce verbose output
        --verbose-bus               Produce verbose output for bus
    -V, --version                   Print program version
        --evloop-type=<type>        Event loop type to use. [default: netio-next]
        --vid=N                     VID (Version Id) to set in FID (Felix ID) [default: 1]

    ToHost Options:
    -D, --dma=<id>                  Use DMA descriptor ID. [default: 0]
    -c, --cmem=SIZE                 CMEM buffer size in MB. [default: 512]
        --daq-unbuffered            DAQ unbuffered mode: zero-copy readout (max O(100) kHz rate per link, useful for >O(kB) messages)
    -T, --netio-timeout=SIZE        NetIO timeout in ms for DAQ traffic. [default: 2]
    -w, --netio-watermark=SIZE      NetIO watermark in Byte for DAQ traffic. [default: 57344]
        --dcs-iface=IFACE           Use this network interface for DCS traffic. [calculated: use libfabric on main iface]
        --dcs-pages=SIZE            DCS Number of NetIO pages. [default: 64]
        --dcs-pagesize=SIZE         DCS NetIO page size in Byte. [default: 1024]
    -s, --dcs-port=PORT             Publish DCS data on port PORT. [calculated: 53500 + 10*device + dma]
        --dcs-size-limit=LIMIT      Truncate DCS messages when size is above LIMIT in bytes [default: 65536]
        --dcs-timeout=SIZE          DCS NetIO timeout in ms. [default: 1]
        --dcs-unbuffered            DCS unbuffered mode.
        --dcs-watermark=SIZE        DCS NetIO watermark in Byte. [default: 972]
    -l, --l1id-check=FORMAT         Check L1ID sequence. Formats: 1=TTC2H only, 2=LATOME, 3=FMEMU, 4=FELIG, 5=NSWVMM, 6=NSWTP.
                                    Slow for unbuffered DAQ. [default: 0]
    -M, --max-chunk-size=LIMIT      Maximum chunk size in Bytes for DAQ traffic. Larger chunks are truncated. [calculated from network page size]
    -p, --port=PORT                 Publish DAQ data on port PORT. [calculated: 53100 + 10*device + dma]
    -P, --poll-period=us            Polling instead of interrupt-driven readout with the given poll period in microseconds [default: 1000]
        --threads=THREADS           Number of threads per DMA to read DAQ links [default: 1]
        --ttc-netio-pages=SIZE      TTC Number of NetIO pages. [default: 64]
        --ttc-netio-pagesize=SIZE   TTC NetIO page size in Byte. [default: 1536]
        --ttc-netio-timeout=SIZE    TTC NetIO timeout in ms. Not necessary as TTC2H buffers are flushed at end-of-block. [default: 0]
        --ttc-netio-watermark=SIZE  TTC NetIO watermark in Byte. [default: 1248]
    -t, --ttc-port=PORT              Publish TTC2H data on port PORT. [calculated: 53300 + 10*device + dma]

    File Options:
    -e, --elink=DMAID:LID ...       Enable e-link LID on DMAID e.g. 0:0x08 or 1:0x09.
        --no-of-elinks=N            Enable N additional elinks to the list passed with -e. [default: 0]
                                    Added sequentially wrt the last elink passed on same DMA id.
        --block-size=SIZE           ToHost block size, multiple of 1024. [default: 1024]
        --channels=SIZE             Number of links of emulated PCIe endpoint. [default: 12]
        --firmware=SIZE             Emulated firmware: GBT=0, FULL=1, LPGBT=9. [default: 0]
        --pcie-gen=VALUE            Used to determine FromHost data format. [default: 3]
        --file-is-fifo              Use a FIFO instead of a file. [default: 0]
        --regmap=hex_version        Register map version. [calculated: from compile definition of REGMAP_VERSION]
        --toflx-dma=VALUE           Last DMA id per PCIe endpoint, reserved for ToFlx [default: 5]
        --vmem                      Use virtual memory instead of cmem. [default: 0]

    FileToHost Options:
        --block-rate=RATE           Use to define the reading rate. [default: 0] (max.speed)
        --data-format=FMT           ToHost data format, 0(1) for subchunk trailer(headers). [default: 0]
        --no-repeat                 Do not repeat reading the file
    -u, --stream=ELINK ...          Enable elinks with streams, syntax DMAid:elink e.g. 0:0x08.

Report bugs to <https://its.cern.ch/jira/projects/FLXUSERS>.

