areaDetector  3-13
EPICS areaDetector framework
ADVimba.h
Go to the documentation of this file.
1 #ifndef ADVMBINNAKER_H
2 #define ADVMBINNAKER_H
3 
4 #include <epicsEvent.h>
5 #include <epicsMessageQueue.h>
6 
7 #include <ADGenICam.h>
8 #include <VimbaFeature.h>
9 
10 #include "VimbaCPP/Include/VimbaCPP.h"
11 
12 using namespace AVT;
13 using namespace AVT::VmbAPI;
14 using namespace std;
15 
16 #define VMBConvertPixelFormatString "VMB_CONVERT_PIXEL_FORMAT" // asynParamInt32, R/W
17 #define VMBTimeStampModeString "VMB_TIME_STAMP_MODE" // asynParamInt32, R/O
18 #define VMBUniqueIdModeString "VMB_UNIQUE_ID_MODE" // asynParamInt32, R/O
19 
23 class ADVimba : public ADGenICam
24 {
25 public:
26  ADVimba(const char *portName, const char *cameraId,
27  size_t maxMemory, int priority, int stackSize);
28 
29  // virtual methods to override from ADGenICam
30  //virtual asynStatus writeInt32( asynUser *pasynUser, epicsInt32 value);
31  //virtual asynStatus writeFloat64( asynUser *pasynUser, epicsFloat64 value);
32  virtual asynStatus readEnum(asynUser *pasynUser, char *strings[], int values[], int severities[],
33  size_t nElements, size_t *nIn);
34  void report(FILE *fp, int details);
35  virtual GenICamFeature *createFeature(GenICamFeatureSet *set,
36  std::string const & asynName, asynParamType asynType, int asynIndex,
37  std::string const & featureName, GCFeatureType_t featureType);
38 
40  void imageGrabTask();
41  void shutdown();
42  CameraPtr getCamera();
43  void connectionCallback(UpdateTriggerType reason);
44  asynStatus processFrame(FramePtr pFrame);
45 
46 private:
47  inline asynStatus checkError(VmbErrorType error, const char *functionName, const char *message);
48  int VMBConvertPixelFormat;
49 #define FIRST_VMB_PARAM VMBConvertPixelFormat;
50  int VMBTimeStampMode;
51  int VMBUniqueIdMode;
52 
53  /* Local methods to this class */
54  asynStatus startCapture();
55  asynStatus stopCapture();
56  asynStatus connectCamera();
57  asynStatus disconnectCamera();
58 
59  const char *cameraId_;
60  CameraPtr pCamera_;
61  VimbaSystem & system_;
62 
63  bool exiting_;
64  bool acquiring_;
65  epicsEventId startEventId_;
66  epicsEventId newFrameEventId_;
67  int uniqueId_;
68 
69  std::vector<string> TLStatisticsFeatureNames_;
70 
71 };
72 
73 #endif
74 
GCFeatureType_t
Definition: GenICamFeature.h:13
Definition: ADGenICam.h:25
Main driver class inherited from areaDetectors ADGenICam class.
Definition: ADVimba.h:24
Definition: GenICamFeature.h:41
Definition: GenICamFeature.h:123
Definition: ListCameras.cpp:41
Definition: ListCameras.cpp:40
@ string
Definition: NDFileHDF5Layout.h:44