PerkinElmer Class Reference

Driver for the Perkin Elmer flat panel amorphous silicon detectors. More...

#include <PerkinElmer.h>

Inheritance diagram for PerkinElmer:

ADDriver asynNDArrayDriver asynPortDriver

List of all members.

Public Member Functions

 PerkinElmer (const char *portName, int maxSizeX, int maxSizeY, NDDataType_t dataType, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 Constructor for this driver.
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().
void report (FILE *fp, int details)
 Report status of the driver.
void acquireTask ()
 This task is spawned off in a new thread to watch over acquisition.
void frameCallback (unsigned int buffFrame)
 called from OnEndFrameCallback to process data from the detector into the pArray
void offsetCallback ()
 Called from OnEndAcqCallback after offset data has been collected to flag to the user that this data is available.
void gainCallback ()
 Called from OnEndAcqCallback after gain data has been collected to flag to the user that this data is available.
int getParamADNumImagesCounter ()
int getParamPE_ImageNumber ()
int getParamPE_FrameBufferIndex ()
 ~PerkinElmer ()

Public Attributes

int imagesRemaining
epicsEventId startAcquisitionEventId
epicsEventId stopAcquisitionEventId
NDArraypRaw

Protected Attributes

int PE_SystemID
int PE_Initialize
int PE_StatusRBV
int PE_AcquireOffset
int PE_NumOffsetFrames
int PE_UseOffset
int PE_OffsetAvailable
int PE_AcquireGain
int PE_NumGainFrames
int PE_UseGain
int PE_GainAvailable
int PE_PixelCorrectionAvailable
int PE_Gain
int PE_GainRBV
int PE_DwellTime
int PE_DwellTimeRBV
int PE_NumFrameBuffers
int PE_NumFrameBuffersRBV
int PE_SyncMode
int PE_SyncModeRBV
int PE_Trigger
int PE_SyncTime
int PE_SyncTimeRBV
int PE_UsePixelCorrection
int PE_LoadCorrectionFiles
int PE_SaveCorrectionFiles
int PE_PixelCorrectionFile
int PE_PixelCorrectionFileRBV
int PE_CorrectionsDirectory
int PE_FrameBufferIndex
int PE_ImageNumber
int PE_FastCollectMode
int PE_SkipLeadingPulses
int PE_NumPulsesToSkip


Detailed Description

Driver for the Perkin Elmer flat panel amorphous silicon detectors.

Constructor & Destructor Documentation

PerkinElmer::PerkinElmer ( const char *  portName,
int  maxSizeX,
int  maxSizeY,
NDDataType_t  dataType,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)

Constructor for this driver.

PerkinElmer::~PerkinElmer (  ) 


Member Function Documentation

void PerkinElmer::acquireTask (  ) 

This task is spawned off in a new thread to watch over acquisition.

void PerkinElmer::frameCallback ( unsigned int  buffFrame  ) 

called from OnEndFrameCallback to process data from the detector into the pArray

void PerkinElmer::gainCallback (  ) 

Called from OnEndAcqCallback after gain data has been collected to flag to the user that this data is available.

int PerkinElmer::getParamADNumImagesCounter (  ) 

int PerkinElmer::getParamPE_FrameBufferIndex (  ) 

int PerkinElmer::getParamPE_ImageNumber (  ) 

void PerkinElmer::offsetCallback (  ) 

Called from OnEndAcqCallback after offset data has been collected to flag to the user that this data is available.

void PerkinElmer::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] fp File pointed passed by caller where the output is written to.
[in] details If >5 then NDArrayPool::report and NDAttributeList::report are both called.

Reimplemented from asynNDArrayDriver.

asynStatus PerkinElmer::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] pasynUser pasynUser structure that encodes the reason and address.
[in] value Value to write.

Reimplemented from asynPortDriver.

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

Sets an int32 parameter.

Parameters:
[in] pasynUser asynUser structure that contains the function code in pasynUser->reason.
[in] value The 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 PerkinElmer::PE_AcquireGain [protected]

int PerkinElmer::PE_DwellTime [protected]

int PerkinElmer::PE_Gain [protected]

int PerkinElmer::PE_GainRBV [protected]

int PerkinElmer::PE_ImageNumber [protected]

int PerkinElmer::PE_Initialize [protected]

int PerkinElmer::PE_StatusRBV [protected]

int PerkinElmer::PE_SyncMode [protected]

int PerkinElmer::PE_SyncModeRBV [protected]

int PerkinElmer::PE_SyncTime [protected]

int PerkinElmer::PE_SyncTimeRBV [protected]

int PerkinElmer::PE_SystemID [protected]

int PerkinElmer::PE_Trigger [protected]

int PerkinElmer::PE_UseGain [protected]

int PerkinElmer::PE_UseOffset [protected]


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

Generated on Tue Aug 9 14:44:38 2011 for areaDetector by  doxygen 1.5.7.1