mrfioc2  2.3.0
Functions
evr.cpp File Reference
#include "mrf/version.h"
#include "dbCommon.h"
#include <epicsExport.h>
#include "evr/evr.h"
#include "evr/pulser.h"
#include "evr/output.h"
#include "evr/delay.h"
#include "evr/input.h"
#include "evr/prescaler.h"
#include "evr/cml.h"
Include dependency graph for evr.cpp:

Go to the source code of this file.

Functions

 OBJECT_BEGIN (EVR)
 
 OBJECT_END (EVR) OBJECT_BEGIN(Input)
 
 OBJECT_END (Input) OBJECT_BEGIN(Output)
 
 OBJECT_END (Output) OBJECT_BEGIN(Pulser)
 
 OBJECT_END (Pulser) OBJECT_BEGIN(PreScaler)
 
 OBJECT_END (PreScaler) OBJECT_BEGIN(CML)
 
 OBJECT_END (CML) OBJECT_BEGIN(DelayModuleEvr)
 

Detailed Description

Contains implimentations of the pure virtual destructors of the interfaces for C++ reasons. These must be present event though they are never called. If they are absent that linking will fail in some cases.

Definition in file evr.cpp.

Function Documentation

◆ OBJECT_BEGIN()

OBJECT_BEGIN ( EVR  )

Definition at line 96 of file evr.cpp.

96  {
97 
98  OBJECT_PROP1("Model", &EVR::model);
99 
100  OBJECT_PROP1("Version", &EVR::versionStr);
101  OBJECT_PROP1("Sw Version", &EVR::versionSw);
102 
103  OBJECT_PROP1("Position", &EVR::position);
104 
105  OBJECT_PROP1("Event Clock TS Div", &EVR::uSecDiv);
106 
107  OBJECT_PROP1("Receive Error Count", &EVR::recvErrorCount);
108  OBJECT_PROP1("Receive Error Count", &EVR::linkChanged);
109 
110  OBJECT_PROP1("FIFO Overflow Count", &EVR::FIFOFullCount);
111 
112  OBJECT_PROP1("FIFO Over rate", &EVR::FIFOOverRate);
113  OBJECT_PROP1("FIFO Event Count", &EVR::FIFOEvtCount);
114  OBJECT_PROP1("FIFO Loop Count", &EVR::FIFOLoopCount);
115 
116  OBJECT_PROP1("HB Timeout Count", &EVR::heartbeatTIMOCount);
117  OBJECT_PROP1("HB Timeout Count", &EVR::heartbeatTIMOOccured);
118 
119  OBJECT_PROP1("Timestamp Prescaler", &EVR::tsDiv);
120 
121  OBJECT_PROP2("Timestamp Source", &EVR::SourceTSraw, &EVR::setSourceTSraw);
122 
124 
125  OBJECT_PROP2("Timestamp Clock", &EVR::clockTS, &EVR::clockTSSet);
126 
127  OBJECT_PROP2("Enable", &EVR::enabled, &EVR::enable);
128 
129  OBJECT_PROP2("External Inhibit", &EVR::extInhib, &EVR::setExtInhib);
130 
131  OBJECT_PROP1("PLL Lock Status", &EVR::pllLocked);
132 
133  OBJECT_PROP1("Interrupt Count", &EVR::irqCount);
134 
135  OBJECT_PROP1("Link Status", &EVR::linkStatus);
136  OBJECT_PROP1("Link Status", &EVR::linkChanged);
137 
138  OBJECT_PROP1("Timestamp Valid", &EVR::TimeStampValid);
139  OBJECT_PROP1("Timestamp Valid", &EVR::TimeStampValidEvent);
140 
141  OBJECT_PROP1("SW Output status", &EVR::mappedOutputState);
142 
143 } OBJECT_END(EVR)
virtual std::string position() const
Position of EVR device in enclosure.
Definition: evr.cpp:53
virtual epicsUInt32 FIFOOverRate() const =0
virtual epicsUInt32 FIFOLoopCount() const =0
virtual void enable(bool)=0
virtual IOSCANPVT heartbeatTIMOOccured() const =0
virtual epicsUInt32 heartbeatTIMOCount() const =0
virtual epicsUInt32 uSecDiv() const =0
Approximate divider from event clock period to 1us.
virtual epicsUInt32 tsDiv() const =0
When using internal TS source gives the divider from event clock period to TS period.
virtual void clockSet(double clk)=0
#define OBJECT_PROP1(NAME, GET)
Definition: object.h:515
virtual epicsUInt32 FIFOFullCount() const =0
virtual epicsUInt32 FIFOEvtCount() const =0
epicsUInt32 SourceTSraw() const
Definition: evr.h:190
virtual epicsUInt32 irqCount() const =0
virtual bool extInhib() const =0
Using external hardware input for inhibit?
virtual double clockTS() const =0
std::string versionStr() const
Definition: evr.cpp:38
virtual bool TimeStampValid() const =0
virtual epicsUInt32 recvErrorCount() const =0
virtual void clockTSSet(double)=0
#define OBJECT_PROP2(NAME, GET, SET)
Definition: object.h:518
Base interface for EVRs.
Definition: evr.h:45
virtual bool pllLocked() const =0
Internal PLL Status.
virtual bool enabled() const =0
void setSourceTSraw(epicsUInt32 r)
Definition: evr.h:189
virtual double clock() const =0
virtual std::string model() const =0
Hardware model.
virtual std::string versionSw() const
Software Version.
Definition: evr.cpp:43
virtual IOSCANPVT linkChanged() const =0
virtual void setExtInhib(bool)=0
virtual bool linkStatus() const =0
OBJECT_END(EVR) OBJECT_BEGIN(Input)
Definition: evr.cpp:143
virtual bool mappedOutputState() const =0
virtual IOSCANPVT TimeStampValidEvent() const =0

◆ OBJECT_END() [1/6]

OBJECT_END ( EVR  )

Definition at line 143 of file evr.cpp.

146  {
147 
149 
150  OBJECT_PROP1("State", &Input::state);
151 
153 
154  OBJECT_PROP2("External Code", &Input::extEvt, &Input::extEvtSet);
155 
156  OBJECT_PROP2("Backwards Code", &Input::backEvt, &Input::backEvtSet);
157 
159 
161 
162  OBJECT_PROP2("DBus Mask", &Input::dbus, &Input::dbusSet);
163 
164 } OBJECT_END(Input)
virtual void edgeRiseSet(bool)=0
Set active rise/fall when using edge trigger mode.
epicsUInt16 extModeraw() const
Definition: input.h:66
virtual epicsUInt32 backEvt() const =0
virtual void backEvtSet(epicsUInt32)=0
Set the event code sent by an a backwards event.
virtual bool levelHigh() const =0
virtual epicsUInt32 extEvt() const =0
virtual void levelHighSet(bool)=0
Set active high/low when using level trigger mode.
virtual epicsUInt16 dbus() const =0
virtual bool edgeRise() const =0
#define OBJECT_PROP1(NAME, GET)
Definition: object.h:515
virtual bool state() const =0
Definition: input.h:24
epicsUInt16 backModeraw() const
Definition: input.h:69
virtual void extEvtSet(epicsUInt32)=0
Set the event code sent by an externel (local) event.
void extModeSetraw(epicsUInt16 r)
Definition: input.h:65
#define OBJECT_PROP2(NAME, GET, SET)
Definition: object.h:518
void backModeSetraw(epicsUInt16 r)
Definition: input.h:68
virtual void dbusSet(epicsUInt16)=0
Set mask of dbus bits are driven by this input.
OBJECT_END(EVR) OBJECT_BEGIN(Input)
Definition: evr.cpp:143

◆ OBJECT_END() [2/6]

OBJECT_END ( Input  )

Definition at line 164 of file evr.cpp.

167  {
168 
170 
172 
virtual epicsUInt32 source() const =0
virtual void setSource(epicsUInt32)=0
Definition: output.h:26
virtual void enable(bool)=0
virtual bool enabled() const =0
#define OBJECT_PROP2(NAME, GET, SET)
Definition: object.h:518
OBJECT_END(EVR) OBJECT_BEGIN(Input)
Definition: evr.cpp:143

◆ OBJECT_END() [3/6]

OBJECT_END ( Output  )

Definition at line 173 of file evr.cpp.

176  {
177 
180 
183 
185 
187 
189 
virtual bool polarityInvert() const =0
virtual void setDelay(double)=0
virtual void setDelayRaw(epicsUInt32)=0
virtual void setWidthRaw(epicsUInt32)=0
virtual double delay() const =0
A programmable delay unit.
Definition: pulser.h:38
virtual void setWidth(double)=0
virtual epicsUInt32 widthRaw() const =0
virtual void enable(bool)=0
#define OBJECT_PROP2(NAME, GET, SET)
Definition: object.h:518
virtual epicsUInt32 delayRaw() const =0
virtual bool enabled() const =0
virtual double width() const =0
OBJECT_END(EVR) OBJECT_BEGIN(Input)
Definition: evr.cpp:143
virtual void setPolarityInvert(bool)=0
virtual void setPrescaler(epicsUInt32)=0
virtual epicsUInt32 prescaler() const =0

◆ OBJECT_END() [4/6]

OBJECT_END ( Pulser  )

Definition at line 190 of file evr.cpp.

193  {
194 
196 
virtual epicsUInt32 prescaler() const =0
virtual void setPrescaler(epicsUInt32)=0
#define OBJECT_PROP2(NAME, GET, SET)
Definition: object.h:518
OBJECT_END(EVR) OBJECT_BEGIN(Input)
Definition: evr.cpp:143

◆ OBJECT_END() [5/6]

OBJECT_END ( PreScaler  )

Definition at line 197 of file evr.cpp.

200  {
201 
202  OBJECT_PROP2("Enable", &CML::enabled, &CML::enable);
203 
204  OBJECT_PROP2("Reset", &CML::inReset, &CML::reset);
205 
206  OBJECT_PROP2("Power", &CML::powered, &CML::power);
207 
209 
211 
212  OBJECT_PROP2("Counts High", &CML::timeHigh, &CML::setTimeHigh);
213  OBJECT_PROP2("Counts High", &CML::countHigh, &CML::setCountHigh);
214 
215  OBJECT_PROP2("Counts Low", &CML::timeLow, &CML::setTimeLow);
216  OBJECT_PROP2("Counts Low", &CML::countLow, &CML::setCountLow);
217 
218  OBJECT_PROP2("Counts Init", &CML::timeInit, &CML::setTimeInit);
219  OBJECT_PROP2("Counts Init", &CML::countInit, &CML::setCountInit);
220 
222 
223  OBJECT_PROP1("Freq Mult", &CML::freqMultiple);
224 
226 
227  OBJECT_PROP2("Waveform", &CML::getPattern<CML::patternWaveform>,
228  &CML::setPattern<CML::patternWaveform>);
229 
230  OBJECT_PROP2("Pat Rise", &CML::getPattern<CML::patternRise>,
231  &CML::setPattern<CML::patternRise>);
232 
233  OBJECT_PROP2("Pat High", &CML::getPattern<CML::patternHigh>,
234  &CML::setPattern<CML::patternHigh>);
235 
236  OBJECT_PROP2("Pat Fall", &CML::getPattern<CML::patternFall>,
237  &CML::setPattern<CML::patternFall>);
238 
239  OBJECT_PROP2("Pat Low", &CML::getPattern<CML::patternLow>,
240  &CML::setPattern<CML::patternLow>);
241 
242 } OBJECT_END(CML)
virtual bool inReset() const =0
virtual bool powered() const =0
virtual epicsUInt32 countHigh() const =0
virtual void enable(bool)=0
virtual bool enabled() const =0
virtual void setRecyclePat(bool)=0
virtual epicsUInt32 countLow() const =0
virtual void setTimeInit(double)=0
virtual void reset(bool)=0
virtual void setCountHigh(epicsUInt32)=0
void setModRaw(epicsUInt16 r)
Definition: cml.h:104
virtual double fineDelay() const =0
delay by fraction of one event clock period. Units of sec
virtual bool polarityInvert() const =0
Trigger level.
Definition: cml.h:25
virtual bool recyclePat() const =0
virtual double timeHigh() const =0
epicsUInt16 modeRaw() const
Definition: cml.h:105
#define OBJECT_PROP1(NAME, GET)
Definition: object.h:515
virtual void setFineDelay(double)=0
virtual void setTimeHigh(double)=0
virtual void setCountLow(epicsUInt32)=0
virtual void setCountInit(epicsUInt32)=0
virtual epicsUInt32 freqMultiple() const =0
Speed of CML clock as a multiple of the event clock.
#define OBJECT_PROP2(NAME, GET, SET)
Definition: object.h:518
virtual void setTimeLow(double)=0
virtual double timeLow() const =0
virtual void power(bool)=0
virtual double timeInit() const =0
OBJECT_END(EVR) OBJECT_BEGIN(Input)
Definition: evr.cpp:143
virtual void setPolarityInvert(bool)=0
virtual epicsUInt32 countInit() const =0

◆ OBJECT_END() [6/6]

OBJECT_END ( CML  )

Definition at line 242 of file evr.cpp.

244  {
245 
249 
virtual double getDelay1() const =0
virtual void setState(bool enabled)=0
virtual double getDelay0() const =0
virtual void setDelay1(double val)=0
#define OBJECT_PROP2(NAME, GET, SET)
Definition: object.h:518
virtual bool enabled() const =0
OBJECT_END(EVR) OBJECT_BEGIN(Input)
Definition: evr.cpp:143
virtual void setDelay0(double val)=0