1#ifndef NDPluginCircularBuff_H
2#define NDPluginCircularBuff_H
11#define NDCircBuffControlString "CIRC_BUFF_CONTROL"
12#define NDCircBuffStatusString "CIRC_BUFF_STATUS"
13#define NDCircBuffTriggerAString "CIRC_BUFF_TRIGGER_A"
14#define NDCircBuffTriggerBString "CIRC_BUFF_TRIGGER_B"
15#define NDCircBuffTriggerAValString "CIRC_BUFF_TRIGGER_A_VAL"
16#define NDCircBuffTriggerBValString "CIRC_BUFF_TRIGGER_B_VAL"
17#define NDCircBuffTriggerCalcString "CIRC_BUFF_TRIGGER_CALC"
18#define NDCircBuffTriggerCalcValString "CIRC_BUFF_TRIGGER_CALC_VAL"
19#define NDCircBuffPresetTriggerCountString "CIRC_BUFF_PRESET_TRIGGER_COUNT"
20#define NDCircBuffActualTriggerCountString "CIRC_BUFF_ACTUAL_TRIGGER_COUNT"
21#define NDCircBuffPreTriggerString "CIRC_BUFF_PRE_TRIGGER"
22#define NDCircBuffPostTriggerString "CIRC_BUFF_POST_TRIGGER"
23#define NDCircBuffCurrentImageString "CIRC_BUFF_CURRENT_IMAGE"
24#define NDCircBuffPostCountString "CIRC_BUFF_POST_COUNT"
25#define NDCircBuffSoftTriggerString "CIRC_BUFF_SOFT_TRIGGER"
26#define NDCircBuffTriggeredString "CIRC_BUFF_TRIGGERED"
27#define NDCircBuffFlushOnSoftTrigString "CIRC_BUFF_FLUSH_ON_SOFTTRIGGER"
36 const char *NDArrayPort,
int NDArrayAddr,
37 int maxBuffers,
size_t maxMemory,
38 int priority,
int stackSize);
41 asynStatus
writeInt32(asynUser *pasynUser, epicsInt32 value);
42 asynStatus
writeOctet(asynUser *pasynUser,
const char *value,
size_t nChars,
size_t *nActual);
49 #define FIRST_NDPLUGIN_CIRC_BUFF_PARAM NDCircBuffControl
68 void flushPreBuffer();
72 asynStatus calculateTrigger(
NDArray *pArray,
int *trig);
77 char triggerCalcInfix_[MAX_INFIX_SIZE];
78 char triggerCalcPostfix_[MAX_POSTFIX_SIZE];
79 double triggerCalcArgs_[CALCPERFORM_NARGS];
#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
Definition NDArrayRing.h:7
Performs a scope like capture.
Definition NDPluginCircularBuff.h:33
int NDCircBuffControl
Definition NDPluginCircularBuff.h:48
int NDCircBuffStatus
Definition NDPluginCircularBuff.h:51
int NDCircBuffTriggerCalcVal
Definition NDPluginCircularBuff.h:57
int NDCircBuffFlushOnSoftTrig
Definition NDPluginCircularBuff.h:66
int NDCircBuffTriggerCalc
Definition NDPluginCircularBuff.h:56
int NDCircBuffSoftTrigger
Definition NDPluginCircularBuff.h:64
int NDCircBuffTriggerA
Definition NDPluginCircularBuff.h:52
int NDCircBuffCurrentImage
Definition NDPluginCircularBuff.h:62
int NDCircBuffPostTrigger
Definition NDPluginCircularBuff.h:61
int NDCircBuffActualTriggerCount
Definition NDPluginCircularBuff.h:59
int NDCircBuffPreTrigger
Definition NDPluginCircularBuff.h:60
int NDCircBuffPostCount
Definition NDPluginCircularBuff.h:63
int NDCircBuffTriggerAVal
Definition NDPluginCircularBuff.h:54
int NDCircBuffTriggerBVal
Definition NDPluginCircularBuff.h:55
int NDCircBuffTriggerB
Definition NDPluginCircularBuff.h:53
int NDCircBuffPresetTriggerCount
Definition NDPluginCircularBuff.h:58
int NDCircBuffTriggered
Definition NDPluginCircularBuff.h:65
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
virtual asynStatus writeOctet(asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
Called when asyn clients call pasynOctet->write().
Definition NDPluginDriver.cpp:804