15 #define U32_UpDCValue 0x10 16 #define U32_FIFODCValue 0x14 17 #define U32_IntDCValue 0x18 18 #define U32_TOPID 0x2c 19 #define U32_PortNDCValue(N) (0x40 +(N)*4) 21 FCT::FCT(
evgMrm *evg,
const std::string&
id,
volatile epicsUInt8*
const base)
27 for(
size_t i=0; i<sfp.size(); i++) {
28 std::ostringstream
name;
29 name<<
id<<
":SFP"<<(i+1);
30 sfp[i] =
new SFP(name.str(), base + 0x1000 + 0x200*i);
38 epicsUInt32 cur =
READ32(base, Status);
47 return double(
READ32(base, UpDCValue))/65536.0*period;
53 return double(
READ32(base, FIFODCValue))/65536.0*period;
59 return double(
READ32(base, IntDCValue))/65536.0*period;
64 return READ32(base, TOPID);
70 return READ32(base, PortNDCValue(port))/65536.0*period;
epicsUInt16 statusRaw() const
#define READ32(base, offset)
double dcInternal() const
epicsFloat64 getFrequency() const
double dcUpstream() const
#define OBJECT_BEGIN(klass)
double dcPortN(unsigned port) const
#define OBJECT_END(klass)
const std::string & name() const
FCT(evgMrm *evg, const std::string &id, volatile epicsUInt8 *const base)
epicsUInt32 topoId() const
#define WRITE32(base, offset, value)
OBJECT_PROP1("Status", &FCT::statusRaw)