areaDetector 3-14
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
17public:
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
26protected:
28 #define FIRST_NDPLUGIN_ATTR_PARAM NDPluginAttributeAttrName
32
33private:
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
#define NDPLUGIN_API
Definition NDPluginAPI.h:41
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data,...
Definition NDArray.h:99
Extract an Attribute from an NDArray and publish the value (and array of values) over channel access.
Definition NDPluginAttribute.h:16
int NDPluginAttributeReset
Definition NDPluginAttribute.h:29
int NDPluginAttributeValSum
Definition NDPluginAttribute.h:31
int NDPluginAttributeAttrName
Definition NDPluginAttribute.h:27
int NDPluginAttributeVal
Definition NDPluginAttribute.h:30
Class from which actual plugin drivers are derived; derived from asynNDArrayDriver.
Definition NDPluginDriver.h:57
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Called when asyn clients call pasynInt32->write().
Definition NDPluginDriver.cpp:678
virtual void processCallbacks(NDArray *pArray)=0