1 #ifndef NDPluginStdArrays_H
2 #define NDPluginStdArrays_H
6 #define NDPluginStdArraysDataString "STD_ARRAY_DATA"
15 const char *NDArrayPort,
int NDArrayAddr,
int maxBuffers,
size_t maxMemory,
16 int priority,
int stackSize,
int maxThreads=1);
20 virtual asynStatus
readInt8Array(asynUser *pasynUser, epicsInt8 *value,
21 size_t nElements,
size_t *nIn);
22 virtual asynStatus
readInt16Array(asynUser *pasynUser, epicsInt16 *value,
23 size_t nElements,
size_t *nIn);
24 virtual asynStatus
readInt32Array(asynUser *pasynUser, epicsInt32 *value,
25 size_t nElements,
size_t *nIn);
26 virtual asynStatus
readInt64Array(asynUser *pasynUser, epicsInt64 *value,
27 size_t nElements,
size_t *nIn);
28 virtual asynStatus
readFloat32Array(asynUser *pasynUser, epicsFloat32 *value,
29 size_t nElements,
size_t *nIn);
30 virtual asynStatus
readFloat64Array(asynUser *pasynUser, epicsFloat64 *value,
31 size_t nElements,
size_t *nIn);
34 #define FIRST_NDPLUGIN_STDARRAYS_PARAM NDPluginStdArraysData
37 template <
typename epicsType> asynStatus
readArray(asynUser *pasynUser, epicsType *value,
39 template <
typename epicsType,
typename interruptType>
void arrayInterruptCallback(
NDArray *pArray,
41 void *interruptPvt,
int *initialized,
NDDataType_t signedType,
bool *wasThrottled);
Class from which actual plugin drivers are derived; derived from asynNDArrayDriver.
Definition: NDPluginDriver.h:58
virtual asynStatus readInt64Array(asynUser *pasynUser, epicsInt64 *value, size_t nElements, size_t *nIn)
Called when asyn clients call pasynInt64Array->read().
Definition: asynPortDriver.cpp:2874
NDDataType_t
Enumeration of NDArray data types.
Definition: NDAttribute.h:29
The NDArrayPool class manages a free list (pool) of NDArray objects.
Definition: NDArray.h:162
virtual asynStatus readFloat32Array(asynUser *pasynUser, epicsFloat32 *value, size_t nElements, size_t *nIn)
Called when asyn clients call pasynFloat32Array->read().
Definition: asynPortDriver.cpp:2937
virtual asynStatus readInt32Array(asynUser *pasynUser, epicsInt32 *value, size_t nElements, size_t *nIn)
Called when asyn clients call pasynInt32Array->read().
Definition: NDPluginDriver.cpp:849
asynStatus readArray(asynUser *pasynUser, epicsType *value, size_t nElements, size_t *nIn)
Definition: asynPortDriver.cpp:1708
virtual asynStatus readFloat64Array(asynUser *pasynUser, epicsFloat64 *value, size_t nElements, size_t *nIn)
Called when asyn clients call pasynFloat64Array->read().
Definition: asynPortDriver.cpp:3000
virtual void processCallbacks(NDArray *pArray)=0
#define NDPLUGIN_API
Definition: NDPluginAPI.h:41
int NDPluginStdArraysData
Definition: NDPluginStdArrays.h:33
virtual asynStatus readInt16Array(asynUser *pasynUser, epicsInt16 *value, size_t nElements, size_t *nIn)
Called when asyn clients call pasynInt16Array->read().
Definition: asynPortDriver.cpp:2748
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data...
Definition: NDArray.h:93
Converts NDArray callback data into standard asyn arrays (asynInt8Array, asynInt16Array, asynInt32Array, asynInt64Array, asynFloat32Array or asynFloat64Array); normally used for putting NDArray data in EPICS waveform records.
Definition: NDPluginStdArrays.h:12
virtual asynStatus readInt8Array(asynUser *pasynUser, epicsInt8 *value, size_t nElements, size_t *nIn)
Called when asyn clients call pasynInt8Array->read().
Definition: asynPortDriver.cpp:2685