areaDetector 1-9
Public Member Functions | Protected Attributes
AndorCCD Class Reference

Driver class for Andor CCD. More...

#include <andorCCD.h>

Inheritance diagram for AndorCCD:
ADDriver asynNDArrayDriver asynPortDriver

List of all members.

Public Member Functions

 AndorCCD (const char *portName, int maxBuffers, size_t maxMemory, const char *installPath, int priority, int stackSize)
 Constructor for Andor driver; most parameters are simply passed to ADDriver::ADDriver.
virtual ~AndorCCD ()
 Destructor.
virtual asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Called when asyn clients call pasynInt32->write().
virtual asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 Called when asyn clients call pasynFloat64->write().
virtual void report (FILE *fp, int details)
 Report status of the driver.
virtual asynStatus readEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
 Called when asyn clients call pasynEnum->read().
void statusTask (void)
 Update status of detector.
void dataTask (void)
 Do data readout from the detector.

Protected Attributes

int AndorCoolerParam
int AndorTempStatusMessage
int AndorMessage
int AndorShutterMode
int AndorShutterExTTL
int AndorPalFileName
int AndorAccumulatePeriod
int AndorPreAmpGain
int AndorAdcSpeed

Detailed Description

Driver class for Andor CCD.

This inherits from ADDriver class in areaDetector.


Constructor & Destructor Documentation

AndorCCD::AndorCCD ( const char *  portName,
int  maxBuffers,
size_t  maxMemory,
const char *  installPath,
int  priority,
int  stackSize 
)

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

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

Parameters:
[in]portNameThe name of the asyn port driver to be created.
[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]installPathThe path to the Andor directory containing the detector INI files, etc. This can be specified as an empty string ("") for new detectors that don't use the INI files on Windows, but must be a valid path on Linux.
[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.
AndorCCD::~AndorCCD ( ) [virtual]

Destructor.

Free resources and closes the Andor library


Member Function Documentation

void AndorCCD::dataTask ( void  )

Do data readout from the detector.

Meant to be run in own thread.

asynStatus AndorCCD::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 AndorCCD::report ( FILE *  fp,
int  details 
) [virtual]

Report status of the driver.

Prints details about the detector in us if details>0. It then calls the ADDriver::report() method.

Parameters:
[in]fpFile pointed passed by caller where the output is written to.
[in]detailsControls the level of detail in the report.

Reimplemented from asynNDArrayDriver.

void AndorCCD::statusTask ( void  )

Update status of detector.

Meant to be run in own thread.

asynStatus AndorCCD::writeFloat64 ( asynUser *  pasynUser,
epicsFloat64  value 
) [virtual]

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

This function performs actions for some parameters. For all parameters it sets the value in the parameter library and calls any registered callbacks.

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

Reimplemented from asynPortDriver.

asynStatus AndorCCD::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 
) [virtual]

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

This function performs actions for some parameters, including ADAcquire, ADBinX, etc. For all parameters it sets the value in the parameter library and calls any registered callbacks..

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

Reimplemented from ADDriver.


Member Data Documentation

int AndorCCD::AndorAdcSpeed [protected]
int AndorCCD::AndorCoolerParam [protected]
int AndorCCD::AndorMessage [protected]
int AndorCCD::AndorPalFileName [protected]
int AndorCCD::AndorPreAmpGain [protected]
int AndorCCD::AndorShutterExTTL [protected]
int AndorCCD::AndorShutterMode [protected]

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