29 shadowSource = sourceInternal();
40 return shadowSource&0xff;
46 return (shadowSource>>8)&0xff;
52 if( ! ( (v<=63 && v>=61) ||
57 throw std::out_of_range(
"Mapping code is out of range");
59 shadowSource &= 0xff00;
69 if( ! ( (v<=63 && v>=61) ||
74 throw std::out_of_range(
"Mapping code is out of range");
76 shadowSource &= 0x00ff;
101 MRMOutput::sourceInternal()
const 106 return READ32(owner->
base, IRQPulseMap) & 0xffff;
108 val =
READ32(owner->
base, OutputMapFP(N));
break;
110 val =
READ32(owner->
base, OutputMapFPUniv(N));
break;
112 val =
READ32(owner->
base, OutputMapRB(N));
break;
114 val =
READ32(owner->
base, OutputMapBackplane(N));
break;
122 MRMOutput::setSourceInternal()
124 epicsUInt32 regval = shadowSource;
133 val =
READ32(owner->
base, OutputMapFP(N));
break;
135 val =
READ32(owner->
base, OutputMapFPUniv(N));
break;
137 val =
READ32(owner->
base, OutputMapRB(N));
break;
139 val =
READ32(owner->
base, OutputMapBackplane(N));
break;
151 WRITE32(owner->
base, OutputMapFPUniv(N), val);
break;
155 WRITE32(owner->
base, OutputMapBackplane(N), val);
break;
#define READ32(base, offset)
MRMOutput(const std::string &n, EVRMRM *owner, OutputType t, unsigned int idx)
virtual void setSource(epicsUInt32) OVERRIDE FINAL
volatile unsigned char *const base
virtual void lock() const OVERRIDE FINAL
virtual void enable(bool) OVERRIDE FINAL
#define OBJECT_BEGIN2(klass, Base)
Modular Register Map Event Receivers.
virtual epicsUInt32 source() const OVERRIDE FINAL
virtual void unlock() const OVERRIDE FINAL
void setSource2(epicsUInt32)
virtual bool enabled() const OVERRIDE FINAL
virtual void lock() const OVERRIDE FINAL
#define OBJECT_END(klass)
OBJECT_PROP2("Map2", &MRMOutput::source2, &MRMOutput::setSource2)
epicsUInt32 source2() const
#define WRITE32(base, offset, value)
virtual void unlock() const OVERRIDE FINAL