11#include <epicsEvent.h>
12#include <epicsTimer.h>
16#define DRIVER_VERSION 1
17#define DRIVER_REVISION 0
18#define DRIVER_MODIFICATION 0
20#define PII_MAX_MESSAGE_SIZE 512
22#define PII_DRSumEnableString "PII_DRSUM_ENABLE"
23#define PII_NumDarksString "PII_NUM_DARKS"
24#define PII_TriggerTypeString "PII_TRIGGER_TYPE"
25#define PII_TriggerEdgeString "PII_TRIGGER_EDGE"
26#define PII_NumSubFramesString "PII_NUM_SUBFRAMES"
32 PhotonII(
const char *portName,
const char *PhotonIICommandPort,
33 int maxBuffers,
size_t maxMemory,
34 int priority,
int stackSize);
37 virtual asynStatus
writeInt32(asynUser *pasynUser, epicsInt32 value);
38 virtual asynStatus
writeFloat64(asynUser *pasynUser, epicsFloat64 value);
39 void report(FILE *fp,
int details);
42 asynStatus
p2util(
const char* command);
47#define FIRST_PII_PARAM PII_DRSumEnable
55 asynStatus readRaw(
const char *fileName, epicsTimeStamp *pStartTime,
double timeout,
NDArray *pImage);
56 asynStatus writePhotonII(
double timeout);
57 asynStatus readPhotonII(
double timeout);
60 epicsEventId startEventId_;
63 asynUser *pasynUserCommand_;
#define PII_MAX_MESSAGE_SIZE
Definition PhotonII.h:20
Class from which areaDetector drivers are directly derived.
Definition ADDriver.h:132
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data,...
Definition NDArray.h:99
Driver for Bruker Photon II detector using their p2util server over TCP/IP socket.
Definition PhotonII.h:30
virtual asynStatus writeFloat64(asynUser *pasynUser, epicsFloat64 value)
Called when asyn clients call pasynFloat64->write().
Definition PhotonII.cpp:534
asynStatus p2util(const char *command)
Definition PhotonII.cpp:589
int PII_TriggerType
Definition PhotonII.h:49
int PII_NumSubFrames
Definition PhotonII.h:51
int PII_NumDarks
Definition PhotonII.h:48
int PII_DRSumEnable
Definition PhotonII.h:46
void report(FILE *fp, int details)
Report status of the driver.
Definition PhotonII.cpp:573
int PII_TriggerEdge
Definition PhotonII.h:50
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Called when asyn clients call pasynInt32->write().
Definition PhotonII.cpp:461
epicsEventId stopEventId_
This should be private but is accessed from C, must be public.
Definition PhotonII.h:43
void PhotonIITask()
This thread controls acquisition, reads SFRM files to get the image data, and does the callbacks to s...
Definition PhotonII.cpp:268