Class FEBSlowcontrolInterface

ClassList > FEBSlowcontrolInterface

Inherited by the following classes: DummyFEBSlowcontrolInterface

Public Types

Type Name
enum ADDRS
enum ERRCODES
enum OFFSETS

Public Static Attributes

Type Name
constexpr uint32_t MIN_SC_MESSAGE_SIZE = 4

Public Functions

Type Name
virtual void FEBEnable ()
FEBSlowcontrolInterface (mudaq::MudaqDevice & mdev)
FEBSlowcontrolInterface () = delete
FEBSlowcontrolInterface (const FEBSlowcontrolInterface &) = delete
virtual int FEB_broadcast (const uint32_t startaddr, const uint32_t data)
virtual int FEB_broadcast (const uint32_t startaddr, const vector< uint32_t > & data, const bool nonincrementing=false)
virtual int FEB_ping (uint32_t febIDx)
virtual int FEB_read (uint32_t febIDx, const uint32_t startaddr, vector< uint32_t > & data, const bool nonincrementing=false)
virtual int FEB_read (uint32_t febIDx, const uint32_t startaddr, uint32_t & data)
virtual int FEB_write (uint32_t febIDx, const uint32_t startaddr, const vector< uint32_t > & data, const bool nonincrementing=false, const bool broadcast=false, const uint32_t MSTR_bar=0)
virtual int FEB_write (uint32_t febIDx, const uint32_t startaddr, const uint32_t data)
virtual int FEBsc_NiosRPC (uint32_t febIDx, uint16_t command, vector< vector< uint32_t > > payload_chunks)
virtual void FEBsc_resetMain ()
virtual void FEBsc_resetSecondary ()
virtual uint32_t FPGAHistoGetContent (uint32_t idx)
virtual void FPGAHistoInit (int febNumber, int chipNumber)
virtual void FPGAHistoStart ()
virtual void FPGAHistoStop ()
FEBSlowcontrolInterface & operator= (const FEBSlowcontrolInterface &) = delete
virtual void write_register (uint32_t addr, uint32_t value)
virtual ~FEBSlowcontrolInterface ()

Protected Attributes

Type Name
uint32_t last_fpga_rmem_addr
uint32_t m_FEBsc_rmem_addr
uint32_t m_FEBsc_wmem_addr
mudaq::MudaqDevice & mdev
std::mutex sc_mutex
deque< SC_reply_packet > sc_packet_deque

Protected Functions

Type Name
SC_reply_packet & FEBsc_peek_packet ()
SC_reply_packet FEBsc_pop_packet ()
int FEBsc_read_packets ()
void rmenaddrIncr ()

Public Types Documentation

enum ADDRS

enum FEBSlowcontrolInterface::ADDRS {
    BROADCAST_ADDR = 0xFFFFFFFF
};

enum ERRCODES

enum FEBSlowcontrolInterface::ERRCODES {
    ADDR_INVALID = -20,
    SIZE_INVALID,
    SIZE_ZERO,
    FPGA_BUSY,
    FPGA_TIMEOUT,
    BAD_PACKET,
    WRONG_SIZE,
    NIOS_RPC_TIMEOUT,
    OK = 0
};

enum OFFSETS

enum FEBSlowcontrolInterface::OFFSETS {
    FEBsc_RPC_DATAOFFSET = 0
};

Public Static Attributes Documentation

variable MIN_SC_MESSAGE_SIZE

constexpr uint32_t FEBSlowcontrolInterface::MIN_SC_MESSAGE_SIZE;

Public Functions Documentation

function FEBEnable

virtual void FEBSlowcontrolInterface::FEBEnable () 

function FEBSlowcontrolInterface [1/3]

FEBSlowcontrolInterface::FEBSlowcontrolInterface (
    mudaq::MudaqDevice & mdev
) 

function FEBSlowcontrolInterface [2/3]

FEBSlowcontrolInterface::FEBSlowcontrolInterface () = delete

function FEBSlowcontrolInterface [3/3]

FEBSlowcontrolInterface::FEBSlowcontrolInterface (
    const FEBSlowcontrolInterface &
) = delete

function FEB_broadcast [1/2]

virtual int FEBSlowcontrolInterface::FEB_broadcast (
    const uint32_t startaddr,
    const uint32_t data
) 

function FEB_broadcast [2/2]

virtual int FEBSlowcontrolInterface::FEB_broadcast (
    const uint32_t startaddr,
    const vector< uint32_t > & data,
    const bool nonincrementing=false
) 

function FEB_ping

virtual int FEBSlowcontrolInterface::FEB_ping (
    uint32_t febIDx
) 

function FEB_read [1/2]

virtual int FEBSlowcontrolInterface::FEB_read (
    uint32_t febIDx,
    const uint32_t startaddr,
    vector< uint32_t > & data,
    const bool nonincrementing=false
) 

function FEB_read [2/2]

virtual int FEBSlowcontrolInterface::FEB_read (
    uint32_t febIDx,
    const uint32_t startaddr,
    uint32_t & data
) 

function FEB_write [1/2]

virtual int FEBSlowcontrolInterface::FEB_write (
    uint32_t febIDx,
    const uint32_t startaddr,
    const vector< uint32_t > & data,
    const bool nonincrementing=false,
    const bool broadcast=false,
    const uint32_t MSTR_bar=0
) 

function FEB_write [2/2]

virtual int FEBSlowcontrolInterface::FEB_write (
    uint32_t febIDx,
    const uint32_t startaddr,
    const uint32_t data
) 

function FEBsc_NiosRPC

virtual int FEBSlowcontrolInterface::FEBsc_NiosRPC (
    uint32_t febIDx,
    uint16_t command,
    vector< vector< uint32_t > > payload_chunks
) 

function FEBsc_resetMain

virtual void FEBSlowcontrolInterface::FEBsc_resetMain () 

function FEBsc_resetSecondary

virtual void FEBSlowcontrolInterface::FEBsc_resetSecondary () 

function FPGAHistoGetContent

virtual uint32_t FEBSlowcontrolInterface::FPGAHistoGetContent (
    uint32_t idx
) 

function FPGAHistoInit

virtual void FEBSlowcontrolInterface::FPGAHistoInit (
    int febNumber,
    int chipNumber
) 

function FPGAHistoStart

virtual void FEBSlowcontrolInterface::FPGAHistoStart () 

function FPGAHistoStop

virtual void FEBSlowcontrolInterface::FPGAHistoStop () 

function operator=

FEBSlowcontrolInterface & FEBSlowcontrolInterface::operator= (
    const FEBSlowcontrolInterface &
) = delete

function write_register

virtual void FEBSlowcontrolInterface::write_register (
    uint32_t addr,
    uint32_t value
) 

function ~FEBSlowcontrolInterface

virtual FEBSlowcontrolInterface::~FEBSlowcontrolInterface () 

Protected Attributes Documentation

variable last_fpga_rmem_addr

uint32_t FEBSlowcontrolInterface::last_fpga_rmem_addr;

variable m_FEBsc_rmem_addr

uint32_t FEBSlowcontrolInterface::m_FEBsc_rmem_addr;

variable m_FEBsc_wmem_addr

uint32_t FEBSlowcontrolInterface::m_FEBsc_wmem_addr;

variable mdev

mudaq::MudaqDevice& FEBSlowcontrolInterface::mdev;

variable sc_mutex

std::mutex FEBSlowcontrolInterface::sc_mutex;

variable sc_packet_deque

deque<SC_reply_packet> FEBSlowcontrolInterface::sc_packet_deque;

Protected Functions Documentation

function FEBsc_peek_packet

SC_reply_packet & FEBSlowcontrolInterface::FEBsc_peek_packet () 

function FEBsc_pop_packet

SC_reply_packet FEBSlowcontrolInterface::FEBsc_pop_packet () 

function FEBsc_read_packets

int FEBSlowcontrolInterface::FEBsc_read_packets () 

function rmenaddrIncr

inline void FEBSlowcontrolInterface::rmenaddrIncr () 


The documentation for this class was generated from the following file midas_fe/libmudaq/FEBSlowcontrolInterface.h