areaDetector  3-14
EPICS areaDetector framework
Classes | Macros | Enumerations | Functions | Variables
ADPylon.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <epicsEvent.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <iocsh.h>
#include <cantProceed.h>
#include <epicsString.h>
#include <epicsExit.h>
#include <ADGenICam.h>
#include <epicsExport.h>
#include "PylonFeature.h"
#include "ADPylon.h"

Classes

class  ADPylonCameraEventHandler
 Pylon camera event handler. More...
 
class  ADPylonConfigurationEventHandler
 Pylon camera configuration event handler. More...
 
class  ADPylonImageEventHandler
 Pylon image grabber event handler. More...
 

Macros

#define DRIVER_VERSION   1
 
#define DRIVER_REVISION   0
 
#define DRIVER_MODIFICATION   0
 

Enumerations

enum  PYLONPixelConvert_t {
  PYLONPixelConvertNone , PYLONPixelConvertMono8 , PYLONPixelConvertMono16 , PYLONPixelConvertRGB8 ,
  PYLONPixelConvertRGB16
}
 
enum  PYLONTimeStamp_t { TimeStampCamera , TimeStampEPICS }
 
enum  PYLONUniqueId_t { UniqueIdCamera , UniqueIdDriver }
 

Functions

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

Variables

struct {
   Pylon::EPixelType   fmt
 
   NDColorMode_t   colorMode
 
   NDDataType_t   dataType
 
   NDBayerPattern_t   bayerFormat
 
pix_lookup []
 

Macro Definition Documentation

◆ DRIVER_MODIFICATION

#define DRIVER_MODIFICATION   0

◆ DRIVER_REVISION

#define DRIVER_REVISION   0

◆ DRIVER_VERSION

#define DRIVER_VERSION   1

Enumeration Type Documentation

◆ PYLONPixelConvert_t

Enumerator
PYLONPixelConvertNone 
PYLONPixelConvertMono8 
PYLONPixelConvertMono16 
PYLONPixelConvertRGB8 
PYLONPixelConvertRGB16 

◆ PYLONTimeStamp_t

Enumerator
TimeStampCamera 
TimeStampEPICS 

◆ PYLONUniqueId_t

Enumerator
UniqueIdCamera 
UniqueIdDriver 

Function Documentation

◆ ADPylonConfig()

int ADPylonConfig ( 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 ADPylon 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 ( ADPylonRegister  )

Variable Documentation

◆ bayerFormat

NDBayerPattern_t bayerFormat

◆ colorMode

NDColorMode_t colorMode

◆ dataType

NDDataType_t dataType

◆ fmt

Pylon::EPixelType fmt

◆ 

struct { ... } pix_lookup[]
Initial value:
= {
{ Pylon::PixelType_BayerBG8, NDColorModeBayer, NDUInt8, NDBayerBGGR },
{ Pylon::PixelType_BayerGB8, NDColorModeBayer, NDUInt8, NDBayerGBRG },
{ Pylon::PixelType_BayerGR8, NDColorModeBayer, NDUInt8, NDBayerGRBG },
{ Pylon::PixelType_Mono8, NDColorModeMono, NDUInt8, NDBayerBGGR },
{ Pylon::PixelType_RGB8packed, NDColorModeRGB1, NDUInt8, NDBayerBGGR },
{ Pylon::PixelType_BayerBG16, NDColorModeBayer, NDUInt16, NDBayerBGGR },
{ Pylon::PixelType_BayerGB16, NDColorModeBayer, NDUInt16, NDBayerGBRG },
{ Pylon::PixelType_BayerGR16, NDColorModeBayer, NDUInt16, NDBayerGRBG },
{ Pylon::PixelType_Mono16, NDColorModeMono, NDUInt16, NDBayerBGGR },
{ Pylon::PixelType_RGB16packed, NDColorModeRGB1, NDUInt16, NDBayerBGGR }
}
@ NDColorModeBayer
Bayer pattern image, 1 value per pixel but with color filter on detector.
Definition: NDArray.h:37
@ NDColorModeMono
Monochromatic image.
Definition: NDArray.h:36
@ NDColorModeRGB1
RGB image with pixel color interleave, data array is [3, NX, NY].
Definition: NDArray.h:38
@ NDBayerBGGR
First line BGBG, second line GRGR...
Definition: NDArray.h:55
@ NDBayerGRBG
First line GRGR, second line BGBG...
Definition: NDArray.h:54
@ NDBayerGBRG
First line GBGB, second line RGRG...
Definition: NDArray.h:53
@ NDUInt16
Unsigned 16-bit integer.
Definition: NDAttribute.h:34
@ NDUInt8
Unsigned 8-bit integer.
Definition: NDAttribute.h:32