areaDetector 3-14
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
12using namespace AVT;
13using namespace AVT::VmbAPI;
14using 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
23class ADVimba : public ADGenICam
24{
25public:
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 connect(asynUser* pasynUser);
31 virtual asynStatus disconnect(asynUser* pasynUser);
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);
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
46private:
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 asynStatus adjustPacketSize();
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
virtual GenICamFeature * createFeature(GenICamFeatureSet *set, std::string const &asynName, asynParamType asynType, int asynIndex, std::string const &featureName, GCFeatureType_t featureType)
These should be private but are called from C callback functions, must be public.
Definition ADVimba.cpp:261
void connectionCallback(UpdateTriggerType reason)
Definition ADVimba.cpp:320
void imageGrabTask()
Task to grab images off the camera and send them up to areaDetector.
Definition ADVimba.cpp:344
void shutdown()
Definition ADVimba.cpp:250
asynStatus processFrame(FramePtr pFrame)
Definition ADVimba.cpp:401
virtual asynStatus disconnect(asynUser *pasynUser)
Definition ADVimba.cpp:245
void report(FILE *fp, int details)
Print out a report; calls ADDriver::report to get base class report as well.
Definition ADVimba.cpp:714
virtual asynStatus connect(asynUser *pasynUser)
Connects driver to device; This method is called when the driver's pasynCommon->connect() function is...
Definition ADVimba.cpp:238
CameraPtr getCamera()
Definition ADVimba.cpp:267
virtual asynStatus readEnum(asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
Definition ADVimba.cpp:657
Definition GenICamFeature.h:41
Definition GenICamFeature.h:123
Definition ListCameras.cpp:41
Definition ListCameras.cpp:40