11 #ifndef CMLSHORT_HPP_INC
12 #define CMLSHORT_HPP_INC
14 #include "mrf/object.h"
16 #include <epicsTypes.h>
36 explicit CML(
const std::string& n) : mrf::ObjectInst<CML>(n) {}
39 virtual cmlMode mode()
const=0;
40 virtual void setMode(cmlMode)=0;
42 virtual bool enabled()
const=0;
43 virtual void enable(
bool)=0;
45 virtual bool inReset()
const=0;
46 virtual void reset(
bool)=0;
48 virtual bool powered()
const=0;
49 virtual void power(
bool)=0;
52 virtual epicsUInt32 freqMultiple()
const=0;
55 virtual double fineDelay()
const=0;
56 virtual void setFineDelay(
double)=0;
61 virtual bool polarityInvert()
const=0;
62 virtual void setPolarityInvert(
bool)=0;
64 virtual epicsUInt32 countHigh()
const=0;
65 virtual epicsUInt32 countLow ()
const=0;
66 virtual epicsUInt32 countInit ()
const=0;
67 virtual void setCountHigh(epicsUInt32)=0;
68 virtual void setCountLow (epicsUInt32)=0;
69 virtual void setCountInit (epicsUInt32)=0;
70 virtual double timeHigh()
const=0;
71 virtual double timeLow ()
const=0;
72 virtual double timeInit ()
const=0;
73 virtual void setTimeHigh(
double)=0;
74 virtual void setTimeLow (
double)=0;
75 virtual void setTimeInit (
double)=0;
79 virtual bool recyclePat()
const=0;
80 virtual void setRecyclePat(
bool)=0;
84 virtual epicsUInt32 lenPattern(pattern)
const=0;
85 virtual epicsUInt32 lenPatternMax(pattern)
const=0;
86 virtual epicsUInt32 getPattern(pattern,
unsigned char*, epicsUInt32)
const=0;
87 virtual void setPattern(pattern,
const unsigned char*, epicsUInt32)=0;
92 epicsUInt32 lenPattern()
const{
return lenPattern(P);}
94 epicsUInt32 lenPatternMax()
const{
return lenPatternMax(P);}
98 getPattern(
unsigned char* b, epicsUInt32 l)
const{
return this->getPattern(P,b,l);};
102 setPattern(
const unsigned char* b, epicsUInt32 l){this->setPattern(P,b,l);};
104 void setModRaw(epicsUInt16 r){setMode((cmlMode)r);};
105 epicsUInt16 modeRaw()
const{
return (epicsUInt16)mode();};
User implementation hook.
Definition: object.h:460