areaDetector  3-12-1
EPICS areaDetector framework
Macros | Enumerations | Functions
ADVimba.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <set>
#include <epicsEvent.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <iocsh.h>
#include <cantProceed.h>
#include <epicsString.h>
#include <epicsExit.h>
#include "VimbaCPP/Include/VimbaCPP.h"
#include "VimbaImageTransform/Include/VmbTransform.h"
#include <ADGenICam.h>
#include <epicsExport.h>
#include "VimbaFeature.h"
#include "ADVimba.h"

Macros

#define DRIVER_VERSION   1
 
#define DRIVER_REVISION   3
 
#define DRIVER_MODIFICATION   0
 
#define CALLBACK_MESSAGE_QUEUE_SIZE   10
 
#define NUM_VIMBA_BUFFERS   10
 

Enumerations

enum  VMBPixelConvert_t {
  VMBPixelConvertNone, VMBPixelConvertMono8, VMBPixelConvertMono16, VMBPixelConvertRGB8,
  VMBPixelConvertRGB16
}
 
enum  VMBTimeStamp_t { TimeStampCamera, TimeStampEPICS }
 
enum  VMBUniqueId_t { UniqueIdCamera, UniqueIdDriver }
 

Functions

int ADVimbaConfig (const char *portName, const char *cameraId, size_t maxMemory, int priority, int stackSize)
 Configuration function to configure one camera. More...
 
 epicsExportRegistrar (ADVimbaRegister)
 

Macro Definition Documentation

◆ CALLBACK_MESSAGE_QUEUE_SIZE

#define CALLBACK_MESSAGE_QUEUE_SIZE   10

◆ DRIVER_MODIFICATION

#define DRIVER_MODIFICATION   0

◆ DRIVER_REVISION

#define DRIVER_REVISION   3

◆ DRIVER_VERSION

#define DRIVER_VERSION   1

◆ NUM_VIMBA_BUFFERS

#define NUM_VIMBA_BUFFERS   10

Enumeration Type Documentation

◆ VMBPixelConvert_t

Enumerator
VMBPixelConvertNone 
VMBPixelConvertMono8 
VMBPixelConvertMono16 
VMBPixelConvertRGB8 
VMBPixelConvertRGB16 

◆ VMBTimeStamp_t

Enumerator
TimeStampCamera 
TimeStampEPICS 

◆ VMBUniqueId_t

Enumerator
UniqueIdCamera 
UniqueIdDriver 

Function Documentation

◆ ADVimbaConfig()

int ADVimbaConfig ( const char *  portName,
const char *  cameraId,
size_t  maxMemory,
int  priority,
int  stackSize 
)

Configuration function to configure one camera.

This function need to be called once for each camera to be used by the IOC. A call to this function instanciates one object from the ADVimba class.

Parameters
[in]portNameasyn port name to assign to the camera.
[in]cameraIdThe camera index or serial number; <1000 is assumed to be index, >=1000 is assumed to be serial number.
[in]maxMemoryMaximum memory (in bytes) that this driver is allowed to allocate. So if max. size = 1024x768 (8bpp) and maxBuffers is, say 14. maxMemory = 1024x768x14 = 11010048 bytes (~11MB). 0=unlimited.
[in]priorityThe EPICS thread priority for this driver. 0=use asyn default.
[in]stackSizeThe size of the stack for the EPICS port thread. 0=use asyn default.

◆ epicsExportRegistrar()

epicsExportRegistrar ( ADVimbaRegister  )