tdaq-develop-2025-02-12
ots::FrontEndFirmwareBase Class Reference
Inheritance diagram for ots::FrontEndFirmwareBase:
ots::OtsUDPFirmwareCore ots::OtsUDPFirmwareDataGen ots::FEOtsUDPProducerTemplateInterface ots::FEOtsUDPTemplateInterface

Public Member Functions

 FrontEndFirmwareBase (unsigned int version=-1)
 
virtual void init (void)
 
unsigned int getVersion ()
 
virtual std::string read (char *)
 
virtual void read (std::string &, char *, bool=true)
 
virtual void read (std::string &, uint64_t, bool=true)
 
virtual void read (std::string &, uint32_t, bool=true)
 
virtual std::string write (char *, char *)
 
virtual void write (std::string &, char *, char *, bool=true)
 
virtual void setDataDestination (std::string &, const std::string &, const uint16_t, bool=true)
 
virtual void write (std::string &, uint64_t, uint64_t, bool=true)
 
virtual void write (std::string &, uint32_t, uint32_t, bool=true)
 
virtual void waitSet (std::string &, uint32_t, uint32_t, uint32_t=255, bool=true)
 
virtual void waitClear (std::string &, uint32_t, uint32_t, uint32_t=255, bool=true)
 
virtual unsigned int getNumberOfBufferedCommands (std::string &)
 
virtual uint32_t createRegisterFromValue (std::string &, std::string &)
 

Public Attributes

const unsigned int version_
 

Detailed Description

Definition at line 12 of file FrontEndFirmwareBase.h.

Constructor & Destructor Documentation

◆ FrontEndFirmwareBase()

ots::FrontEndFirmwareBase::FrontEndFirmwareBase ( unsigned int  version = -1)
inline

factory method for choosing network protocol

FrontEndFirmwareBase (void){;}

Definition at line 18 of file FrontEndFirmwareBase.h.

Member Function Documentation

◆ createRegisterFromValue()

virtual uint32_t ots::FrontEndFirmwareBase::createRegisterFromValue ( std::string &  ,
std::string &   
)
inlinevirtual

virtual std::string compareSendAndReceive (const std::string& sentBuffer, std::string& acknowledgment) {SS; THROW(ss.str() + "Illegal call to undefined base class member function"); return "";};

Reimplemented in ots::OtsUDPFirmwareCore.

Definition at line 132 of file FrontEndFirmwareBase.h.

◆ read()

virtual std::string ots::FrontEndFirmwareBase::read ( char *  )
inlinevirtual

These should never be called directly if used correctly, but not all classes will implement every function (so no pure virtuals). Should be obvious that the wrong thing is happening if these are called because exceptions are thrown!

Reimplemented in ots::OtsUDPFirmwareCore.

Definition at line 29 of file FrontEndFirmwareBase.h.

Member Data Documentation

◆ version_

const unsigned int ots::FrontEndFirmwareBase::version_

virtual uint64_t createRegisterFromValue (std::string& readBuffer, std::string& receivedValue) {SS; THROW(ss.str() + "Illegal call to undefined base class member function"); return 0;};

purdue firmware virtual std::string setDataDestination (std::string ip, unsigned int port); virtual unsigned int waitSet (std::string& buffer, unsigned int address, unsigned int data, unsigned int timeout = 255); virtual unsigned int waitClear (std::string& buffer, unsigned int address, unsigned int data, unsigned int timeout = 255); virtual unsigned int getNumberOfBufferedCommands (std::string& buffer); virtual std::string compareSendAndReceive (const std::string& sentBuffer, std::string& acknowledgment); virtual uint32_t createRegisterFromValue (std::string& readBuffer, std::string& receivedValue);

FSSROtsFirmware virtual void makeDACSequence (FirmwareSequence<uint64_t>& sequence, unsigned int channel, const ROCStream& rocStream); virtual void makeMaskSequence (FirmwareSequence<uint64_t>& sequence, unsigned int channel, const ROCStream& rocStream); virtual void makeDACSequence (FirmwareSequence<uint32_t>& sequence, unsigned int channel, const ROCStream& rocStream); virtual void makeDACBuffer (std::string& buffer, unsigned int channel, const ROCStream& rocStream); virtual void makeDACBuffer (std::vector<std::string>& buffer, unsigned int channel, const ROCStream& rocStream); virtual void makeMaskSequence (FirmwareSequence<uint32_t>& sequence, unsigned int channel, const ROCStream& rocStream); virtual void makeMaskBuffer (std::string& buffer, unsigned int channel, const ROCStream& rocStream);

for generic interface virtual std::string readCSRRegister(void) { SS; THROW(ss.str() + "Illegal call to undefined base class member function"); std::cout << COUT_HDR_FL << "Something bad happened!" << std::endl; return ""; }; virtual void makeDACBuffer(std::vector<std::string>& buffer, unsigned int channel, const ROCStream& rocStream){SS; THROW(ss.str() + "Illegal call to undefined base class member function"); return;}; virtual void makeMaskBuffer(std::string& buffer, unsigned int channel, const ROCStream& rocStream){SS; THROW(ss.str() + "Illegal call to undefined base class member function"); return;};

static FrontEndFirmwareBase* getInstance(std::string choice, unsigned int version);

Definition at line 189 of file FrontEndFirmwareBase.h.


The documentation for this class was generated from the following file: