areaDetector 3-14
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
9using namespace Euresys;
10
11typedef 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
29class ADEuresys : public ADGenICam
30{
31public:
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);
39 std::string const & asynName, asynParamType asynType, int asynIndex,
40 std::string const & featureName, GCFeatureType_t featureType);
41
42 void processFrame(ScopedBuffer &buf);
44 void shutdown();
45
46private:
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
void processFrame(ScopedBuffer &buf)
Definition ADEuresys.cpp:170
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Sets an int32 parameter.
Definition ADEuresys.cpp:362
EGRABBER_CALLBACK * getGrabber()
Definition ADEuresys.cpp:148
virtual GenICamFeature * createFeature(GenICamFeatureSet *set, std::string const &asynName, asynParamType asynType, int asynIndex, std::string const &featureName, GCFeatureType_t featureType)
Definition ADEuresys.cpp:162
void report(FILE *fp, int details)
Print out a report; calls ADGenICam::report to get base class report as well.
Definition ADEuresys.cpp:417
void shutdown()
Definition ADEuresys.cpp:152
Definition ADGenICam.h:25
Definition GenICamFeature.h:41
Definition GenICamFeature.h:123
unsigned char * buf
Definition udp_client_pixirad_single.cpp:70