10#ifndef NDPluginTimeSeries_H
11#define NDPluginTimeSeries_H
19#define TSAcquireString "TS_ACQUIRE"
20#define TSReadString "TS_READ"
21#define TSNumPointsString "TS_NUM_POINTS"
22#define TSCurrentPointString "TS_CURRENT_POINT"
23#define TSTimePerPointString "TS_TIME_PER_POINT"
24#define TSAveragingTimeString "TS_AVERAGING_TIME"
25#define TSNumAverageString "TS_NUM_AVERAGE"
26#define TSElapsedTimeString "TS_ELAPSED_TIME"
27#define TSAcquireModeString "TS_ACQUIRE_MODE"
28#define TSTimeAxisString "TS_TIME_AXIS"
29#define TSTimestampString "TS_TIMESTAMP"
32#define TSTimeSeriesString "TS_TIME_SERIES"
39 const char *NDArrayPort,
int NDArrayAddr,
40 int maxSignals,
int maxBuffers,
size_t maxMemory,
41 int priority,
int stackSize);
45 asynStatus
writeInt32(asynUser *pasynUser, epicsInt32 value);
46 asynStatus
writeFloat64(asynUser *pasynUser, epicsFloat64 value);
52 #define FIRST_NDPLUGIN_TIME_SERIES_PARAM P_TSAcquire
68 template <
typename epicsType> asynStatus doAddToTimeSeriesT(
NDArray *pArray);
69 asynStatus addToTimeSeries(
NDArray *pArray);
70 asynStatus clear(epicsUInt32 roi);
71 template <
typename epicsType>
void doTimeSeriesCallbacksT();
72 asynStatus doTimeSeriesCallbacks();
73 void allocateArrays();
75 void createAxisArray();
76 void computeNumAverage();
84 int currentTimePoint_;
89 double averagingTimeRequested_;
90 double averagingTimeActual_;
92 epicsTimeStamp startTime_;
93 double *averageStore_;
NDDataType_t
Enumeration of NDArray data types.
Definition NDAttribute.h:30
#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
Class from which actual plugin drivers are derived; derived from asynNDArrayDriver.
Definition NDPluginDriver.h:57
virtual asynStatus writeFloat64(asynUser *pasynUser, epicsFloat64 value)
Called when asyn clients call pasynFloat64->write().
Definition NDPluginDriver.cpp:769
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Called when asyn clients call pasynInt32->write().
Definition NDPluginDriver.cpp:678
virtual void processCallbacks(NDArray *pArray)=0
Compute time series on signals.
Definition NDPluginTimeSeries.h:36
int P_TSTimestamp
Definition NDPluginTimeSeries.h:62
int P_TSElapsedTime
Definition NDPluginTimeSeries.h:59
int P_TSCurrentPoint
Definition NDPluginTimeSeries.h:55
int P_TSAcquireMode
Definition NDPluginTimeSeries.h:60
int P_TSNumAverage
Definition NDPluginTimeSeries.h:58
int P_TSNumPoints
Definition NDPluginTimeSeries.h:54
int P_TSTimeAxis
Definition NDPluginTimeSeries.h:61
int P_TSTimePerPoint
Definition NDPluginTimeSeries.h:56
int P_TSAveragingTime
Definition NDPluginTimeSeries.h:57
int P_TSTimeSeries
Definition NDPluginTimeSeries.h:65
int P_TSAcquire
Definition NDPluginTimeSeries.h:51
int P_TSRead
Definition NDPluginTimeSeries.h:53