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

Class from which areaDetector drivers are directly derived. More...

#include <ADDriver.h>

Inheritance diagram for ADDriver:
asynNDArrayDriver ADGenICam ADLambda ADnED ADPICam adsc andor3 AndorCCD aravisCamera BISDetector Dexela eigerDetector FastCCD FirewireDCAM FirewireWinDCAM LightField mar345 marCCD merlinDetector mythen NDDriverStdArrays PerkinElmer PhotonII pilatusDetector pixirad pointGrey prosilica PSL pvaDriver pvCam QImage roper simDetector SpecsAnalyser URLDriver xcamCamera

Public Member Functions

 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 writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Sets an int32 parameter. 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 void report (FILE *fp, int details)
 Report status of the driver. More...
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 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

Class from which areaDetector drivers are directly derived.

Constructor & Destructor Documentation

◆ ADDriver()

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.

As of R3-0 numParams is no longer used in asynNDArrayDriver but we have left it in here to avoid needing to change all drivers yet. In R5-0 we expect to remove maxBuffers and maxMemory as well, so we will wait until then to change the ADDriver constructor arguments. After calling the base class constructor this method sets reasonable default values for all of the parameters defined in ADDriver.h.

Member Function Documentation

◆ connect()

asynStatus ADDriver::connect ( asynUser *  pasynUser)

Connects driver to device; This method is called when the driver's pasynCommon->connect() function is called.

It uses the class variable deviceIsReachable to determine whether to call asynPortDriver::connect(), which in turn calls pasynManager::exceptionConnect() to signal that the driver is connected to the underlying hardware. Derived classes can override this method if they need to handle connect() calls in a more complex way. For example, with a network camera that can be temporarily unreachable the driver could attempt to connect to the camera each time that connect() is called.

[in]pasynUserThe pasynUser structure which contains information about the port and address

Reimplemented in FastCCD, prosilica, and ADLambda.

◆ setShutter()

void ADDriver::setShutter ( int  open)

Set the shutter position.

This method will open (1) or close (0) the shutter if ADShutterMode==ADShutterModeEPICS. Drivers will implement setShutter if they support ADShutterModeDetector. If ADShutterMode=ADShutterModeDetector they will control the shutter directly, else they will call this method.

[in]open1 (open) or 0 (closed)

Reimplemented in xcamCamera, marCCD, LightField, mar345, roper, BISDetector, and simDetector.

◆ writeInt32()

asynStatus ADDriver::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 

Sets an int32 parameter.

[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. Currently only ADShutterControl requires action here. This method is normally called from the writeInt32 method in derived classes, which should set the value of the parameter in the parameter library.

Reimplemented from asynNDArrayDriver.

Reimplemented in xcamCamera, pointGrey, pixirad, FastCCD, marCCD, adsc, ADAravis, SpecsAnalyser, pilatusDetector, ADnED, mar345, pvCam, LightField, merlinDetector, aravisCamera, roper, FirewireWinDCAM, eigerDetector, ADPICam, AndorCCD, mythen, FirewireDCAM, PerkinElmer, andor3, BISDetector, prosilica, PSL, Dexela, QImage, ADLambda, URLDriver, NDDriverStdArrays, PhotonII, ADGenICam, pvaDriver, and simDetector.

Member Data Documentation

◆ ADAcquirePeriod

int ADDriver::ADAcquirePeriod

◆ ADAcquireTime

int ADDriver::ADAcquireTime

◆ ADBinX

int ADDriver::ADBinX

◆ ADBinY

int ADDriver::ADBinY

◆ ADFrameType

int ADDriver::ADFrameType

◆ ADGain

int ADDriver::ADGain

◆ ADImageMode

int ADDriver::ADImageMode

◆ ADMaxSizeX

int ADDriver::ADMaxSizeX

◆ ADMaxSizeY

int ADDriver::ADMaxSizeY

◆ ADMinX

int ADDriver::ADMinX

◆ ADMinY

int ADDriver::ADMinY

◆ ADNumExposures

int ADDriver::ADNumExposures

◆ ADNumExposuresCounter

int ADDriver::ADNumExposuresCounter

◆ ADNumImages

int ADDriver::ADNumImages

◆ ADNumImagesCounter

int ADDriver::ADNumImagesCounter

◆ ADReadStatus

int ADDriver::ADReadStatus

◆ ADReverseX

int ADDriver::ADReverseX

◆ ADReverseY

int ADDriver::ADReverseY

◆ ADShutterCloseDelay

int ADDriver::ADShutterCloseDelay

◆ ADShutterControl

int ADDriver::ADShutterControl

◆ ADShutterControlEPICS

int ADDriver::ADShutterControlEPICS

◆ ADShutterMode

int ADDriver::ADShutterMode

◆ ADShutterOpenDelay

int ADDriver::ADShutterOpenDelay

◆ ADShutterStatus

int ADDriver::ADShutterStatus

◆ ADSizeX

int ADDriver::ADSizeX

◆ ADSizeY

int ADDriver::ADSizeY

◆ ADStatus

int ADDriver::ADStatus

◆ ADStatusMessage

int ADDriver::ADStatusMessage

◆ ADStringFromServer

int ADDriver::ADStringFromServer

◆ ADStringToServer

int ADDriver::ADStringToServer

◆ ADTemperature

int ADDriver::ADTemperature

◆ ADTemperatureActual

int ADDriver::ADTemperatureActual

◆ ADTimeRemaining

int ADDriver::ADTimeRemaining

◆ ADTriggerMode

int ADDriver::ADTriggerMode

◆ deviceIsReachable

bool ADDriver::deviceIsReachable

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