areaDetector  3-5-0
EPICS areaDetector framework
NDPluginAttribute.h
Go to the documentation of this file.
1 
2 #ifndef NDPluginAttribute_H
3 #define NDPluginAttribute_H
4 
5 #include <epicsTypes.h>
6 
7 #include "NDPluginDriver.h"
8 
9 /* General parameters */
10 #define NDPluginAttributeAttrNameString "ATTR_ATTRNAME" /* (asynInt32, r/w) Name of Attribute */
11 #define NDPluginAttributeResetString "ATTR_RESET" /* (asynInt32, r/w) Clear the sum data */
12 #define NDPluginAttributeValString "ATTR_VAL" /* (asynFloat64, r/o) Value of Attribute */
13 #define NDPluginAttributeValSumString "ATTR_VAL_SUM" /* (asynFloat64, r/o) Integrated Value of Attribute */
14 
16 class epicsShareClass NDPluginAttribute : public NDPluginDriver {
17 public:
18  NDPluginAttribute(const char *portName, int queueSize, int blockingCallbacks,
19  const char *NDArrayPort, int NDArrayAddr, int maxAttributes,
20  int maxBuffers, size_t maxMemory,
21  int priority, int stackSize);
22  /* These methods override the virtual methods in the base class */
23  void processCallbacks(NDArray *pArray);
24  asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value);
25 
26 protected:
28  #define FIRST_NDPLUGIN_ATTR_PARAM NDPluginAttributeAttrName
32 
33 private:
34 
35  void doTimeSeriesCallbacks(NDArray *pArray);
36  static const epicsInt32 MAX_ATTR_NAME_;
37  static const char* UNIQUE_ID_NAME_;
38  static const char* TIMESTAMP_NAME_;
39  static const char* EPICS_TS_SEC_NAME_;
40  static const char* EPICS_TS_NSEC_NAME_;
41 
42  int maxAttributes_;
43 
44 };
45 
46 #endif
Class from which actual plugin drivers are derived; derived from asynNDArrayDriver.
Definition: NDPluginDriver.h:56
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Called when asyn clients call pasynInt32->write().
Definition: NDPluginDriver.cpp:684
list value
Definition: makeDbAndEdl.py:234
int NDPluginAttributeValSum
Definition: NDPluginAttribute.h:31
Extract an Attribute from an NDArray and publish the value (and array of values) over channel access.
Definition: NDPluginAttribute.h:16
int NDPluginAttributeAttrName
Definition: NDPluginAttribute.h:27
int NDPluginAttributeReset
Definition: NDPluginAttribute.h:29
int NDPluginAttributeVal
Definition: NDPluginAttribute.h:30
virtual void processCallbacks(NDArray *pArray)=0
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data,...
Definition: NDArray.h:92