mrfioc2
2.3.0
|
Modular Register Map Event Receivers. More...
#include <drvem.h>
Classes | |
struct | Config |
Public Member Functions | |
EVRMRM (const std::string &n, bus_configuration &busConfig, const Config *c, volatile unsigned char *, epicsUInt32) | |
virtual | ~EVRMRM () |
virtual void | lock () const OVERRIDE FINAL |
virtual void | unlock () const OVERRIDE FINAL |
virtual std::string | model () const OVERRIDE FINAL |
Hardware model. More... | |
epicsUInt32 | fpgaFirmware () |
formFactor | getFormFactor () |
std::string | formFactorStr () |
virtual MRFVersion | version () const OVERRIDE FINAL |
Firmware Version. More... | |
virtual bool | enabled () const OVERRIDE FINAL |
virtual void | enable (bool v) OVERRIDE FINAL |
virtual bool | mappedOutputState () const OVERRIDE FINAL |
MRMGpio * | gpio () |
virtual bool | specialMapped (epicsUInt32 code, epicsUInt32 func) const OVERRIDE FINAL |
virtual void | specialSetMap (epicsUInt32 code, epicsUInt32 func, bool) OVERRIDE FINAL |
virtual double | clock () const OVERRIDE FINAL |
virtual void | clockSet (double) OVERRIDE FINAL |
epicsUInt16 | clockMode () const |
void | clockModeSet (epicsUInt16 mode) |
virtual bool | pllLocked () const OVERRIDE FINAL |
Internal PLL Status. More... | |
virtual epicsUInt32 | irqCount () const OVERRIDE FINAL |
virtual bool | linkStatus () const OVERRIDE FINAL |
virtual IOSCANPVT | linkChanged () const OVERRIDE FINAL |
virtual epicsUInt32 | recvErrorCount () const OVERRIDE FINAL |
virtual epicsUInt32 | uSecDiv () const OVERRIDE FINAL |
Approximate divider from event clock period to 1us. More... | |
virtual bool | extInhib () const OVERRIDE FINAL |
Using external hardware input for inhibit? More... | |
virtual void | setExtInhib (bool) OVERRIDE FINAL |
virtual epicsUInt32 | tsDiv () const OVERRIDE FINAL |
When using internal TS source gives the divider from event clock period to TS period. More... | |
virtual void | setSourceTS (TSSource) OVERRIDE FINAL |
Select source which increments TS counter. More... | |
virtual TSSource | SourceTS () const OVERRIDE FINAL |
virtual double | clockTS () const OVERRIDE FINAL |
virtual void | clockTSSet (double) OVERRIDE FINAL |
virtual bool | interestedInEvent (epicsUInt32 event, bool set) OVERRIDE FINAL |
virtual bool | TimeStampValid () const OVERRIDE FINAL |
virtual IOSCANPVT | TimeStampValidEvent () const OVERRIDE FINAL |
virtual bool | getTimeStamp (epicsTimeStamp *ts, epicsUInt32 event) OVERRIDE FINAL |
virtual bool | getTicks (epicsUInt32 *tks) OVERRIDE FINAL |
virtual IOSCANPVT | eventOccurred (epicsUInt32 event) const OVERRIDE FINAL |
virtual void | eventNotifyAdd (epicsUInt32, eventCallback, void *) OVERRIDE FINAL |
virtual void | eventNotifyDel (epicsUInt32, eventCallback, void *) OVERRIDE FINAL |
bool | convertTS (epicsTimeStamp *ts) |
In place conversion between raw posix sec+ticks to EPICS sec+nsec. More... | |
virtual epicsUInt16 | dbus () const OVERRIDE FINAL |
virtual epicsUInt32 | heartbeatTIMOCount () const OVERRIDE FINAL |
virtual IOSCANPVT | heartbeatTIMOOccured () const OVERRIDE FINAL |
virtual epicsUInt32 | FIFOFullCount () const OVERRIDE FINAL |
virtual epicsUInt32 | FIFOOverRate () const OVERRIDE FINAL |
virtual epicsUInt32 | FIFOEvtCount () const OVERRIDE FINAL |
virtual epicsUInt32 | FIFOLoopCount () const OVERRIDE FINAL |
void | enableIRQ (void) |
bool | dcEnabled () const |
void | dcEnable (bool v) |
double | dcTarget () const |
void | dcTargetSet (double) |
double | dcRx () const |
Measured delay. More... | |
double | dcInternal () const |
Delay compensation applied. More... | |
epicsUInt32 | dcStatusRaw () const |
epicsUInt32 | topId () const |
epicsUInt32 | dummy () const |
void | setEvtCode (epicsUInt32 code) OVERRIDE FINAL |
epicsUInt32 | timeSrc () const |
void | setTimeSrc (epicsUInt32 mode) |
Public Member Functions inherited from mrf::ObjectInst< EVRMRM, EVR > | |
virtual propertyBase * | getPropertyBase (const char *pname, const std::type_info &ptype) |
virtual void | visitProperties (bool(*cb)(propertyBase *, void *), void *arg) |
Public Member Functions inherited from EVR | |
EVR (const std::string &n, bus_configuration &busConfig) | |
virtual | ~EVR ()=0 |
std::string | versionStr () const |
virtual std::string | versionSw () const |
Software Version. More... | |
virtual std::string | position () const |
Position of EVR device in enclosure. More... | |
bus_configuration * | getBusConfiguration () |
void | setSourceTSraw (epicsUInt32 r) |
epicsUInt32 | SourceTSraw () const |
Public Member Functions inherited from mrf::Object | |
const std::string & | name () const |
const Object * | parent () const |
child_iterator | beginChild () const |
child_iterator | endChild () const |
template<typename P > | |
mrf::auto_ptr< property< P > > | getProperty (const char *pname) |
Public Member Functions inherited from MRMSPI | |
MRMSPI (volatile unsigned char *base) | |
virtual | ~MRMSPI () |
virtual void | select (unsigned id) OVERRIDE FINAL |
Select numbered device. 0 clears selection. More... | |
virtual epicsUInt8 | cycle (epicsUInt8 in) OVERRIDE FINAL |
Public Member Functions inherited from mrf::SPIInterface | |
SPIInterface () | |
virtual | ~SPIInterface () |
virtual void | cycles (size_t nops, const Operation *ops) |
double | timeout () const |
timeout in seconds for an individual cycle() More... | |
void | setTimeout (double t) |
Public Member Functions inherited from TimeStampSource | |
TimeStampSource (double period) | |
virtual | ~TimeStampSource () |
void | resyncSecond () |
Call to re-initialize timestamp counter from system time. More... | |
void | tickSecond () |
Call just after the start of each second. More... | |
bool | validSeconds () const |
Whether tickSecond() has been called for the past 5 seconds. More... | |
double | deltaSeconds () const |
last difference between More... | |
void | softSecondsSrc (bool enable) |
enable sending of event 125 by software timer. Simulation of external HW clock More... | |
bool | isSoftSeconds () const |
std::string | nextSecond () const |
Static Public Member Functions | |
static void | isr (EVRMRM *evr, bool pci) |
static void | isr_pci (void *) |
static void | isr_vme (void *) |
static void | isr_poll (void *) |
Static Public Member Functions inherited from mrf::ObjectInst< EVRMRM, EVR > | |
static int | initObject () |
Static Public Member Functions inherited from mrf::ObjectInst< EVR > | |
static int | initObject () |
Static Public Member Functions inherited from mrf::Object | |
static Object * | getObject (const std::string &name) |
static Object * | getCreateObject (const std::string &name, const std::string &klass, const create_args_t &args=create_args_t()) |
static void | addFactory (const std::string &klass, create_factory_t fn) |
static void | visitObjects (bool(*)(Object *, void *), void *) |
Public Attributes | |
epicsMutex | evrLock |
Guards access to instance All callers must take this lock before any operations on this object. More... | |
const Config *const | conf |
volatile unsigned char *const | base |
epicsUInt32 | baselen |
mrmDataBufTx | buftx |
mrmBufRx | bufrx |
mrf::auto_ptr< SFP > | sfp |
Friends | |
struct | EVRMRMTSBuffer |
Additional Inherited Members | |
Public Types inherited from EVR | |
typedef void(* | eventCallback) (void *userarg, epicsUInt32 event) |
Public Types inherited from mrf::Object | |
typedef m_obj_children_t::const_iterator | child_iterator |
typedef std::map< std::string, std::string > | create_args_t |
typedef Object *(* | create_factory_t) (const std::string &name, const std::string &klass, const create_args_t &args) |
Protected Member Functions inherited from mrf::ObjectInst< EVRMRM, EVR > | |
ObjectInst (const std::string &n) | |
ObjectInst (const std::string &n, A &a) | |
virtual | ~ObjectInst () |
Protected Member Functions inherited from mrf::ObjectInst< EVR > | |
ObjectInst (const std::string &n) | |
ObjectInst (const std::string &n, A &a) | |
Protected Member Functions inherited from mrf::Object | |
Object (const std::string &n, const Object *par=0) | |
virtual | ~Object ()=0 |
Protected Member Functions inherited from TimeStampSource | |
virtual void | postSoftSecondsSrc () |
Protected Attributes inherited from mrf::SPIInterface | |
epicsMutex | mutex |
EVRMRM::EVRMRM | ( | const std::string & | n, |
bus_configuration & | busConfig, | ||
const Config * | c, | ||
volatile unsigned char * | b, | ||
epicsUInt32 | bl | ||
) |
Definition at line 120 of file drvem.cpp.
|
virtual |
Definition at line 370 of file drvem.cpp.
|
inlinevirtual |
Find current LO settings
Implements EVR.
Definition at line 141 of file drvem.h.
|
virtual |
Set LO frequency
clk | Clock rate in Hz |
Implements EVR.
Definition at line 570 of file drvem.cpp.
|
virtual |
Find current TS settings
Implements EVR.
Definition at line 704 of file drvem.cpp.
|
virtual |
Set TS frequency
clk | Clock rate in Hz |
Implements EVR.
Definition at line 721 of file drvem.cpp.
bool EVRMRM::convertTS | ( | epicsTimeStamp * | ts | ) |
|
virtual |
double EVRMRM::dcInternal | ( | ) | const |
|
inline |
|
virtual |
Implements EVR.
Definition at line 483 of file drvem.cpp.
|
virtual |
Implements EVR.
Definition at line 920 of file drvem.cpp.
|
virtual |
Implements EVR.
Definition at line 933 of file drvem.cpp.
|
virtual |
|
virtual |
|
inlinevirtual |
|
inlinevirtual |
Implements EVR.
Definition at line 188 of file drvem.h.
|
inlinevirtual |
|
inlinevirtual |
Implements EVR.
Definition at line 190 of file drvem.h.
std::string EVRMRM::formFactorStr | ( | ) |
Definition at line 430 of file drvem.cpp.
formFactor EVRMRM::getFormFactor | ( | ) |
Definition at line 421 of file drvem.cpp.
|
virtual |
|
virtual |
Gives the current time stamp as sec+nsec
ts | This pointer will be filled in with the current time |
event | N<=0 Return the current wall clock time |
event | N>0 Return the time the most recent event # N was received. |
Implements EVR.
Definition at line 775 of file drvem.cpp.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Indicate (lack of) interest in a particular event code. This allows an EVR to ignore event codes which are not needed.
Implements EVR.
Definition at line 745 of file drvem.cpp.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Implements mrf::Object.
Definition at line 121 of file drvem.h.
|
virtual |
|
virtual |
|
virtual |
Internal PLL Status.
Implements EVR.
Definition at line 649 of file drvem.cpp.
|
inlinevirtual |
|
virtual |
Implements TimeStampSource.
Definition at line 1010 of file drvem.cpp.
|
virtual |
Implements EVR.
Definition at line 639 of file drvem.cpp.
|
virtual |
Select source which increments TS counter.
Implements EVR.
Definition at line 665 of file drvem.cpp.
void EVRMRM::setTimeSrc | ( | epicsUInt32 | mode | ) |
Definition at line 1039 of file drvem.cpp.
|
inlinevirtual |
Implements EVR.
Definition at line 166 of file drvem.h.
|
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.
Definition at line 505 of file drvem.cpp.
|
virtual |
Implements EVR.
Definition at line 524 of file drvem.cpp.
epicsUInt32 EVRMRM::timeSrc | ( | ) | const |
Definition at line 1033 of file drvem.cpp.
|
virtual |
Implements EVR.
Definition at line 768 of file drvem.cpp.
|
inlinevirtual |
|
inlinevirtual |
When using internal TS source gives the divider from event clock period to TS period.
Implements EVR.
Definition at line 162 of file drvem.h.
|
inlinevirtual |
Implements mrf::Object.
Definition at line 122 of file drvem.h.
|
virtual |
|
virtual |
|
friend |
mrmDataBufTx EVRMRM::buftx |
|
mutable |