This is an EPICS areaDetector driver for importing an EPICSv4 NTNDArray via pvAccess into areaDetector. It does so by creating a monitor on the specified PV.
This driver inherits from ADDriver. It implements some of the parameters in asynNDArrayDriver.h and in ADArrayDriver.h, namely:
It also implements a few parameters that are specific to the pvAccess driver.
The pvAccess driver-specific parameters are the following:
Parameter Definitions in pvaDriver.cpp and EPICS Record Definitions in pvaDriver.template | ||||||
Parameter index variable | asyn interface | Access | Description | drvInfo string | EPICS record name | EPICS record type |
---|---|---|---|---|---|---|
OverrunCounter | asynInt32 | r/w | Number of overruns occured | OVERRUN_COUNTER |
$(P)$(R)OverrunCounter $(P)$(R)OverrunCounter_RBV |
longout longin |
PvName | asynOctet | r/w | Name of the PV to monitor. This can be changed a run-time. | PV_NAME |
$(P)$(R)PvName $(P)$(R)PvName_RBV |
waveform waveform |
PvConnectionStatus | asynInt32 | r/o | Status of the connection to the server | PV_CONNECTION | $(P)$(R)PvConnection_RBV | bi |
The pvaDriver driver is created with the pvaDriverConfig command, either from C/C++ or from the EPICS IOC shell.
int pvaDriverConfig(const char *portName, const char *pvName, int maxSizeX, int maxSizeY, int dataType, int maxBuffers, size_t maxMemory, int priority, int stackSize)
The pvaDriver-specific fields in this command are:
pvName
Name of the PV to be monitored.For details on the meaning of the other parameters to this function refer to the detailed documentation on the pvaDriverConfig function in the pvaDriver.cpp documentation and in the documentation for the constructor for the pvaDriver class.
There is an example IOC boot directory and startup script provided with areaDetector.
The following MEDM screen for the pvaDriver.