1#include <pv/clientFactory.h>
2#include <pv/pvAccess.h>
3#include <pv/ntndarray.h>
5#define PVAOverrunCounterString "OVERRUN_COUNTER"
6#define PVAPvNameString "PV_NAME"
7#define PVAPvConnectionStatusString "PV_CONNECTION"
9#define DRIVER_VERSION 1
10#define DRIVER_REVISION 6
11#define DRIVER_MODIFICATION 0
15typedef epics::pvAccess::Channel::shared_pointer
ChannelPtr;
20 public virtual epics::pvAccess::ChannelRequester,
21 public virtual epics::pvData::MonitorRequester
25 pvaDriver (
const char *portName,
const char *pvName,
int maxBuffers,
26 size_t maxMemory,
int priority,
int stackSize);
29 asynStatus
writeInt32(asynUser *pasynUser, epicsInt32 value);
30 asynStatus
writeOctet(asynUser *pasynUser,
const char *value,
size_t nChars,
size_t *nActual);
31 virtual void report (FILE *fp,
int details);
35 #define FIRST_PVA_DRIVER_PARAM PVAOverrunCounter
38 #define LAST_PVA_DRIVER_PARAM PVAPvConnectionStatus
42 std::string m_request;
46 epics::pvData::PVStructurePtr m_pvRequest;
47 epics::pvData::MonitorPtr m_monitor;
49 asynStatus connectPv(std::string
const & pvName);
52 std::string getRequesterName (
void);
53 void message (std::string
const & message,
54 epics::pvData::MessageType messageType);
57 void channelCreated (
const epics::pvData::Status& status,
59 void channelStateChange (
ChannelPtr const & channel,
60 epics::pvAccess::Channel::ConnectionState state);
63 void monitorConnect (epics::pvData::Status
const & status,
64 epics::pvData::MonitorPtr
const & monitor,
65 epics::pvData::StructureConstPtr
const & structure);
66 void monitorEvent (epics::pvData::MonitorPtr
const & monitor);
67 void unlisten (epics::pvData::MonitorPtr
const & monitor);
70#define NUM_PVA_DRIVER_PARAMS ((int)(&LAST_PVA_DRIVER_PARAM - &FIRST_PVA_DRIVER_PARAM + 1))
Class from which areaDetector drivers are directly derived.
Definition ADDriver.h:132
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Sets an int32 parameter.
Definition ADDriver.cpp:84
virtual asynStatus writeOctet(asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
Called when asyn clients call pasynOctet->write().
Definition asynNDArrayDriver.cpp:511
virtual void report(FILE *fp, int details)
Report status of the driver.
Definition asynNDArrayDriver.cpp:753
Definition pvaDriver.h:22
int PVAPvConnectionStatus
Definition pvaDriver.h:37
int PVAOverrunCounter
Definition pvaDriver.h:34
int PVAPvName
Definition pvaDriver.h:36
epics::pvAccess::ChannelProvider::shared_pointer ChannelProviderPtr
Definition pvaDriver.h:16
std::tr1::shared_ptr< pvaDriver > pvaDriverPtr
Definition pvaDriver.h:17
epics::pvAccess::Channel::shared_pointer ChannelPtr
Definition pvaDriver.h:15