#include <evgMxc.h>
|
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) |
|
static int | initObject () |
|
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 *) |
|
| ObjectInst (const std::string &n) |
|
| ObjectInst (const std::string &n, A &a) |
|
virtual | ~ObjectInst () |
|
| Object (const std::string &n, const Object *par=0) |
|
virtual | ~Object ()=0 |
|
Definition at line 9 of file evgMxc.h.
◆ evgMxc()
evgMxc::evgMxc |
( |
const std::string & |
name, |
|
|
const epicsUInt32 |
id, |
|
|
evgMrm * const |
owner |
|
) |
| |
Definition at line 21 of file evgMxc.cpp.
volatile epicsUInt8 * getRegAddr() const
const std::string & name() const
◆ ~evgMxc()
◆ getFrequency()
epicsFloat64 evgMxc::getFrequency |
( |
| ) |
const |
Definition at line 74 of file evgMxc.cpp.
75 epicsFloat64 clkSpeed = (epicsFloat64)m_owner->
getFrequency()
78 return clkSpeed/preScaler;
epicsUInt32 getPrescaler() const
epicsFloat64 getFrequency() const
◆ getPolarity()
bool evgMxc::getPolarity |
( |
| ) |
const |
Definition at line 46 of file evgMxc.cpp.
#define READ32(base, offset)
◆ getPrescaler()
epicsUInt32 evgMxc::getPrescaler |
( |
| ) |
const |
Definition at line 59 of file evgMxc.cpp.
60 return READ32(m_pReg, MuxPrescaler(m_id));
#define READ32(base, offset)
◆ getStatus()
bool evgMxc::getStatus |
( |
| ) |
const |
Definition at line 33 of file evgMxc.cpp.
#define READ32(base, offset)
◆ getTrigEvtMap()
bool evgMxc::getTrigEvtMap |
( |
epicsUInt16 |
trigEvt | ) |
const |
Definition at line 94 of file evgMxc.cpp.
96 throw std::runtime_error(
"EVG Mxc Trig Event ID too large. Max: 7");
99 return READ32(m_pReg, MuxControl(m_id))&mask;
#define READ32(base, offset)
#define MuxControl_TrigMap_SHIFT
◆ lock()
virtual void evgMxc::lock |
( |
| ) |
const |
|
inlinevirtual |
◆ setFrequency()
void evgMxc::setFrequency |
( |
epicsFloat64 |
freq | ) |
|
Definition at line 65 of file evgMxc.cpp.
68 epicsUInt32 preScaler = (epicsUInt32)((epicsFloat64)clkSpeed / freq);
void setPrescaler(epicsUInt32)
epicsFloat64 getFrequency() const
◆ setPolarity()
void evgMxc::setPolarity |
( |
bool |
polarity | ) |
|
Definition at line 38 of file evgMxc.cpp.
#define BITSET32(base, offset, mask)
#define BITCLR32(base, offset, mask)
◆ setPrescaler()
void evgMxc::setPrescaler |
( |
epicsUInt32 |
preScaler | ) |
|
Definition at line 51 of file evgMxc.cpp.
52 if(preScaler == 0 || preScaler == 1)
53 throw std::runtime_error(
"Invalid preScaler value in Multiplexed Counter. Value should not be 0 or 1.");
55 WRITE32(m_pReg, MuxPrescaler(m_id), preScaler);
#define WRITE32(base, offset, value)
◆ setTrigEvtMap()
void evgMxc::setTrigEvtMap |
( |
epicsUInt16 |
trigEvt, |
|
|
bool |
ena |
|
) |
| |
Definition at line 82 of file evgMxc.cpp.
84 throw std::runtime_error(
"EVG Mxc Trig Event ID too large. Max: 7");
88 BITSET32(m_pReg, MuxControl(m_id), mask);
90 BITCLR32(m_pReg, MuxControl(m_id), mask);
#define BITSET32(base, offset, mask)
#define MuxControl_TrigMap_SHIFT
#define BITCLR32(base, offset, mask)
◆ unlock()
virtual void evgMxc::unlock |
( |
| ) |
const |
|
inlinevirtual |
The documentation for this class was generated from the following files: