areaDetector 1-9
Public Member Functions | Protected Attributes
andor3 Class Reference
Inheritance diagram for andor3:
ADDriver asynNDArrayDriver asynPortDriver

List of all members.

Public Member Functions

 andor3 (const char *portName, int cameraId, int maxBuffers, size_t maxMemory, int priority, int stackSize, int maxFrames)
 Constructor for Andor3 driver; most parameters are simply passed to ADDriver::ADDriver.
virtual asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Sets an int32 parameter.
virtual asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 Called when asyn clients call pasynFloat64->write().
virtual asynStatus readEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
 Called when asyn clients call pasynEnum->read().
virtual void report (FILE *fp, int details)
 Report status of the driver.
void shutdown ()
void imageTask ()
void tempTask ()
int getFeature (int paramIndex)

Protected Attributes

int Andor3FrameRate
int Andor3PixelEncoding
int Andor3FullAOIControl
int Andor3Binning
int Andor3ShutterMode
int Andor3SoftwareTrigger
int Andor3SensorCooling
int Andor3TempControl
int Andor3TempStatus
int Andor3SerialNumber
int Andor3FirmwareVersion
int Andor3SoftwareVersion
int Andor3ControllerID
int Andor3Overlap
int Andor3ReadoutRate
int Andor3ReadoutTime
int Andor3TransferRate
int Andor3PreAmpGain
int Andor3NoiseFilter
int Andor3FanSpeed

Constructor & Destructor Documentation

andor3::andor3 ( const char *  portName,
int  cameraId,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize,
int  maxFrames 
)

Constructor for Andor3 driver; most parameters are simply passed to ADDriver::ADDriver.

After calling the base class constructor this method creates a thread to collect the images from the detector and sets reasonable default values for the parameters defined in this class, asynNDArrayDriver, and ADDriver.

Parameters:
[in]portNameThe name of the asyn port driver to be created.
[in]cameraIdThe id number of the Andor camera (see listdevices example for number).
[in]maxBuffersThe maximum number of NDArray buffers that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited number of buffers.
[in]maxMemoryThe maximum amount of memory that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited amount of memory.
[in]priorityThe thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.
[in]stackSizeThe stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.
[in]maxFramesThe number of frame buffers to use in driver.

Member Function Documentation

int andor3::getFeature ( int  paramIndex)
void andor3::imageTask ( )
asynStatus andor3::readEnum ( asynUser *  pasynUser,
char *  strings[],
int  values[],
int  severities[],
size_t  nElements,
size_t *  nIn 
) [virtual]

Called when asyn clients call pasynEnum->read().

The base class implementation simply prints an error message. Derived classes may reimplement this function if required.

Parameters:
[in]pasynUserpasynUser structure that encodes the reason and address.
[in]stringsArray of string pointers.
[in]valuesArray of values
[in]severitiesArray of severities
[in]nElementsSize of value array
[out]nInNumber of elements actually returned

Reimplemented from asynPortDriver.

void andor3::report ( FILE *  fp,
int  details 
) [virtual]

Report status of the driver.

This method calls the report function in the asynPortDriver base class. It then calls the NDArrayPool::report() method if details >5.

Parameters:
[in]fpFile pointed passed by caller where the output is written to.
[in]detailsIf >5 then NDArrayPool::report and NDAttributeList::report are both called.

Reimplemented from asynNDArrayDriver.

void andor3::shutdown ( void  )
void andor3::tempTask ( void  )
asynStatus andor3::writeFloat64 ( asynUser *  pasynUser,
epicsFloat64  value 
) [virtual]

Called when asyn clients call pasynFloat64->write().

The base class implementation simply sets the value in the parameter library and calls any registered callbacks for this pasynUser->reason and address. Derived classes will reimplement this function if they need to perform an action when an asynFloat64 value is written.

Parameters:
[in]pasynUserpasynUser structure that encodes the reason and address.
[in]valueValue to write.

Reimplemented from asynPortDriver.

asynStatus andor3::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. 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 ADDriver.


Member Data Documentation

int andor3::Andor3Binning [protected]
int andor3::Andor3ControllerID [protected]
int andor3::Andor3FanSpeed [protected]
int andor3::Andor3FrameRate [protected]
int andor3::Andor3NoiseFilter [protected]
int andor3::Andor3Overlap [protected]
int andor3::Andor3PixelEncoding [protected]
int andor3::Andor3PreAmpGain [protected]
int andor3::Andor3ReadoutRate [protected]
int andor3::Andor3ReadoutTime [protected]
int andor3::Andor3SensorCooling [protected]
int andor3::Andor3SerialNumber [protected]
int andor3::Andor3ShutterMode [protected]
int andor3::Andor3TempControl [protected]
int andor3::Andor3TempStatus [protected]
int andor3::Andor3TransferRate [protected]

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