My Project
Public Member Functions | List of all members
EVR Class Referenceabstract

Base interface for EVRs. More...

#include <evr.h>

Inheritance diagram for EVR:
mrf::ObjectInst< EVR > mrf::Object mrf::ObjectInst< EVRMRM, EVR > mrf::ObjectInst< EVRFRIB, EVR > EVRMRM

Public Member Functions

virtual std::string model () const =0
 Hardware model.
 
virtual MRFVersion version () const =0
 Firmware Version.
 
virtual std::string versionSw () const
 Software Version.
 
virtual std::string position () const
 Position of EVR device in enclosure.
 
virtual bool specialMapped (epicsUInt32 code, epicsUInt32 func) const =0
 
virtual double clock () const =0
 
virtual void clockSet (double clk)=0
 
virtual bool pllLocked () const =0
 Internal PLL Status.
 
virtual epicsUInt32 uSecDiv () const =0
 Approximate divider from event clock period to 1us.
 
virtual bool extInhib () const =0
 Using external hardware input for inhibit?
 
virtual void setSourceTS (TSSource)=0
 Select source which increments TS counter.
 
virtual double clockTS () const =0
 
virtual void clockTSSet (double)=0
 
virtual epicsUInt32 tsDiv () const =0
 When using internal TS source gives the divider from event clock period to TS period.
 
virtual bool interestedInEvent (epicsUInt32 event, bool set)=0
 
virtual bool getTimeStamp (epicsTimeStamp *ts, epicsUInt32 event)=0
 
virtual bool getTicks (epicsUInt32 *tks)=0
 

Additional Inherited Members

- Static Public Member Functions inherited from mrf::Object
static ObjectgetObject (const std::string &name)
 
static ObjectgetCreateObject (const std::string &name, const std::string &klass, const create_args_t &args=create_args_t())
 

Detailed Description

Base interface for EVRs.

This is the interface which the generic EVR device support will use to interact with an EVR.

Device support can use one of the functions returning IOSCANPVT to impliment get_ioint_info().

Member Function Documentation

◆ specialMapped()

virtual bool EVR::specialMapped ( epicsUInt32  code,
epicsUInt32  func 
) const
pure virtual

Hook to handle general event mapping table manipulation. Allows 'special' events only (ie heartbeat, log, led, etc) Normal mappings (pulsers, outputs) must be made through the appropriate class (Pulser, Output).

Note: this is one place where Device Support will have some depth.

Implemented in EVRMRM.

◆ clock()

virtual double EVR::clock ( ) const
pure virtual

Find current LO settings

Returns
Clock rate in Hz

Implemented in EVRMRM.

◆ clockSet()

virtual void EVR::clockSet ( double  clk)
pure virtual

Set LO frequency

Parameters
clkClock rate in Hz

Implemented in EVRMRM.

◆ clockTS()

virtual double EVR::clockTS ( ) const
pure virtual

Find current TS settings

Returns
Clock rate in Hz

Implemented in EVRMRM.

◆ clockTSSet()

virtual void EVR::clockTSSet ( double  )
pure virtual

Set TS frequency

Parameters
clkClock rate in Hz

Implemented in EVRMRM.

◆ interestedInEvent()

virtual bool EVR::interestedInEvent ( epicsUInt32  event,
bool  set 
)
pure virtual

Indicate (lack of) interest in a particular event code. This allows an EVR to ignore event codes which are not needed.

Implemented in EVRMRM.

◆ getTimeStamp()

virtual bool EVR::getTimeStamp ( epicsTimeStamp *  ts,
epicsUInt32  event 
)
pure virtual

Gives the current time stamp as sec+nsec

Parameters
tsThis pointer will be filled in with the current time
eventN<=0 Return the current wall clock time
eventN>0 Return the time the most recent event # N was received.
Returns
true When ts was updated
false When ts could not be updated

Implemented in EVRMRM.

◆ getTicks()

virtual bool EVR::getTicks ( epicsUInt32 *  tks)
pure virtual

Returns the current value of the Timestamp Event Counter

Parameters
tksPointer to be filled with the counter value
Returns
false if the counter value is not valid

Implemented in EVRMRM.


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