My Project
Public Member Functions | Public Attributes | List of all members
EVRMRM Class Reference

Modular Register Map Event Receivers. More...

#include <drvem.h>

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

Public Member Functions

virtual std::string model () const OVERRIDE FINAL
 Hardware model.
 
virtual MRFVersion version () const OVERRIDE FINAL
 Firmware Version.
 
virtual bool specialMapped (epicsUInt32 code, epicsUInt32 func) const OVERRIDE FINAL
 
virtual double clock () const OVERRIDE FINAL
 
virtual void clockSet (double) OVERRIDE FINAL
 
virtual bool pllLocked () const OVERRIDE FINAL
 Internal PLL Status.
 
virtual epicsUInt32 uSecDiv () const OVERRIDE FINAL
 Approximate divider from event clock period to 1us.
 
virtual bool extInhib () const OVERRIDE FINAL
 Using external hardware input for inhibit?
 
virtual epicsUInt32 tsDiv () const OVERRIDE FINAL
 When using internal TS source gives the divider from event clock period to TS period.
 
virtual void setSourceTS (TSSource) OVERRIDE FINAL
 Select source which increments TS counter.
 
virtual double clockTS () const OVERRIDE FINAL
 
virtual void clockTSSet (double) OVERRIDE FINAL
 
virtual bool interestedInEvent (epicsUInt32 event, bool set) OVERRIDE FINAL
 
virtual bool getTimeStamp (epicsTimeStamp *ts, epicsUInt32 event) OVERRIDE FINAL
 
virtual bool getTicks (epicsUInt32 *tks) OVERRIDE FINAL
 
bool convertTS (epicsTimeStamp *ts)
 In place conversion between raw posix sec+ticks to EPICS sec+nsec. More...
 
double dcRx () const
 Measured delay.
 
double dcInternal () const
 Delay compensation applied.
 
- Public Member Functions inherited from EVR
virtual std::string versionSw () const
 Software Version.
 
virtual std::string position () const
 Position of EVR device in enclosure.
 

Public Attributes

epicsMutex evrLock
 Guards access to instance All callers must take this lock before any operations on this object.
 

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

Modular Register Map Event Receivers.

Member Function Documentation

◆ specialMapped()

bool EVRMRM::specialMapped ( epicsUInt32  code,
epicsUInt32  func 
) const
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.

Implements EVR.

References evrLock.

◆ clock()

virtual double EVRMRM::clock ( ) const
inlinevirtual

Find current LO settings

Returns
Clock rate in Hz

Implements EVR.

Referenced by clockTS(), clockTSSet(), dcInternal(), dcRx(), and setSourceTS().

◆ clockSet()

void EVRMRM::clockSet ( double  clk)
virtual

Set LO frequency

Parameters
clkClock rate in Hz

Implements EVR.

References evrLock, FracSynthAnalyze(), FracSynthControlWord(), and model().

◆ clockTS()

double EVRMRM::clockTS ( ) const
virtual

Find current TS settings

Returns
Clock rate in Hz

Implements EVR.

References clock(), and tsDiv().

Referenced by convertTS(), and setSourceTS().

◆ clockTSSet()

void EVRMRM::clockTSSet ( double  )
virtual

Set TS frequency

Parameters
clkClock rate in Hz

Implements EVR.

References clock(), and evrLock.

◆ interestedInEvent()

bool EVRMRM::interestedInEvent ( epicsUInt32  event,
bool  set 
)
virtual

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

Implements EVR.

References evrLock.

◆ getTimeStamp()

bool EVRMRM::getTimeStamp ( epicsTimeStamp *  ts,
epicsUInt32  event 
)
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

Implements EVR.

References convertTS(), and evrLock.

◆ getTicks()

bool EVRMRM::getTicks ( epicsUInt32 *  tks)
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

Implements EVR.

◆ convertTS()

bool EVRMRM::convertTS ( epicsTimeStamp *  ts)

In place conversion between raw posix sec+ticks to EPICS sec+nsec.

Returns
false if conversion failed

References clockTS(), and model().

Referenced by getTimeStamp().


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