areaDetector  3-5-0
EPICS areaDetector framework
Public Member Functions | Protected Attributes | List of all members
FastCCD Class Reference

Driver class for FastCCD CCD. More...

#include <FastCCD.h>

Inheritance diagram for FastCCD:
ADDriver asynNDArrayDriver asynPortDriver

Public Member Functions

 FastCCD (const char *portName, int maxBuffers, size_t maxMemory, int priority, int stackSize, int packetBuffer, int imageBuffer, const char *baseIP, const char *fabricIP, const char *fabricMAC)
 Constructor for FastCCD driver; most parameters are simply passed to ADDriver::ADDriver. More...
 
 ~FastCCD ()
 Destructor. More...
 
asynStatus connect (asynUser *pasynUser)
 Connects driver to device; The base class implementation simply calls pasynManager->exceptionConnect if address is valid Derived classes can reimplement this function for real connection management. More...
 
asynStatus disconnect (asynUser *pasynUser)
 Disconnects driver from device; the base class implementation simply calls pasynManager->exceptionDisconnect. More...
 
asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Called when asyn clients call pasynInt32->writr(). More...
 
asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 Called when asyn clients call pasynFloat64->write(). More...
 
asynStatus writeOctet (asynUser *pasynUser, const char *value, size_t nc, size_t *na)
 Called when asyn clients call pasynOctet->write(). More...
 
void report (FILE *fp, int details)
 Report status of the driver. More...
 
void statusTask (void)
 Update status of detector. More...
 
void dataStatsTask (void)
 
void detectorWaitTask (void)
 
void messageCallback (const char *message, int severity)
 
void allocateImage (cin_data_frame_t *frame)
 
void processImage (cin_data_frame_t *frame)
 
- 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 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 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 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 readInt32 (asynUser *pasynUser, epicsInt32 *value)
 Called when asyn clients call pasynInt32->read(). More...
 
virtual asynStatus readFloat64 (asynUser *pasynUser, epicsFloat64 *value)
 Called when asyn clients call pasynFloat64->read(). 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 ()
 
- Public Member Functions inherited from asynPortDriver
 asynPortDriver (const char *portName, int maxAddr, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 Constructor for the asynPortDriver class. More...
 
 asynPortDriver (const char *portName, int maxAddr, int paramTableSize, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize) EPICS_DEPRECATED
 Legacy constructor for the asynPortDriver class (DEPRECATED - please use the one above instead). More...
 
virtual ~asynPortDriver ()
 Destructor for asynPortDriver class; frees resources allocated when port driver is created. More...
 
virtual asynStatus lock ()
 Locks the driver to prevent multiple threads from accessing memory at the same time. More...
 
virtual asynStatus unlock ()
 Unlocks the driver; called when an asyn client or driver is done accessing common memory. More...
 
virtual asynStatus getAddress (asynUser *pasynUser, int *address)
 Returns the asyn address associated with a pasynUser structure. More...
 
virtual asynStatus readUInt32Digital (asynUser *pasynUser, epicsUInt32 *value, epicsUInt32 mask)
 Called when asyn clients call pasynUInt32Digital->read(). More...
 
virtual asynStatus writeUInt32Digital (asynUser *pasynUser, epicsUInt32 value, epicsUInt32 mask)
 Called when asyn clients call pasynUInt32Digital->write(). More...
 
virtual asynStatus setInterruptUInt32Digital (asynUser *pasynUser, epicsUInt32 mask, interruptReason reason)
 Called when asyn clients call pasynUInt32Digital->setInterrupt(). More...
 
virtual asynStatus clearInterruptUInt32Digital (asynUser *pasynUser, epicsUInt32 mask)
 Called when asyn clients call pasynUInt32Digital->clearInterrupt(). More...
 
virtual asynStatus getInterruptUInt32Digital (asynUser *pasynUser, epicsUInt32 *mask, interruptReason reason)
 Called when asyn clients call pasynUInt32Digital->getInterrupt(). More...
 
virtual asynStatus getBounds (asynUser *pasynUser, epicsInt32 *low, epicsInt32 *high)
 Called when asyn clients call pasynInt32->getBounds(), returning the bounds on the asynInt32 interface for drivers that use raw units. More...
 
virtual asynStatus readOctet (asynUser *pasynUser, char *value, size_t maxChars, size_t *nActual, int *eomReason)
 Called when asyn clients call pasynOctet->read(). More...
 
virtual asynStatus flushOctet (asynUser *pasynUser)
 Called when asyn clients call pasynOctet->flush(). More...
 
virtual asynStatus setInputEosOctet (asynUser *pasynUser, const char *eos, int eosLen)
 Called when asyn clients call pasynOctet->setInputEos(). More...
 
virtual asynStatus getInputEosOctet (asynUser *pasynUser, char *eos, int eosSize, int *eosLen)
 Called when asyn clients call pasynOctet->getInputEos(). More...
 
virtual asynStatus setOutputEosOctet (asynUser *pasynUser, const char *eos, int eosLen)
 Called when asyn clients call pasynOctet->setOutputEos(). More...
 
virtual asynStatus getOutputEosOctet (asynUser *pasynUser, char *eos, int eosSize, int *eosLen)
 Called when asyn clients call pasynOctet->getOutputEos(). More...
 
virtual asynStatus readInt8Array (asynUser *pasynUser, epicsInt8 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt8Array->read(). More...
 
virtual asynStatus writeInt8Array (asynUser *pasynUser, epicsInt8 *value, size_t nElements)
 Called when asyn clients call pasynInt8Array->write(). More...
 
virtual asynStatus doCallbacksInt8Array (epicsInt8 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynInt8Array interface. More...
 
virtual asynStatus readInt16Array (asynUser *pasynUser, epicsInt16 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt16Array->read(). More...
 
virtual asynStatus writeInt16Array (asynUser *pasynUser, epicsInt16 *value, size_t nElements)
 Called when asyn clients call pasynInt16Array->write(). More...
 
virtual asynStatus doCallbacksInt16Array (epicsInt16 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynInt16Array interface. More...
 
virtual asynStatus readInt32Array (asynUser *pasynUser, epicsInt32 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt32Array->read(). More...
 
virtual asynStatus writeInt32Array (asynUser *pasynUser, epicsInt32 *value, size_t nElements)
 Called when asyn clients call pasynInt32Array->write(). More...
 
virtual asynStatus doCallbacksInt32Array (epicsInt32 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynInt32Array interface. More...
 
virtual asynStatus readFloat32Array (asynUser *pasynUser, epicsFloat32 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynFloat32Array->read(). More...
 
virtual asynStatus writeFloat32Array (asynUser *pasynUser, epicsFloat32 *value, size_t nElements)
 Called when asyn clients call pasynFloat32Array->write(). More...
 
virtual asynStatus doCallbacksFloat32Array (epicsFloat32 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynFloat32Array interface. More...
 
virtual asynStatus readFloat64Array (asynUser *pasynUser, epicsFloat64 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynFloat64Array->read(). More...
 
virtual asynStatus writeFloat64Array (asynUser *pasynUser, epicsFloat64 *value, size_t nElements)
 Called when asyn clients call pasynFloat64Array->write(). More...
 
virtual asynStatus doCallbacksFloat64Array (epicsFloat64 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynFloat64Array interface. More...
 
virtual asynStatus doCallbacksGenericPointer (void *pointer, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynGenericPointer interface. More...
 
virtual asynStatus readOption (asynUser *pasynUser, const char *key, char *value, int maxChars)
 Called when asyn clients call pasynOption->read(). More...
 
virtual asynStatus writeOption (asynUser *pasynUser, const char *key, const char *value)
 Called when asyn clients call pasynOption->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...
 
virtual asynStatus writeEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements)
 Called when asyn clients call pasynEnum->write(). More...
 
virtual asynStatus doCallbacksEnum (char *strings[], int values[], int severities[], size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynEnum interface. More...
 
virtual asynStatus drvUserCreate (asynUser *pasynUser, const char *drvInfo, const char **pptypeName, size_t *psize)
 Called by asynManager to pass a pasynUser structure and drvInfo string to the driver; Assigns pasynUser->reason based on the value of the drvInfo string. More...
 
virtual asynStatus drvUserGetType (asynUser *pasynUser, const char **pptypeName, size_t *psize)
 Returns strings associated with driver-specific commands. More...
 
virtual asynStatus drvUserDestroy (asynUser *pasynUser)
 Frees any resources allocated by drvUserCreate. More...
 
virtual asynStatus createParam (const char *name, asynParamType type, int *index)
 Creates a parameter in the parameter library. More...
 
virtual asynStatus createParam (int list, const char *name, asynParamType type, int *index)
 Creates a parameter in the parameter library. More...
 
virtual asynStatus getNumParams (int *numParams)
 Returns the number of parameters in the parameter library. More...
 
virtual asynStatus getNumParams (int list, int *numParams)
 Returns the number of parameters in the parameter library. More...
 
virtual asynStatus findParam (const char *name, int *index)
 Finds a parameter in the parameter library. More...
 
virtual asynStatus findParam (int list, const char *name, int *index)
 Finds a parameter in the parameter library. More...
 
virtual asynStatus getParamName (int index, const char **name)
 Returns the name of a parameter in the parameter library. More...
 
virtual asynStatus getParamName (int list, int index, const char **name)
 Returns the name of a parameter in the parameter library. More...
 
virtual asynStatus getParamType (int index, asynParamType *type)
 Returns the asynParamType of a parameter in the parameter library*. More...
 
virtual asynStatus getParamType (int list, int index, asynParamType *type)
 Returns the asynParamType of a parameter in the parameter library. More...
 
virtual asynStatus setParamStatus (int index, asynStatus status)
 Sets the status for a parameter in the parameter library. More...
 
virtual asynStatus setParamStatus (int list, int index, asynStatus status)
 Sets the status for a parameter in the parameter library. More...
 
virtual asynStatus getParamStatus (int index, asynStatus *status)
 Gets the status for a parameter in the parameter library. More...
 
virtual asynStatus getParamStatus (int list, int index, asynStatus *status)
 Gets the status for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmStatus (int index, int status)
 Sets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmStatus (int list, int index, int status)
 Sets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmStatus (int index, int *status)
 Gets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmStatus (int list, int index, int *status)
 Gets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmSeverity (int index, int severity)
 Sets the alarmSeverity for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmSeverity (int list, int index, int severity)
 Sets the alarmSeverity for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmSeverity (int index, int *severity)
 Gets the alarmSeverity for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmSeverity (int list, int index, int *severity)
 Gets the alarmSeverity for a parameter in the parameter library. More...
 
virtual void reportSetParamErrors (asynStatus status, int index, int list, const char *functionName)
 Reports errors when setting parameters. More...
 
virtual void reportGetParamErrors (asynStatus status, int index, int list, const char *functionName)
 Reports errors when getting parameters. More...
 
virtual asynStatus setUIntDigitalParam (int index, epicsUInt32 value, epicsUInt32 valueMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int list, int index, epicsUInt32 value, epicsUInt32 valueMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int index, epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int list, int index, epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUInt32DigitalInterrupt (int index, epicsUInt32 mask, interruptReason reason)
 Sets the interrupt mask and reason in the parameter library Calls paramList::setUInt32Interrupt (0, index, mask, reason) i.e. More...
 
virtual asynStatus setUInt32DigitalInterrupt (int list, int index, epicsUInt32 mask, interruptReason reason)
 Sets the interrupt mask and reason in the parameter library Calls paramList::setUInt32Interrupt (index, mask, reason) for the parameter list indexed by list. More...
 
virtual asynStatus clearUInt32DigitalInterrupt (int index, epicsUInt32 mask)
 Clears the interrupt mask in the parameter library Calls paramList::clearUInt32Interrupt (0, index, mask) i.e. More...
 
virtual asynStatus clearUInt32DigitalInterrupt (int list, int index, epicsUInt32 mask)
 Clears the interrupt mask in the parameter library Calls paramList::clearUInt32Interrupt (index, mask) for the parameter list indexed by list. More...
 
virtual asynStatus getUInt32DigitalInterrupt (int index, epicsUInt32 *mask, interruptReason reason)
 Gets the interrupt mask and reason in the parameter library Calls paramList::getUInt32Interrupt (0, index, mask, reason) i.e. More...
 
virtual asynStatus getUInt32DigitalInterrupt (int list, int index, epicsUInt32 *mask, interruptReason reason)
 Gets the interrupt mask and reason in the parameter library Calls paramList::getUInt32Interrupt (index, mask, reason) for the parameter list indexed by list. More...
 
virtual asynStatus setDoubleParam (int index, double value)
 Sets the value for a double in the parameter library. More...
 
virtual asynStatus setDoubleParam (int list, int index, double value)
 Sets the value for a double in the parameter library. More...
 
virtual asynStatus setStringParam (int index, const char *value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus setStringParam (int list, int index, const char *value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus setStringParam (int index, const std::string &value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus setStringParam (int list, int index, const std::string &value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus getIntegerParam (int index, epicsInt32 *value)
 Returns the value for an integer from the parameter library. More...
 
virtual asynStatus getIntegerParam (int list, int index, epicsInt32 *value)
 Returns the value for an integer from the parameter library. More...
 
virtual asynStatus getUIntDigitalParam (int index, epicsUInt32 *value, epicsUInt32 mask)
 Returns the value for an UInt32Digital parameter from the parameter library. More...
 
virtual asynStatus getUIntDigitalParam (int list, int index, epicsUInt32 *value, epicsUInt32 mask)
 Returns the value for an UInt32Digital parameter from the parameter library. More...
 
virtual asynStatus getDoubleParam (int index, double *value)
 Returns the value for a double from the parameter library. More...
 
virtual asynStatus getDoubleParam (int list, int index, double *value)
 Returns the value for a double from the parameter library. More...
 
virtual asynStatus getStringParam (int index, int maxChars, char *value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus getStringParam (int list, int index, int maxChars, char *value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus getStringParam (int index, std::string &value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus getStringParam (int list, int index, std::string &value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus callParamCallbacks ()
 Calls callParamCallbacks(0, 0) i.e. More...
 
virtual asynStatus callParamCallbacks (int addr)
 Calls callParamCallbacks(addr, addr) i.e. More...
 
virtual asynStatus callParamCallbacks (int list, int addr)
 Calls paramList::callCallbacks(addr) for a specific parameter list. More...
 
virtual asynStatus updateTimeStamp ()
 Updates the timestamp for this port in pasynManager. More...
 
virtual asynStatus updateTimeStamp (epicsTimeStamp *pTimeStamp)
 Updates the timestamp for this port in pasynManager, and returns this timestamp. More...
 
virtual asynStatus getTimeStamp (epicsTimeStamp *pTimeStamp)
 Gets the most recent timestamp for this port from pasynManager. More...
 
virtual asynStatus setTimeStamp (const epicsTimeStamp *pTimeStamp)
 Sets the timestamp for this port in pasynManager. More...
 
asynStandardInterfaces * getAsynStdInterfaces ()
 Returns the asynStdInterfaces structure used by asynPortDriver. More...
 
virtual void reportParams (FILE *fp, int details)
 Calls paramList::report(fp, details) for each parameter list that the driver supports. More...
 
void callbackTask ()
 

Protected Attributes

int FastCCDMux1
 
int FastCCDMux2
 
int FastCCDPollingPeriod
 
int FastCCDFramestore
 
int FastCCDOverscanRows
 
int FastCCDOverscanCols
 
int FastCCDFclk
 
int FastCCDFCRICGain
 
int FastCCDFCRICClamp
 
int FastCCDFirmwareUpload
 
int FastCCDBiasUpload
 
int FastCCDClockUpload
 
int FastCCDFCRICUpload
 
int FastCCDFirmwarePath
 
int FastCCDBiasPath
 
int FastCCDClockPath
 
int FastCCDFCRICPath
 
int FastCCDPower
 
int FastCCDFPPower
 
int FastCCDCameraPower
 
int FastCCDCameraPowerMode
 
int FastCCDBias
 
int FastCCDClocks
 
int FastCCDFPGAStatus
 
int FastCCDDCMStatus
 
int FastCCDBaseBoardID
 
int FastCCDBaseSerialNum
 
int FastCCDBaseFPGAVersion
 
int FastCCDFabBoardID
 
int FastCCDFabSerialNum
 
int FastCCDFabFPGAVersion
 
int FastCCDStatusHB
 
int FastCCDBadPck
 
int FastCCDDroppedPck
 
int FastCCDLastFrame
 
int FastCCDResetStats
 
int FastCCDPacketBuffer
 
int FastCCDFrameBuffer
 
int FastCCDFOTest
 
int FastCCDBoot
 
int FastCCDSendTiming
 
int FastCCDSendBias
 
int FastCCDSendFCRIC
 
int FastCCDTimingName
 
int FastCCDTimingNameN [10]
 
int FastCCDTimingMode
 
int FastCCDBiasPosH
 
int FastCCDBiasNegH
 
int FastCCDBiasPosRG
 
int FastCCDBiasNegRG
 
int FastCCDBiasPosSW
 
int FastCCDBiasNegSW
 
int FastCCDBiasPosV
 
int FastCCDBiasNegV
 
int FastCCDBiasPosTG
 
int FastCCDBiasNegTG
 
int FastCCDBiasPosVF
 
int FastCCDBiasNegVF
 
int FastCCDBiasNEDGE
 
int FastCCDBiasOTG
 
int FastCCDBiasVDDR
 
int FastCCDBiasVDDOut
 
int FastCCDBiasBufBase
 
int FastCCDBiasBufDelta
 
int FastCCDBiasSpare1
 
int FastCCDBiasSpare2
 
int FastCCDBiasWriteV
 
int FastCCDBiasPosHW
 
int FastCCDBiasNegHW
 
int FastCCDBiasPosRGW
 
int FastCCDBiasNegRGW
 
int FastCCDBiasPosSWW
 
int FastCCDBiasNegSWW
 
int FastCCDBiasPosVW
 
int FastCCDBiasNegVW
 
int FastCCDBiasPosTGW
 
int FastCCDBiasNegTGW
 
int FastCCDBiasPosVFW
 
int FastCCDBiasNegVFW
 
int FastCCDBiasNEDGEW
 
int FastCCDBiasOTGW
 
int FastCCDBiasVDDRW
 
int FastCCDBiasVDDOutW
 
int FastCCDBiasBufBaseW
 
int FastCCDBiasBufDeltaW
 
int FastCCDBiasSpare1W
 
int FastCCDBiasSpare2W
 
int FastCCDBiasWriteVW
 
int FastCCDPwrBus12V
 
int FastCCDPwrMgmt2V3
 
int FastCCDVBus12V0
 
int FastCCDVMgmt3v3
 
int FastCCDVMgmt2v5
 
int FastCCDVMgmt1v2
 
int FastCCDVEnet1v0
 
int FastCCDVS3E3v3
 
int FastCCDVGen3v3
 
int FastCCDVGen2v5
 
int FastCCDV60v9
 
int FastCCDV61v0
 
int FastCCDV62v5
 
int FastCCDVFp
 
int FastCCDIBus12V0
 
int FastCCDIMgmt3v3
 
int FastCCDIMgmt2v5
 
int FastCCDIMgmt1v2
 
int FastCCDIEnet1v0
 
int FastCCDIS3E3v3
 
int FastCCDIGen3v3
 
int FastCCDIGen2v5
 
int FastCCDI60v9
 
int FastCCDI61v0
 
int FastCCDI62v5
 
int FastCCDIFp
 
NDArraypImage
 
cin_ctl_t cin_ctl
 
cin_data_t cin_data
 
- Protected Attributes inherited from ADDriver
int ADManufacturer
 
int ADModel
 
int ADSerialNumber
 
int ADSDKVersion
 
int ADFirmwareVersion
 
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 ADAcquire
 
int ADAcquireBusy
 
int ADWaitForPlugins
 
int ADShutterControl
 
int ADShutterControlEPICS
 
int ADShutterStatus
 
int ADShutterMode
 
int ADShutterOpenDelay
 
int ADShutterCloseDelay
 
int ADTemperature
 
int ADTemperatureActual
 
int ADReadStatus
 
int ADStatusMessage
 
int ADStringToServer
 
int ADStringFromServer
 
- Protected Attributes inherited from asynNDArrayDriver
int NDPortNameSelf
 
int NDADCoreVersion
 
int NDDriverVersion
 
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_
 
- Protected Attributes inherited from asynPortDriver
asynUser * pasynUserSelf
 asynUser connected to ourselves for asynTrace More...
 
asynStandardInterfaces asynStdInterfaces
 The asyn interfaces this driver implements. More...
 

Additional Inherited Members

- Public Attributes inherited from asynNDArrayDriver
class NDArrayPoolpNDArrayPool
 An NDArrayPool pointer that is initialized to pNDArrayPoolPvt_ in the constructor. More...
 
- Public Attributes inherited from asynPortDriver
char * portName
 The name of this asyn port. More...
 
int maxAddr
 The maximum asyn address (addr) supported by this driver. More...
 
- Protected Member Functions inherited from asynPortDriver
void initialize (const char *portNameIn, int maxAddrIn, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 The following function is required to initialize from two constructors. More...
 

Detailed Description

Driver class for FastCCD CCD.

This inherits from ADDriver class in areaDetector.

Constructor & Destructor Documentation

◆ FastCCD()

FastCCD::FastCCD ( const char *  portName,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize,
int  packetBuffer,
int  imageBuffer,
const char *  baseIP,
const char *  fabricIP,
const char *  fabricMAC 
)

Constructor for FastCCD 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]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]packetBufferThe CINDATA packet buffer size
[in]imageBufferThe CINDATA image buffer size
[in]baseIPThe base IP address
[in]fabricIPThe fabric IP address
[in]fabricMACThe fabric MAC address

◆ ~FastCCD()

FastCCD::~FastCCD ( )

Destructor.

Free resources and closes the FastCCD library

Member Function Documentation

◆ allocateImage()

void FastCCD::allocateImage ( cin_data_frame_t *  frame)

◆ connect()

asynStatus FastCCD::connect ( asynUser *  pasynUser)
virtual

Connects driver to device; The base class implementation simply calls pasynManager->exceptionConnect if address is valid Derived classes can reimplement this function for real connection management.

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

Reimplemented from asynPortDriver.

◆ dataStatsTask()

void FastCCD::dataStatsTask ( void  )

◆ detectorWaitTask()

void FastCCD::detectorWaitTask ( void  )

◆ disconnect()

asynStatus FastCCD::disconnect ( asynUser *  pasynUser)
virtual

Disconnects driver from device; the base class implementation simply calls pasynManager->exceptionDisconnect.

Derived classes can reimplement this function for real connection management.

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

Reimplemented from asynPortDriver.

◆ messageCallback()

void FastCCD::messageCallback ( const char *  message,
int  severity 
)

◆ processImage()

void FastCCD::processImage ( cin_data_frame_t *  frame)

◆ report()

void FastCCD::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.

◆ statusTask()

void FastCCD::statusTask ( void  )

Update status of detector.

Meant to be run in own thread.

◆ writeFloat64()

asynStatus FastCCD::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.

◆ writeInt32()

asynStatus FastCCD::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 
)
virtual

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

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.

◆ writeOctet()

asynStatus FastCCD::writeOctet ( asynUser *  pasynUser,
const char *  value,
size_t  nChars,
size_t *  nActual 
)
virtual

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

This function performs actions for some parameters, including NDAttributesFile. 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]valueAddress of the string to write.
[in]nCharsNumber of characters to write.
[out]nActualNumber of characters actually written.

Reimplemented from asynNDArrayDriver.

Member Data Documentation

◆ cin_ctl

cin_ctl_t FastCCD::cin_ctl
protected

◆ cin_data

cin_data_t FastCCD::cin_data
protected

◆ FastCCDBadPck

int FastCCD::FastCCDBadPck
protected

◆ FastCCDBaseBoardID

int FastCCD::FastCCDBaseBoardID
protected

◆ FastCCDBaseFPGAVersion

int FastCCD::FastCCDBaseFPGAVersion
protected

◆ FastCCDBaseSerialNum

int FastCCD::FastCCDBaseSerialNum
protected

◆ FastCCDBias

int FastCCD::FastCCDBias
protected

◆ FastCCDBiasBufBase

int FastCCD::FastCCDBiasBufBase
protected

◆ FastCCDBiasBufBaseW

int FastCCD::FastCCDBiasBufBaseW
protected

◆ FastCCDBiasBufDelta

int FastCCD::FastCCDBiasBufDelta
protected

◆ FastCCDBiasBufDeltaW

int FastCCD::FastCCDBiasBufDeltaW
protected

◆ FastCCDBiasNEDGE

int FastCCD::FastCCDBiasNEDGE
protected

◆ FastCCDBiasNEDGEW

int FastCCD::FastCCDBiasNEDGEW
protected

◆ FastCCDBiasNegH

int FastCCD::FastCCDBiasNegH
protected

◆ FastCCDBiasNegHW

int FastCCD::FastCCDBiasNegHW
protected

◆ FastCCDBiasNegRG

int FastCCD::FastCCDBiasNegRG
protected

◆ FastCCDBiasNegRGW

int FastCCD::FastCCDBiasNegRGW
protected

◆ FastCCDBiasNegSW

int FastCCD::FastCCDBiasNegSW
protected

◆ FastCCDBiasNegSWW

int FastCCD::FastCCDBiasNegSWW
protected

◆ FastCCDBiasNegTG

int FastCCD::FastCCDBiasNegTG
protected

◆ FastCCDBiasNegTGW

int FastCCD::FastCCDBiasNegTGW
protected

◆ FastCCDBiasNegV

int FastCCD::FastCCDBiasNegV
protected

◆ FastCCDBiasNegVF

int FastCCD::FastCCDBiasNegVF
protected

◆ FastCCDBiasNegVFW

int FastCCD::FastCCDBiasNegVFW
protected

◆ FastCCDBiasNegVW

int FastCCD::FastCCDBiasNegVW
protected

◆ FastCCDBiasOTG

int FastCCD::FastCCDBiasOTG
protected

◆ FastCCDBiasOTGW

int FastCCD::FastCCDBiasOTGW
protected

◆ FastCCDBiasPath

int FastCCD::FastCCDBiasPath
protected

◆ FastCCDBiasPosH

int FastCCD::FastCCDBiasPosH
protected

◆ FastCCDBiasPosHW

int FastCCD::FastCCDBiasPosHW
protected

◆ FastCCDBiasPosRG

int FastCCD::FastCCDBiasPosRG
protected

◆ FastCCDBiasPosRGW

int FastCCD::FastCCDBiasPosRGW
protected

◆ FastCCDBiasPosSW

int FastCCD::FastCCDBiasPosSW
protected

◆ FastCCDBiasPosSWW

int FastCCD::FastCCDBiasPosSWW
protected

◆ FastCCDBiasPosTG

int FastCCD::FastCCDBiasPosTG
protected

◆ FastCCDBiasPosTGW

int FastCCD::FastCCDBiasPosTGW
protected

◆ FastCCDBiasPosV

int FastCCD::FastCCDBiasPosV
protected

◆ FastCCDBiasPosVF

int FastCCD::FastCCDBiasPosVF
protected

◆ FastCCDBiasPosVFW

int FastCCD::FastCCDBiasPosVFW
protected

◆ FastCCDBiasPosVW

int FastCCD::FastCCDBiasPosVW
protected

◆ FastCCDBiasSpare1

int FastCCD::FastCCDBiasSpare1
protected

◆ FastCCDBiasSpare1W

int FastCCD::FastCCDBiasSpare1W
protected

◆ FastCCDBiasSpare2

int FastCCD::FastCCDBiasSpare2
protected

◆ FastCCDBiasSpare2W

int FastCCD::FastCCDBiasSpare2W
protected

◆ FastCCDBiasUpload

int FastCCD::FastCCDBiasUpload
protected

◆ FastCCDBiasVDDOut

int FastCCD::FastCCDBiasVDDOut
protected

◆ FastCCDBiasVDDOutW

int FastCCD::FastCCDBiasVDDOutW
protected

◆ FastCCDBiasVDDR

int FastCCD::FastCCDBiasVDDR
protected

◆ FastCCDBiasVDDRW

int FastCCD::FastCCDBiasVDDRW
protected

◆ FastCCDBiasWriteV

int FastCCD::FastCCDBiasWriteV
protected

◆ FastCCDBiasWriteVW

int FastCCD::FastCCDBiasWriteVW
protected

◆ FastCCDBoot

int FastCCD::FastCCDBoot
protected

◆ FastCCDCameraPower

int FastCCD::FastCCDCameraPower
protected

◆ FastCCDCameraPowerMode

int FastCCD::FastCCDCameraPowerMode
protected

◆ FastCCDClockPath

int FastCCD::FastCCDClockPath
protected

◆ FastCCDClocks

int FastCCD::FastCCDClocks
protected

◆ FastCCDClockUpload

int FastCCD::FastCCDClockUpload
protected

◆ FastCCDDCMStatus

int FastCCD::FastCCDDCMStatus
protected

◆ FastCCDDroppedPck

int FastCCD::FastCCDDroppedPck
protected

◆ FastCCDFabBoardID

int FastCCD::FastCCDFabBoardID
protected

◆ FastCCDFabFPGAVersion

int FastCCD::FastCCDFabFPGAVersion
protected

◆ FastCCDFabSerialNum

int FastCCD::FastCCDFabSerialNum
protected

◆ FastCCDFclk

int FastCCD::FastCCDFclk
protected

◆ FastCCDFCRICClamp

int FastCCD::FastCCDFCRICClamp
protected

◆ FastCCDFCRICGain

int FastCCD::FastCCDFCRICGain
protected

◆ FastCCDFCRICPath

int FastCCD::FastCCDFCRICPath
protected

◆ FastCCDFCRICUpload

int FastCCD::FastCCDFCRICUpload
protected

◆ FastCCDFirmwarePath

int FastCCD::FastCCDFirmwarePath
protected

◆ FastCCDFirmwareUpload

int FastCCD::FastCCDFirmwareUpload
protected

◆ FastCCDFOTest

int FastCCD::FastCCDFOTest
protected

◆ FastCCDFPGAStatus

int FastCCD::FastCCDFPGAStatus
protected

◆ FastCCDFPPower

int FastCCD::FastCCDFPPower
protected

◆ FastCCDFrameBuffer

int FastCCD::FastCCDFrameBuffer
protected

◆ FastCCDFramestore

int FastCCD::FastCCDFramestore
protected

◆ FastCCDI60v9

int FastCCD::FastCCDI60v9
protected

◆ FastCCDI61v0

int FastCCD::FastCCDI61v0
protected

◆ FastCCDI62v5

int FastCCD::FastCCDI62v5
protected

◆ FastCCDIBus12V0

int FastCCD::FastCCDIBus12V0
protected

◆ FastCCDIEnet1v0

int FastCCD::FastCCDIEnet1v0
protected

◆ FastCCDIFp

int FastCCD::FastCCDIFp
protected

◆ FastCCDIGen2v5

int FastCCD::FastCCDIGen2v5
protected

◆ FastCCDIGen3v3

int FastCCD::FastCCDIGen3v3
protected

◆ FastCCDIMgmt1v2

int FastCCD::FastCCDIMgmt1v2
protected

◆ FastCCDIMgmt2v5

int FastCCD::FastCCDIMgmt2v5
protected

◆ FastCCDIMgmt3v3

int FastCCD::FastCCDIMgmt3v3
protected

◆ FastCCDIS3E3v3

int FastCCD::FastCCDIS3E3v3
protected

◆ FastCCDLastFrame

int FastCCD::FastCCDLastFrame
protected

◆ FastCCDMux1

int FastCCD::FastCCDMux1
protected

◆ FastCCDMux2

int FastCCD::FastCCDMux2
protected

◆ FastCCDOverscanCols

int FastCCD::FastCCDOverscanCols
protected

◆ FastCCDOverscanRows

int FastCCD::FastCCDOverscanRows
protected

◆ FastCCDPacketBuffer

int FastCCD::FastCCDPacketBuffer
protected

◆ FastCCDPollingPeriod

int FastCCD::FastCCDPollingPeriod
protected

◆ FastCCDPower

int FastCCD::FastCCDPower
protected

◆ FastCCDPwrBus12V

int FastCCD::FastCCDPwrBus12V
protected

◆ FastCCDPwrMgmt2V3

int FastCCD::FastCCDPwrMgmt2V3
protected

◆ FastCCDResetStats

int FastCCD::FastCCDResetStats
protected

◆ FastCCDSendBias

int FastCCD::FastCCDSendBias
protected

◆ FastCCDSendFCRIC

int FastCCD::FastCCDSendFCRIC
protected

◆ FastCCDSendTiming

int FastCCD::FastCCDSendTiming
protected

◆ FastCCDStatusHB

int FastCCD::FastCCDStatusHB
protected

◆ FastCCDTimingMode

int FastCCD::FastCCDTimingMode
protected

◆ FastCCDTimingName

int FastCCD::FastCCDTimingName
protected

◆ FastCCDTimingNameN

int FastCCD::FastCCDTimingNameN[10]
protected

◆ FastCCDV60v9

int FastCCD::FastCCDV60v9
protected

◆ FastCCDV61v0

int FastCCD::FastCCDV61v0
protected

◆ FastCCDV62v5

int FastCCD::FastCCDV62v5
protected

◆ FastCCDVBus12V0

int FastCCD::FastCCDVBus12V0
protected

◆ FastCCDVEnet1v0

int FastCCD::FastCCDVEnet1v0
protected

◆ FastCCDVFp

int FastCCD::FastCCDVFp
protected

◆ FastCCDVGen2v5

int FastCCD::FastCCDVGen2v5
protected

◆ FastCCDVGen3v3

int FastCCD::FastCCDVGen3v3
protected

◆ FastCCDVMgmt1v2

int FastCCD::FastCCDVMgmt1v2
protected

◆ FastCCDVMgmt2v5

int FastCCD::FastCCDVMgmt2v5
protected

◆ FastCCDVMgmt3v3

int FastCCD::FastCCDVMgmt3v3
protected

◆ FastCCDVS3E3v3

int FastCCD::FastCCDVS3E3v3
protected

◆ pImage

NDArray* FastCCD::pImage
protected

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