21 #include <epicsThread.h>
26 #define NDAttrPlotDataString "AP_Data"
27 #define NDAttrPlotDataLabelString "AP_DataLabel"
28 #define NDAttrPlotDataSelectString "AP_DataSelect"
29 #define NDAttrPlotAttributeString "AP_Attribute"
30 #define NDAttrPlotResetString "AP_Reset"
31 #define NDAttrPlotNPtsString "AP_NPts"
33 #define ND_ATTRPLOT_UID_INDEX -1
34 #define ND_ATTRPLOT_UID_LABEL "UID"
35 #define ND_ATTRPLOT_NONE_INDEX -2
36 #define ND_ATTRPLOT_NONE_LABEL "None"
38 #define ND_ATTRPLOT_DATA_EXPOSURE_PERIOD 1. // Data callback period in seconds
113 int max_selected,
const char * in_port,
int in_addr,
int queue_size,
114 int blocking_callbacks,
int priority,
int stackSize);
140 asynStatus
writeInt32(asynUser * pasynUser, epicsInt32 value);
144 #define NDATTRPLOT_FIRST_PARAM NDAttrPlotData
155 enum NDAttrPlotState {
156 NDAttrPlot_InitState,
157 NDAttrPlot_ActiveState
189 void callback_data();
194 void callback_attributes();
199 void callback_selected();
203 NDAttrPlotState state_;
206 std::vector<CB> data_;
212 const size_t n_attributes_;
215 std::vector<std::string> attributes_;
217 const unsigned n_data_blocks_;
218 std::vector<int> data_selections_;
224 #endif // NDATTRPLOT_H_
Class from which actual plugin drivers are derived; derived from asynNDArrayDriver.
Definition: NDPluginDriver.h:58
void start()
Start the internal thread of the task.
Definition: NDPluginAttrPlot.cpp:22
int NDAttrPlotDataSelect
Definition: NDPluginAttrPlot.h:146
void run()
Periodically runs the data exposure on the plugin.
Definition: NDPluginAttrPlot.cpp:26
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Called when asyn clients call pasynInt32->write().
Definition: NDPluginDriver.cpp:678
A task that periodically executes the data exposure method of the plugin.
Definition: NDPluginAttrPlot.h:45
NDPluginAttrPlot * plugin
Definition: NDPluginAttrPlot.cpp:300
int NDAttrPlotDataLabel
Definition: NDPluginAttrPlot.h:145
ExposeDataTask(NDPluginAttrPlot &plugin)
Constructor.
Definition: NDPluginAttrPlot.cpp:15
NDAttributeList.h.
Definition: NDAttributeList.h:21
int NDAttrPlotNPts
Definition: NDPluginAttrPlot.h:149
virtual void processCallbacks(NDArray *pArray)=0
#define NDPLUGIN_API
Definition: NDPluginAPI.h:41
AD plugin that saves attribute values from recieved NDArrays.
Definition: NDPluginAttrPlot.h:93
int NDAttrPlotAttribute
Definition: NDPluginAttrPlot.h:147
int NDAttrPlotData
Definition: NDPluginAttrPlot.h:143
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data...
Definition: NDArray.h:93
int NDAttrPlotReset
Definition: NDPluginAttrPlot.h:148
void stop()
Stop the internal thread of the task.
Definition: NDPluginAttrPlot.cpp:35