11 #ifndef EVRMRMPULSER_H_INC 12 #define EVRMRMPULSER_H_INC 14 #include <epicsMutex.h> 30 virtual void lock()
const OVERRIDE FINAL;
31 virtual void unlock()
const OVERRIDE FINAL;
33 virtual bool enabled()
const OVERRIDE FINAL;
34 virtual void enable(
bool) OVERRIDE FINAL;
36 virtual void setDelayRaw(epicsUInt32) OVERRIDE FINAL;
37 virtual void setDelay(
double) OVERRIDE FINAL;
38 virtual epicsUInt32
delayRaw()
const OVERRIDE FINAL;
39 virtual double delay()
const OVERRIDE FINAL;
41 virtual void setWidthRaw(epicsUInt32) OVERRIDE FINAL;
42 virtual void setWidth(
double) OVERRIDE FINAL;
43 virtual epicsUInt32
widthRaw()
const OVERRIDE FINAL;
44 virtual double width()
const OVERRIDE FINAL;
46 virtual epicsUInt32
prescaler()
const OVERRIDE FINAL;
54 epicsUInt32
masks()
const;
63 unsigned char mapped[256/8];
65 void _map(epicsUInt8 evt) { mapped[evt/8] |= 1<<(evt%8); }
66 void _unmap(epicsUInt8 evt) { mapped[evt/8] &= ~( 1<<(evt%8) );}
67 bool _ismap(epicsUInt8 evt)
const {
return (mapped[evt/8] & 1<<(evt%8)) != 0; }
70 #endif // EVRMRMPULSER_H_INC
epicsUInt32 masks() const
virtual epicsUInt32 delayRaw() const OVERRIDE FINAL
virtual void enable(bool) OVERRIDE FINAL
virtual double width() const OVERRIDE FINAL
virtual void setDelayRaw(epicsUInt32) OVERRIDE FINAL
virtual void setPrescaler(epicsUInt32) OVERRIDE FINAL
virtual epicsUInt32 prescaler() const OVERRIDE FINAL
Modular Register Map Event Receivers.
virtual void unlock() const OVERRIDE FINAL
virtual epicsUInt32 widthRaw() const OVERRIDE FINAL
virtual bool enabled() const OVERRIDE FINAL
virtual void setDelay(double) OVERRIDE FINAL
virtual bool polarityInvert() const OVERRIDE FINAL
virtual void setWidth(double) OVERRIDE FINAL
virtual MapType::type mappedSource(epicsUInt32 src) const OVERRIDE FINAL
What action is source 'src' mapped to?
MRMPulser(const std::string &n, epicsUInt32, EVRMRM &)
User implementation hook.
virtual void sourceSetMap(epicsUInt32 src, MapType::type action) OVERRIDE FINAL
Set mapping of source 'src'.
void setEnables(epicsUInt32 inps)
virtual void setPolarityInvert(bool) OVERRIDE FINAL
virtual void lock() const OVERRIDE FINAL
void setMasks(epicsUInt32 inps)
epicsUInt32 enables() const
virtual double delay() const OVERRIDE FINAL
virtual void setWidthRaw(epicsUInt32) OVERRIDE FINAL