areaDetector  3-12-1
EPICS areaDetector framework
Public Member Functions | Protected Attributes | List of all members
pointGrey Class Reference

Main driver class inherited from areaDetectors ADDriver class. More...

Inheritance diagram for pointGrey:
ADDriver asynNDArrayDriver

Public Member Functions

 pointGrey (const char *portName, int cameraId, int traceMask, int memoryChannel, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 Constructor for the pointGrey class. More...
 
virtual asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Sets an int32 parameter. More...
 
virtual asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 Sets an float64 parameter. More...
 
virtual asynStatus readEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
 
void report (FILE *fp, int details)
 These should be private but are called from C callback functions, must be public. More...
 
void imageGrabTask ()
 Task to grab images off the camera and send them up to areaDetector. More...
 
void shutdown ()
 
- Public Member Functions inherited from ADDriver
 ADDriver (const char *portName, int maxAddr, int numParams, int maxBuffers, size_t maxMemory, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 All of the arguments are simply passed to the constructor for the asynNDArrayDriver base class, except numParams. More...
 
virtual asynStatus connect (asynUser *pasynUser)
 Connects driver to device; This method is called when the driver's pasynCommon->connect() function is called. More...
 
virtual void setShutter (int open)
 Set the shutter position. More...
 
- Public Member Functions inherited from asynNDArrayDriver
 asynNDArrayDriver (const char *portName, int maxAddr, int maxBuffers, size_t maxMemory, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 This is the constructor for the asynNDArrayDriver class. More...
 
virtual ~asynNDArrayDriver ()
 
virtual asynStatus writeOctet (asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
 Called when asyn clients call pasynOctet->write(). More...
 
virtual asynStatus readGenericPointer (asynUser *pasynUser, void *genericPointer)
 This method copies an NDArray object from the asynNDArrayDriver to an NDArray pointer passed in by the caller. More...
 
virtual asynStatus writeGenericPointer (asynUser *pasynUser, void *genericPointer)
 This method currently does nothing, but it should be implemented in this base class. More...
 
virtual asynStatus setIntegerParam (int index, int value)
 Sets the value for an integer in the parameter library. More...
 
virtual asynStatus setIntegerParam (int list, int index, int value)
 Sets the value for an integer in the parameter library. More...
 
virtual asynStatus readInt32 (asynUser *pasynUser, epicsInt32 *value)
 
virtual asynStatus readFloat64 (asynUser *pasynUser, epicsFloat64 *value)
 
virtual asynStatus createFilePath (const char *path, int pathDepth)
 Function to create a directory path for a file. More...
 
virtual asynStatus checkPath ()
 Checks whether the directory specified NDFilePath parameter exists. More...
 
virtual bool checkPath (std::string &filePath)
 Checks whether the directory specified exists. More...
 
virtual asynStatus createFileName (int maxChars, char *fullFileName)
 Build a file name from component parts. More...
 
virtual asynStatus createFileName (int maxChars, char *filePath, char *fileName)
 Build a file name from component parts. More...
 
virtual asynStatus readNDAttributesFile ()
 Create this driver's NDAttributeList (pAttributeList) by reading an XML file This clears any existing attributes from this drivers' NDAttributeList and then creates a new list based on the XML file. More...
 
virtual asynStatus getAttributes (NDAttributeList *pAttributeList)
 Get the current values of attributes from this driver and appends them to an output attribute list. More...
 
asynStatus incrementQueuedArrayCount ()
 
asynStatus decrementQueuedArrayCount ()
 
int getQueuedArrayCount ()
 
void updateQueuedArrayCount ()
 

Protected Attributes

int PGPropertyAvail
 The following PGProperty parameters all have addr: 0-NUM_PROPERTIES-1. More...
 
int PGPropertyOnOffAvail
 
int PGPropertyOnOff
 Property on/off is available (int32 read) More...
 
int PGPropertyOnePushAvail
 Property on/off (int32 read) More...
 
int PGPropertyOnePush
 Property one push is available (int32 read) More...
 
int PGPropertyAutoAvail
 Property one push (int32 read) More...
 
int PGPropertyManAvail
 Property auto mode available (int32 read) More...
 
int PGPropertyAutoMode
 Property manual mode available (int32 read) More...
 
int PGPropertyAbsAvail
 Property control mode: 0:manual or 1:automatic (int32 read/write) More...
 
int PGPropertyAbsMode
 Property has absolute (floating point) controls (int32 read) More...
 
int PGPropertyValue
 Property raw/absolute mode: 0:raw or 1:absolute (int32 read/write) More...
 
int PGPropertyValueB
 Property value (int32 read/write) More...
 
int PGPropertyValueMax
 Property value B (int32 read/write) More...
 
int PGPropertyValueMin
 Property maximum value (int32 read) More...
 
int PGPropertyValueAbs
 Property minimum value (int32 read) More...
 
int PGPropertyValueAbsMax
 Property absolute value (float64 read/write) More...
 
int PGPropertyValueAbsMin
 Property absolute maximum value (float64 read) More...
 
int PGGigEPropertyValue
 Property absolute minimum value (float64 read) More...
 
int PGGigEPropertyValueMax
 GigE property value (int32 read/write) More...
 
int PGGigEPropertyValueMin
 GigE property maximum value (int32 read) More...
 
int PGVideoMode
 GigE property minimum value (int32 read) More...
 
int PGFormat7Mode
 Video mode enum VideoMode, 0-NUM_VIDEOMODES-1 (int32 read/write) More...
 
int PGBinningMode
 Format7 mode enum Mode, 0-NUM_MODES-1 (int32 read/write) More...
 
int PGFrameRate
 Binning enum Binning, 0-NUM_BINNINGS-1 (int32 read/write) More...
 
int PGPixelFormat
 Frame rate enum FrameRate, 0-NUM_FRAMERATES-1 (int32 read/write) More...
 
int PGConvertPixelFormat
 The pixel format when VideoFormat=Format7 enum PixelFormat, 0-NUM_PIXEL_FORMATS-1 (int32 read/write) More...
 
int PGTriggerSource
 The pixel format to convert to when input. More...
 
int PGTriggerPolarity
 Trigger source (int32 write/read) More...
 
int PGSoftwareTrigger
 Trigger polarity (int32 write/read) More...
 
int PGSkipFrames
 Issue a software trigger (int32 write/read) More...
 
int PGStrobeSource
 Frames to skip in trigger mode 3 (int32 write/read) More...
 
int PGStrobePolarity
 Strobe source GPIO pin (int32 write/read) More...
 
int PGStrobeEnable
 Strobe polarity (low/high) (int32 write/read) More...
 
int PGStrobeDelay
 Strobe enable/disable strobe (int32 write/read) More...
 
int PGStrobeDuration
 Strobe delay (float64 write/read) More...
 
int PGPacketSize
 Strobe duration (float64 write/read) More...
 
int PGPacketSizeActual
 Size of data packets from camera (int32 write/read) More...
 
int PGMaxPacketSize
 Size of data packets from camera (int32 write/read) More...
 
int PGPacketDelay
 Maximum size of data packets from camera (int32 write/read) More...
 
int PGPacketDelayActual
 Packet delay in usec from camera, GigE only (int32 write/read) More...
 
int PGPacketResendEnable
 Packet delay in usec from camera, GigE only (int32 read) More...
 
int PGBandwidth
 Packet resend enable, GigE only (int32 read/write) More...
 
int PGTimeStampMode
 Bandwidth in MB/s (float64 read) More...
 
int PGCorruptFrames
 Time stamp mode (PGTimeStamp_t) (int32 write/read) More...
 
int PGDriverDropped
 Number of corrupt frames (int32 read) More...
 
int PGTransmitFailed
 Number of driver dropped frames (int32 read) More...
 
int PGDroppedFrames
 Number of transmit failures (int32 read) More...
 
- Protected Attributes inherited from ADDriver
int ADGain
 
int ADBinX
 
int ADBinY
 
int ADMinX
 
int ADMinY
 
int ADSizeX
 
int ADSizeY
 
int ADMaxSizeX
 
int ADMaxSizeY
 
int ADReverseX
 
int ADReverseY
 
int ADFrameType
 
int ADImageMode
 
int ADNumExposures
 
int ADNumExposuresCounter
 
int ADNumImages
 
int ADNumImagesCounter
 
int ADAcquireTime
 
int ADAcquirePeriod
 
int ADTimeRemaining
 
int ADStatus
 
int ADTriggerMode
 
int ADShutterControl
 
int ADShutterControlEPICS
 
int ADShutterStatus
 
int ADShutterMode
 
int ADShutterOpenDelay
 
int ADShutterCloseDelay
 
int ADTemperature
 
int ADTemperatureActual
 
int ADReadStatus
 
int ADStatusMessage
 
int ADStringToServer
 
int ADStringFromServer
 
bool deviceIsReachable
 
- Protected Attributes inherited from asynNDArrayDriver
int NDPortNameSelf
 
int NDADCoreVersion
 
int NDDriverVersion
 
int ADManufacturer
 
int ADModel
 
int ADSerialNumber
 
int ADSDKVersion
 
int ADFirmwareVersion
 
int ADAcquire
 
int ADAcquireBusy
 
int ADWaitForPlugins
 
int NDArraySizeX
 
int NDArraySizeY
 
int NDArraySizeZ
 
int NDArraySize
 
int NDNDimensions
 
int NDDimensions
 
int NDDataType
 
int NDColorMode
 
int NDUniqueId
 
int NDTimeStamp
 
int NDEpicsTSSec
 
int NDEpicsTSNsec
 
int NDBayerPattern
 
int NDCodec
 
int NDCompressedSize
 
int NDArrayCounter
 
int NDFilePath
 
int NDFilePathExists
 
int NDFileName
 
int NDFileNumber
 
int NDFileTemplate
 
int NDAutoIncrement
 
int NDFullFileName
 
int NDFileFormat
 
int NDAutoSave
 
int NDWriteFile
 
int NDReadFile
 
int NDFileWriteMode
 
int NDFileWriteStatus
 
int NDFileWriteMessage
 
int NDFileNumCapture
 
int NDFileNumCaptured
 
int NDFileCapture
 
int NDFileDeleteDriverFile
 
int NDFileLazyOpen
 
int NDFileCreateDir
 
int NDFileTempSuffix
 
int NDAttributesFile
 
int NDAttributesStatus
 
int NDAttributesMacros
 
int NDArrayData
 
int NDArrayCallbacks
 
int NDPoolMaxBuffers
 
int NDPoolAllocBuffers
 
int NDPoolFreeBuffers
 
int NDPoolMaxMemory
 
int NDPoolUsedMemory
 
int NDPoolEmptyFreeList
 
int NDNumQueuedArrays
 
class NDArray ** pArrays
 An array of NDArray pointers used to store data in the driver. More...
 
class NDAttributeListpAttributeList
 An NDAttributeList object used to obtain the current values of a set of attributes. More...
 
int threadStackSize_
 
int threadPriority_
 

Additional Inherited Members

- Public Attributes inherited from asynNDArrayDriver
class NDArrayPoolpNDArrayPool
 An NDArrayPool pointer that is initialized to pNDArrayPoolPvt_ in the constructor. More...
 

Detailed Description

Main driver class inherited from areaDetectors ADDriver class.

One instance of this class will control one camera.

Constructor & Destructor Documentation

◆ pointGrey()

pointGrey::pointGrey ( const char *  portName,
int  cameraId,
int  traceMask,
int  memoryChannel,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)

Constructor for the pointGrey class.

Parameters
[in]portNameasyn port name to assign to the camera.
[in]cameraIdThe camera index or serial number.
[in]traceMaskThe initial value of the asynTraceMask.

If set to 0 or 1 then asynTraceMask will be set to ASYN_TRACE_ERROR. If set to 0x21 (ASYN_TRACE_WARNING | ASYN_TRACE_ERROR) then each call to the FlyCap2 library will be traced including during initialization.

Parameters
[in]memoryChannelThe camera memory channel (non-volatile memory containing camera parameters) to load during initialization. If 0 no memory channel is loaded. If >=1 thenRestoreFromMemoryChannel(memoryChannel-1) is called.

Set memoryChannel to 1 to work around a bug in the Linux GigE driver in R2.0.

Parameters
[in]maxBuffersMaxiumum number of NDArray objects (image buffers) this driver is allowed to allocate. This driver requires 2 buffers, and each queue element in a plugin can require one buffer which will all need to be added up in this parameter. 0=unlimited.
[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.

Member Function Documentation

◆ imageGrabTask()

void pointGrey::imageGrabTask ( )

Task to grab images off the camera and send them up to areaDetector.

◆ readEnum()

asynStatus pointGrey::readEnum ( asynUser *  pasynUser,
char *  strings[],
int  values[],
int  severities[],
size_t  nElements,
size_t *  nIn 
)
virtual

◆ report()

void pointGrey::report ( FILE *  fp,
int  details 
)
virtual

These should be private but are called from C callback functions, must be public.

Print out a report; calls ADDriver::report to get base class report as well.

Parameters
[in]fpFile pointer to write output to
[in]detailsLevel of detail desired. If >1 prints information about supported video formats and modes, etc.

Reimplemented from asynNDArrayDriver.

◆ shutdown()

void pointGrey::shutdown ( void  )

◆ writeFloat64()

asynStatus pointGrey::writeFloat64 ( asynUser *  pasynUser,
epicsFloat64  value 
)
virtual

Sets an float64 parameter.

Parameters
[in]pasynUserasynUser structure that contains the function code in pasynUser->reason.
[in]valueThe value for this parameter

Takes action if the function code requires it. The PGPropertyValueAbs function code makes calls to the Firewire library from this function.

◆ writeInt32()

asynStatus pointGrey::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 
)
virtual

Sets an int32 parameter.

Parameters
[in]pasynUserasynUser structure that contains the function code in pasynUser->reason.
[in]valueThe value for this parameter

Takes action if the function code requires it. ADAcquire, ADSizeX, and many other function codes make calls to the Firewire library from this function.

Reimplemented from ADDriver.

Member Data Documentation

◆ PGBandwidth

int pointGrey::PGBandwidth
protected

Packet resend enable, GigE only (int32 read/write)

◆ PGBinningMode

int pointGrey::PGBinningMode
protected

Format7 mode enum Mode, 0-NUM_MODES-1 (int32 read/write)

◆ PGConvertPixelFormat

int pointGrey::PGConvertPixelFormat
protected

The pixel format when VideoFormat=Format7 enum PixelFormat, 0-NUM_PIXEL_FORMATS-1 (int32 read/write)

◆ PGCorruptFrames

int pointGrey::PGCorruptFrames
protected

Time stamp mode (PGTimeStamp_t) (int32 write/read)

◆ PGDriverDropped

int pointGrey::PGDriverDropped
protected

Number of corrupt frames (int32 read)

◆ PGDroppedFrames

int pointGrey::PGDroppedFrames
protected

Number of transmit failures (int32 read)

◆ PGFormat7Mode

int pointGrey::PGFormat7Mode
protected

Video mode enum VideoMode, 0-NUM_VIDEOMODES-1 (int32 read/write)

◆ PGFrameRate

int pointGrey::PGFrameRate
protected

Binning enum Binning, 0-NUM_BINNINGS-1 (int32 read/write)

◆ PGGigEPropertyValue

int pointGrey::PGGigEPropertyValue
protected

Property absolute minimum value (float64 read)

◆ PGGigEPropertyValueMax

int pointGrey::PGGigEPropertyValueMax
protected

GigE property value (int32 read/write)

◆ PGGigEPropertyValueMin

int pointGrey::PGGigEPropertyValueMin
protected

GigE property maximum value (int32 read)

◆ PGMaxPacketSize

int pointGrey::PGMaxPacketSize
protected

Size of data packets from camera (int32 write/read)

◆ PGPacketDelay

int pointGrey::PGPacketDelay
protected

Maximum size of data packets from camera (int32 write/read)

◆ PGPacketDelayActual

int pointGrey::PGPacketDelayActual
protected

Packet delay in usec from camera, GigE only (int32 write/read)

◆ PGPacketResendEnable

int pointGrey::PGPacketResendEnable
protected

Packet delay in usec from camera, GigE only (int32 read)

◆ PGPacketSize

int pointGrey::PGPacketSize
protected

Strobe duration (float64 write/read)

◆ PGPacketSizeActual

int pointGrey::PGPacketSizeActual
protected

Size of data packets from camera (int32 write/read)

◆ PGPixelFormat

int pointGrey::PGPixelFormat
protected

Frame rate enum FrameRate, 0-NUM_FRAMERATES-1 (int32 read/write)

◆ PGPropertyAbsAvail

int pointGrey::PGPropertyAbsAvail
protected

Property control mode: 0:manual or 1:automatic (int32 read/write)

◆ PGPropertyAbsMode

int pointGrey::PGPropertyAbsMode
protected

Property has absolute (floating point) controls (int32 read)

◆ PGPropertyAutoAvail

int pointGrey::PGPropertyAutoAvail
protected

Property one push (int32 read)

◆ PGPropertyAutoMode

int pointGrey::PGPropertyAutoMode
protected

Property manual mode available (int32 read)

◆ PGPropertyAvail

int pointGrey::PGPropertyAvail
protected

The following PGProperty parameters all have addr: 0-NUM_PROPERTIES-1.

◆ PGPropertyManAvail

int pointGrey::PGPropertyManAvail
protected

Property auto mode available (int32 read)

◆ PGPropertyOnePush

int pointGrey::PGPropertyOnePush
protected

Property one push is available (int32 read)

◆ PGPropertyOnePushAvail

int pointGrey::PGPropertyOnePushAvail
protected

Property on/off (int32 read)

◆ PGPropertyOnOff

int pointGrey::PGPropertyOnOff
protected

Property on/off is available (int32 read)

◆ PGPropertyOnOffAvail

int pointGrey::PGPropertyOnOffAvail
protected

◆ PGPropertyValue

int pointGrey::PGPropertyValue
protected

Property raw/absolute mode: 0:raw or 1:absolute (int32 read/write)

◆ PGPropertyValueAbs

int pointGrey::PGPropertyValueAbs
protected

Property minimum value (int32 read)

◆ PGPropertyValueAbsMax

int pointGrey::PGPropertyValueAbsMax
protected

Property absolute value (float64 read/write)

◆ PGPropertyValueAbsMin

int pointGrey::PGPropertyValueAbsMin
protected

Property absolute maximum value (float64 read)

◆ PGPropertyValueB

int pointGrey::PGPropertyValueB
protected

Property value (int32 read/write)

◆ PGPropertyValueMax

int pointGrey::PGPropertyValueMax
protected

Property value B (int32 read/write)

◆ PGPropertyValueMin

int pointGrey::PGPropertyValueMin
protected

Property maximum value (int32 read)

◆ PGSkipFrames

int pointGrey::PGSkipFrames
protected

Issue a software trigger (int32 write/read)

◆ PGSoftwareTrigger

int pointGrey::PGSoftwareTrigger
protected

Trigger polarity (int32 write/read)

◆ PGStrobeDelay

int pointGrey::PGStrobeDelay
protected

Strobe enable/disable strobe (int32 write/read)

◆ PGStrobeDuration

int pointGrey::PGStrobeDuration
protected

Strobe delay (float64 write/read)

◆ PGStrobeEnable

int pointGrey::PGStrobeEnable
protected

Strobe polarity (low/high) (int32 write/read)

◆ PGStrobePolarity

int pointGrey::PGStrobePolarity
protected

Strobe source GPIO pin (int32 write/read)

◆ PGStrobeSource

int pointGrey::PGStrobeSource
protected

Frames to skip in trigger mode 3 (int32 write/read)

◆ PGTimeStampMode

int pointGrey::PGTimeStampMode
protected

Bandwidth in MB/s (float64 read)

◆ PGTransmitFailed

int pointGrey::PGTransmitFailed
protected

Number of driver dropped frames (int32 read)

◆ PGTriggerPolarity

int pointGrey::PGTriggerPolarity
protected

Trigger source (int32 write/read)

◆ PGTriggerSource

int pointGrey::PGTriggerSource
protected

The pixel format to convert to when input.

pixel format is raw[8,12,16] enum PixelFormat, 0-NUM_PIXEL_FORMATS-1 (int32 read/write)

◆ PGVideoMode

int pointGrey::PGVideoMode
protected

GigE property minimum value (int32 read)


The documentation for this class was generated from the following file: