areaDetector  3-13
EPICS areaDetector framework
ADEuresys.h
Go to the documentation of this file.
1 #ifndef ADEURESYS_H
2 #define ADEURESYS_H
3 
4 #include <epicsEvent.h>
5 
6 #include <ADGenICam.h>
7 #include <EGrabber.h>
8 
9 using namespace Euresys;
10 
11 typedef EGrabber<CallbackSingleThread> EGRABBER_CALLBACK;
12 
13 #define ESTimeStampModeString "ES_TIME_STAMP_MODE" // asynParamInt32, R/O
14 #define ESUniqueIdModeString "ES_UNIQUE_ID_MODE" // asynParamInt32, R/O
15 #define ESBufferSizeString "ES_BUFFER_SIZE" // asynParamInt32, R/O
16 #define ESOutputQueueString "ES_OUTPUT_QUEUE" // asynParamInt32, R/O
17 #define ESRejectedFramesString "ES_REJECTED_FRAMES" // asynParamInt32, R/O
18 #define ESCRCErrorCountString "ES_CRC_ERROR_COUNT" // asynParamInt32, R/O
19 #define ESResetErrorCountsString "ES_RESET_ERROR_COUNTS" // asynParamInt32, R/O
20 #define ESProcessTotalTimeString "ES_PROCESS_TOTAL_TIME" // asynParamFloat64, R/O
21 #define ESProcessCopyTimeString "ES_PROCESS_COPY_TIME" // asynParamFloat64, R/O
22 #define ESConvertPixelFormatString "ES_CONVERT_PIXEL_FORMAT" // asynParamInt32, R/W
23 #define ESUnpackingModeString "ES_UNPACKING_MODE" // asynParamInt32, R/W
24 
25 
29 class ADEuresys : public ADGenICam
30 {
31 public:
32  ADEuresys(const char *portName, const char* cameraId, int numESBuffers,
33  size_t maxMemory, int priority, int stackSize);
34 
35  // virtual methods to override from ADGenICam
36  void report(FILE *fp, int details);
37  virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value);
38  virtual GenICamFeature *createFeature(GenICamFeatureSet *set,
39  std::string const & asynName, asynParamType asynType, int asynIndex,
40  std::string const & featureName, GCFeatureType_t featureType);
41 
42  void processFrame(ScopedBuffer &buf);
43  EGRABBER_CALLBACK *getGrabber();
44  void shutdown();
45 
46 private:
47  int ESTimeStampMode;
48 #define FIRST_ES_PARAM ESTimeStampMode
49  int ESUniqueIdMode;
50  int ESBufferSize;
51  int ESOutputQueue;
52  int ESRejectedFrames;
53  int ESCRCErrorCount;
54  int ESResetErrorCounts;
55  int ESProcessTotalTime;
56  int ESProcessCopyTime;
57  int ESConvertPixelFormat;
58  int ESUnpackingMode;
59 
60  /* Local methods to this class */
61  asynStatus startCapture();
62  asynStatus stopCapture();
63  asynStatus connectCamera();
64  asynStatus disconnectCamera();
65  asynStatus readStatus();
66  void resetErrorCounts();
67  void reportNode(FILE *fp, const char *nodeName, int level);
68 
69  /* Data */
70  EGRABBER_CALLBACK *mGrabber_;
71  int numEGBuffers_;
72  int bitsPerPixel_;
73  int exiting_;
74  int uniqueId_;
75 };
76 
77 #endif
78 
EGrabber< CallbackSingleThread > EGRABBER_CALLBACK
Definition: ADEuresys.h:11
GCFeatureType_t
Definition: GenICamFeature.h:13
Main driver class inherited from areaDetectors ADDriver class.
Definition: ADEuresys.h:30
Definition: ADGenICam.h:25
Definition: GenICamFeature.h:41
Definition: GenICamFeature.h:123
@ string
Definition: NDFileHDF5Layout.h:44
nodeName
Definition: makeAdl.py:469
list value
Definition: makeDbAndEdl.py:234
unsigned char * buf
Definition: udp_client_pixirad_single.cpp:70