areaDetector
3-13
EPICS areaDetector framework
|
Driver for the Perkin Elmer Dexela CMOS flat panel detectors. More...
#include <Dexela.h>
Public Member Functions | |
Dexela (const char *portName, int detIndex, int maxBuffers, size_t maxMemory, int priority, int stackSize) | |
Constructor for Dexela driver; most parameters are simply passed to ADDriver::ADDriver. More... | |
virtual asynStatus | writeInt32 (asynUser *pasynUser, epicsInt32 value) |
Called when asyn clients call pasynInt32->write(). More... | |
virtual asynStatus | writeFloat64 (asynUser *pasynUser, epicsFloat64 value) |
Called when asyn clients call pasynFloat64->write(). More... | |
virtual asynStatus | readEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn) |
Called when asyn clients call pasynEnum->read(). More... | |
void | report (FILE *fp, int details) |
Report status of the driver. More... | |
void | acquireStopTask (void) |
void | newFrameCallback (int frameCounter, int bufferNumber) |
~Dexela () | |
Destructor for Dexela driver; most parameters are simply passed to ADDriver::ADDriver. More... | |
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 | 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... | |
virtual void | updateTimeStamps (NDArray *pArray) |
asynStatus | incrementQueuedArrayCount () |
asynStatus | decrementQueuedArrayCount () |
int | getQueuedArrayCount () |
void | updateQueuedArrayCount () |
Additional Inherited Members | |
Public Attributes inherited from asynNDArrayDriver | |
class NDArrayPool * | pNDArrayPool |
An NDArrayPool pointer that is initialized to pNDArrayPoolPvt_ in the constructor. More... | |
Driver for the Perkin Elmer Dexela CMOS flat panel detectors.
Dexela::Dexela | ( | const char * | portName, |
int | detIndex, | ||
int | maxBuffers, | ||
size_t | maxMemory, | ||
int | priority, | ||
int | stackSize | ||
) |
Constructor for Dexela 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.
[in] | portName | The name of the asyn port driver to be created. |
[in] | detIndex | The detector index in system (0=first detector, etc.) |
[in] | maxBuffers | The 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] | maxMemory | The 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] | priority | The thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags. |
[in] | stackSize | The stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags. |
Dexela::~Dexela | ( | ) |
Destructor for Dexela driver; most parameters are simply passed to ADDriver::ADDriver.
Frees all resources and calls Acquisition_Close()
void Dexela::acquireStopTask | ( | void | ) |
void Dexela::newFrameCallback | ( | int | frameCounter, |
int | bufferNumber | ||
) |
Correct for detector offset and gain as necessary
Correct for dead pixels as necessary
|
virtual |
Called when asyn clients call pasynEnum->read().
Sets the enum values and strings for DEX_BinningMode, DEX_FullWellMode, and ADTriggerMode
[in] | pasynUser | pasynUser structure that encodes the reason and address. |
[in] | strings | Array of string pointers. |
[in] | values | Array of values |
[in] | severities | Array of severities |
[in] | nElements | Size of value array |
[out] | nIn | Number of elements actually returned |
|
virtual |
Report status of the driver.
Prints details about the detector in us if details>0. Prints information about all local and network detectors if details>1. It then calls the ADDriver::report() method.
[in] | fp | File pointed passed by caller where the output is written to. |
[in] | details | Controls the level of detail in the report. |
Reimplemented from asynNDArrayDriver.
|
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.
[in] | pasynUser | pasynUser structure that encodes the reason and address. |
[in] | value | Value to write. |
|
virtual |
Called when asyn clients call pasynInt32->write().
This function performs actions for some parameters, including ADAcquire, DEX_AcquireOffset, etc. For all parameters it sets the value in the parameter library and calls any registered callbacks..
[in] | pasynUser | pasynUser structure that encodes the reason and address. |
[in] | value | Value to write. |
Reimplemented from ADDriver.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |