1 #ifndef _ots_FESlowControlsChannel_h_
2 #define _ots_FESlowControlsChannel_h_
17 const std::string& dataType,
18 const std::string& universalAddress,
19 const std::string& transformation,
20 unsigned int universalDataBitOffset,
23 bool monitoringEnabled,
24 bool recordChangesOnly,
25 time_t delayBetweenSamples,
27 const std::string& savePath,
28 const std::string& saveFileRadix,
29 bool saveBinaryFormat,
32 const std::string& lolo,
33 const std::string& lo,
34 const std::string& hi,
35 const std::string& hihi);
40 void print (std::ostream& out = std::cout)
const;
42 const std::string& getUniversalAddress ()
const {
return universalAddress_; };
43 unsigned int getReadSizeBytes ()
const {
return sizeOfReadBytes_; }
44 time_t getLastSampleTime ()
const {
return lastSampleTime_; }
45 void doRead (std::string& readValue);
46 const std::string& getSample ()
const {
return sample_; }
47 void handleSample (
const std::string& universalReadValue, std::string& txBuffer, FILE* fpAggregate = 0,
bool aggregateIsBinaryFormat =
false,
bool txBufferUsed =
true);
48 const std::string& getLastSampleReadValue ()
const {
return universalReadValue_; };
51 const std::string& getInterfaceUID (
void)
const;
52 const std::string& getInterfaceType (
void)
const;
57 void extractSample ();
58 char checkAlarms (std::string& txBuffer);
59 void convertStringToBuffer (
const std::string& inString, std::string& buffer,
bool useDataType =
false);
67 const std::string fullChannelName;
68 const std::string dataType;
69 const std::string transformation;
72 unsigned int sizeOfDataTypeBits_;
74 unsigned int sizeOfDataTypeBytes_, sizeOfReadBytes_;
75 unsigned int universalDataBitOffset_;
76 unsigned char txPacketSequenceNumber_;
79 const bool readAccess_, writeAccess_, monitoringEnabled;
80 const bool recordChangesOnly_;
81 const time_t delayBetweenSamples_;
83 const bool saveEnabled_;
84 const std::string savePath_;
85 const std::string saveFileRadix_;
86 const bool saveBinaryFormat_;
88 const bool alarmsEnabled_, latchAlarms_;
91 std::string universalReadValue_;
92 std::string universalAddress_;
94 std::string sample_, lastSample_;
95 std::string lolo_, lo_, hi_, hihi_;
96 time_t lastSampleTime_;
97 bool loloAlarmed_, loAlarmed_, hiAlarmed_, hihiAlarmed_;
99 const std::string saveFullFileName_;
void handleSample(const std::string &universalReadValue, std::string &txBuffer, FILE *fpAggregate=0, bool aggregateIsBinaryFormat=false, bool txBufferUsed=true)
const std::string channelName
FESlowControlsChannel(FEVInterface *interface, const std::string &channelName, const std::string &dataType, const std::string &universalAddress, const std::string &transformation, unsigned int universalDataBitOffset, bool readAccess, bool writeAccess, bool monitoringEnabled, bool recordChangesOnly, time_t delayBetweenSamples, bool saveEnabled, const std::string &savePath, const std::string &saveFileRadix, bool saveBinaryFormat, bool alarmsEnabled, bool latchAlarms, const std::string &lolo, const std::string &lo, const std::string &hi, const std::string &hihi)
static std::string underscoreString(const std::string &str)
void clearAlarms(int targetAlarm=-1)
default to all