felix-star

Contents:

  • Introduction
  • Software Architecture
  • Common Components
  • felix-tohost
  • felix-toflx
  • felix-register
  • Complete Doxygen
felix-star
  • Program Listing for File elink.hpp
  • View page source

Program Listing for File elink.hpp

↰ Return to documentation for file (elink.hpp)

 #ifndef FELIX_ELINK_H_
#define FELIX_ELINK_H_

#include <cstdint>

typedef uint16_t local_elink_t;
typedef uint64_t felix_id_t;


enum elink_type_t : uint8_t {
    NONE_ELINK_TYPE,
    DAQ,
    TTC,
    DCS,
    IC
};


enum encoding_t : uint8_t {
    ENC_DIRECT,
    ENC_8b10b,
    ENC_HDLC,
    ENC_TTC
#if REGMAP_VERSION >= 0x0500
    ,
    ENC_8b10b_STRIPS,
    ITk_ItkPixel,
    Endeavour,
    ENC_INTERLAKEN
#endif
};


struct Elink {
    felix_id_t fid;
    local_elink_t lid;
    bool has_streams;
    elink_type_t type;
    encoding_t enc;

    Elink(felix_id_t f, local_elink_t l, bool s, elink_type_t t, encoding_t e) :
        fid(f), lid(l), has_streams(s), type(t), enc(e) {};

    explicit Elink(felix_id_t f) :
        fid(f), lid(0), has_streams(false), type(NONE_ELINK_TYPE), enc(ENC_DIRECT) {};
};

#endif /* FELIX_ELINK_H_ */

© Copyright 2024, ATLAS TDAQ Collaboration.

Built with Sphinx using a theme provided by Read the Docs.