areaDetector 1-9
|
Driver for Dectris Pilatus pixel array detectors using their camserver server over TCP/IP socket. More...
Public Member Functions | |
pilatusDetector (const char *portName, const char *camserverPort, int maxSizeX, int maxSizeY, int maxBuffers, size_t maxMemory, int priority, int stackSize) | |
Constructor for Pilatus driver; most parameters are simply passed to ADDriver::ADDriver. | |
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 asynStatus | writeOctet (asynUser *pasynUser, const char *value, size_t nChars, size_t *nActual) |
Called when asyn clients call pasynOctet->write(). | |
void | report (FILE *fp, int details) |
Report status of the driver. | |
void | pilatusTask () |
This thread controls acquisition, reads image files to get the image data, and does the callbacks to send it to higher layers. | |
void | pilatusStatus () |
This thread periodically read the detector status (temperature, humidity, etc.) It does not run if we are acquiring data, to avoid polling camserver when taking data. | |
Protected Attributes | |
int | PilatusDelayTime |
int | PilatusThreshold |
int | PilatusThresholdApply |
int | PilatusThresholdAutoApply |
int | PilatusArmed |
int | PilatusImageFileTmot |
int | PilatusBadPixelFile |
int | PilatusNumBadPixels |
int | PilatusFlatFieldFile |
int | PilatusMinFlatField |
int | PilatusFlatFieldValid |
int | PilatusGapFill |
int | PilatusWavelength |
int | PilatusEnergyLow |
int | PilatusEnergyHigh |
int | PilatusDetDist |
int | PilatusDetVOffset |
int | PilatusBeamX |
int | PilatusBeamY |
int | PilatusFlux |
int | PilatusFilterTransm |
int | PilatusStartAngle |
int | PilatusAngleIncr |
int | PilatusDet2theta |
int | PilatusPolarization |
int | PilatusAlpha |
int | PilatusKappa |
int | PilatusPhi |
int | PilatusChi |
int | PilatusOscillAxis |
int | PilatusNumOscill |
int | PilatusPixelCutOff |
int | PilatusThTemp0 |
int | PilatusThTemp1 |
int | PilatusThTemp2 |
int | PilatusThHumid0 |
int | PilatusThHumid1 |
int | PilatusThHumid2 |
int | PilatusTvxVersion |
int | PilatusCbfTemplateFile |
int | PilatusHeaderString |
Driver for Dectris Pilatus pixel array detectors using their camserver server over TCP/IP socket.
pilatusDetector::pilatusDetector | ( | const char * | portName, |
const char * | camserverPort, | ||
int | maxSizeX, | ||
int | maxSizeY, | ||
int | maxBuffers, | ||
size_t | maxMemory, | ||
int | priority, | ||
int | stackSize | ||
) |
Constructor for Pilatus 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 for the parameters defined in this class, asynNDArrayDriver, and ADDriver.
[in] | portName | The name of the asyn port driver to be created. |
[in] | camserverPort | The name of the asyn port previously created with drvAsynIPPortConfigure to communicate with camserver. |
[in] | maxSizeX | The size of the Pilatus detector in the X direction. |
[in] | maxSizeY | The size of the Pilatus detector in the Y direction. |
[in] | portName | The name of the asyn port driver to be created. |
[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. |
void pilatusDetector::pilatusStatus | ( | ) |
This thread periodically read the detector status (temperature, humidity, etc.) It does not run if we are acquiring data, to avoid polling camserver when taking data.
void pilatusDetector::pilatusTask | ( | ) |
This thread controls acquisition, reads image files to get the image data, and does the callbacks to send it to higher layers.
void pilatusDetector::report | ( | FILE * | fp, |
int | details | ||
) | [virtual] |
Report status of the driver.
Prints details about the driver if details>0. It then calls the ADDriver::report() method.
[in] | fp | File pointed passed by caller where the output is written to. |
[in] | details | If >0 then driver details are printed. |
Reimplemented from asynNDArrayDriver.
asynStatus pilatusDetector::writeFloat64 | ( | asynUser * | pasynUser, |
epicsFloat64 | value | ||
) | [virtual] |
Called when asyn clients call pasynFloat64->write().
This function performs actions for some parameters, including ADAcquireTime, ADGain, 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 asynPortDriver.
asynStatus pilatusDetector::writeInt32 | ( | asynUser * | pasynUser, |
epicsInt32 | value | ||
) | [virtual] |
Called when asyn clients call pasynInt32->write().
This function performs actions for some parameters, including ADAcquire, ADTriggerMode, 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.
asynStatus pilatusDetector::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 PilatusBadPixelFile, ADFilePath, 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 | Address of the string to write. |
[in] | nChars | Number of characters to write. |
[out] | nActual | Number of characters actually written. |
Reimplemented from asynNDArrayDriver.
int pilatusDetector::PilatusAlpha [protected] |
int pilatusDetector::PilatusAngleIncr [protected] |
int pilatusDetector::PilatusArmed [protected] |
int pilatusDetector::PilatusBadPixelFile [protected] |
int pilatusDetector::PilatusBeamX [protected] |
int pilatusDetector::PilatusBeamY [protected] |
int pilatusDetector::PilatusCbfTemplateFile [protected] |
int pilatusDetector::PilatusChi [protected] |
int pilatusDetector::PilatusDelayTime [protected] |
int pilatusDetector::PilatusDet2theta [protected] |
int pilatusDetector::PilatusDetDist [protected] |
int pilatusDetector::PilatusDetVOffset [protected] |
int pilatusDetector::PilatusEnergyHigh [protected] |
int pilatusDetector::PilatusEnergyLow [protected] |
int pilatusDetector::PilatusFilterTransm [protected] |
int pilatusDetector::PilatusFlatFieldFile [protected] |
int pilatusDetector::PilatusFlatFieldValid [protected] |
int pilatusDetector::PilatusFlux [protected] |
int pilatusDetector::PilatusGapFill [protected] |
int pilatusDetector::PilatusHeaderString [protected] |
int pilatusDetector::PilatusImageFileTmot [protected] |
int pilatusDetector::PilatusKappa [protected] |
int pilatusDetector::PilatusMinFlatField [protected] |
int pilatusDetector::PilatusNumBadPixels [protected] |
int pilatusDetector::PilatusNumOscill [protected] |
int pilatusDetector::PilatusOscillAxis [protected] |
int pilatusDetector::PilatusPhi [protected] |
int pilatusDetector::PilatusPixelCutOff [protected] |
int pilatusDetector::PilatusPolarization [protected] |
int pilatusDetector::PilatusStartAngle [protected] |
int pilatusDetector::PilatusThHumid0 [protected] |
int pilatusDetector::PilatusThHumid1 [protected] |
int pilatusDetector::PilatusThHumid2 [protected] |
int pilatusDetector::PilatusThreshold [protected] |
int pilatusDetector::PilatusThresholdApply [protected] |
int pilatusDetector::PilatusThresholdAutoApply [protected] |
int pilatusDetector::PilatusThTemp0 [protected] |
int pilatusDetector::PilatusThTemp1 [protected] |
int pilatusDetector::PilatusThTemp2 [protected] |
int pilatusDetector::PilatusTvxVersion [protected] |
int pilatusDetector::PilatusWavelength [protected] |