18 #include <epicsMutex.h> 19 #include <epicsTimer.h> 21 #include <epicsTime.h> 22 #include <generalTimeSup.h> 23 #include <epicsThread.h> 24 #include <epicsEvent.h> 25 #include <epicsMutex.h> 27 #include <devLibPCI.h> 68 evgMrm(
const std::string&
id,
71 volatile epicsUInt8*
const base,
72 const epicsPCIDevice* pciDevice);
78 virtual void lock()
const{};
83 const std::string
getId()
const;
132 static void init_cb(CALLBACK*,
int,
void(*)(CALLBACK*),
void*);
158 const std::string m_id;
159 volatile epicsUInt8*
const m_pReg;
162 epicsFloat64 m_RFref;
163 epicsFloat64 m_fracSynFreq;
172 typedef std::vector<evgTrigEvt*> TrigEvt_t;
175 typedef std::vector<evgMxc*> MuxCounter_t;
176 MuxCounter_t m_muxCounter;
178 typedef std::vector<evgDbus*> Dbus_t;
181 typedef std::map< std::pair<epicsUInt32, InputType>,
evgInput*> Input_t;
190 typedef std::map< std::pair<epicsUInt32, evgOutputType>,
evgOutput*> Output_t;
193 epicsEvent m_timerEvent;
195 epicsUInt32 shadowIrqEnable;
198 mrf::auto_ptr<FCT> fct;
199 mrf::auto_ptr<EVRMRM> evru, evrd;
epicsEvent * getTimerEvent()
std::string getFwVersionStr() const
static void isr_vme(void *)
std::string getSwVersion() const
IOSCANPVT timeErrorScan() const
epicsFloat64 getFrequency() const
void setEvtCode(epicsUInt32)
epicsUInt32 getRFDiv() const
epicsFloat64 getFracSynFreq() const
static void process_inp_cb(CALLBACK *)
volatile epicsUInt8 * getRegAddr() const
void resetMxc(bool reset)
inputs_iterator endInputs()
IOSCANPVT ioScanTimestamp
static void isr_poll(void *)
epicsUInt32 getDbusStatus() const
virtual void postSoftSecondsSrc()
unsigned char irqExtInp_queued
User implementation hook.
const bus_configuration * getBusConfiguration()
void setRFDiv(epicsUInt32)
evgInput * getInput(epicsUInt32, InputType)
const epicsPCIDevice * m_pciDevice
epicsUInt16 getSource() const
virtual void unlock() const
static void init_cb(CALLBACK *, int, void(*)(CALLBACK *), void *)
static void isr(evgMrm *evg, bool pci)
Input_t::iterator inputs_iterator
void setFracSynFreq(epicsFloat64)
void setRFFreq(epicsFloat64)
const std::string getId() const
epicsUInt16 enabled() const
static void isr_pci(void *)
epicsFloat64 getRFFreq() const
epicsUInt32 writeonly() const
evgMrm(const std::string &id, const Config *conf, bus_configuration &busConfig, volatile epicsUInt8 *const base, const epicsPCIDevice *pciDevice)
virtual void lock() const
void setSource(epicsUInt16)
MRFVersion version() const
inputs_iterator beginInputs()