areaDetector 3-14
EPICS areaDetector framework
|
Driver for sls array detectors using over TCP/IP socket. More...
Public Member Functions | |
mythen (const char *portName, const char *IPPortName, int maxBuffers, size_t maxMemory, int priority, int stackSize) | |
Constructor for mythen 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(). | |
virtual void | report (FILE *fp, int details) |
Report status of the driver. | |
epicsInt32 | dataCallback (epicsInt32 *pData) |
void | pollTask () |
void | acquisitionTask () |
void | shutdown () |
![]() | |
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. | |
virtual asynStatus | connect (asynUser *pasynUser) |
Connects driver to device; This method is called when the driver's pasynCommon->connect() function is called. | |
virtual void | setShutter (int open) |
Set the shutter position. | |
![]() | |
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. | |
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. | |
virtual asynStatus | writeGenericPointer (asynUser *pasynUser, void *genericPointer) |
This method currently does nothing, but it should be implemented in this base class. | |
virtual asynStatus | setIntegerParam (int index, int value) |
Sets the value for an integer in the parameter library. | |
virtual asynStatus | setIntegerParam (int list, int index, int value) |
Sets the value for an integer in the parameter library. | |
virtual asynStatus | createFilePath (const char *path, int pathDepth) |
Function to create a directory path for a file. | |
virtual asynStatus | checkPath () |
Checks whether the directory specified NDFilePath parameter exists. | |
virtual bool | checkPath (std::string &filePath) |
Checks whether the directory specified exists. | |
virtual asynStatus | createFileName (int maxChars, char *fullFileName) |
Build a file name from component parts. | |
virtual asynStatus | createFileName (int maxChars, char *filePath, char *fileName) |
Build a file name from component parts. | |
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. | |
virtual asynStatus | getAttributes (NDAttributeList *pAttributeList) |
Get the current values of attributes from this driver and appends them to an output attribute list. | |
virtual void | updateTimeStamps (NDArray *pArray) |
asynStatus | incrementQueuedArrayCount () |
asynStatus | decrementQueuedArrayCount () |
int | getQueuedArrayCount () |
void | updateQueuedArrayCount () |
Protected Member Functions | |
virtual asynStatus | setAcquire (epicsInt32 value) |
Starts and stops the acquisition. | |
virtual asynStatus | setFCorrection (epicsInt32 value) |
Enables or disables the flatfield correction. | |
virtual asynStatus | setRCorrection (epicsInt32 value) |
Enables or disables the rate correction. | |
virtual asynStatus | setExposureTime (epicsFloat64 value) |
Sets the exposure time of one frame. | |
virtual asynStatus | setDelayAfterTrigger (epicsFloat64 value) |
Sets the exposure time of one frame. | |
virtual asynStatus | setBitDepth (epicsInt32 value) |
Enables or disables the flipping of the channel numbering. | |
virtual asynStatus | setBadChanIntrpl (epicsInt32 value) |
Enables or disables the bad channel interpolation. | |
virtual asynStatus | setUseGates (epicsInt32 value) |
Enables or disables the gates. | |
virtual asynStatus | setNumGates (epicsInt32 value) |
Number of gates. | |
virtual asynStatus | setKthresh (epicsFloat64 value) |
Sets the energy threshold for the module. | |
virtual asynStatus | setEnergy (epicsFloat64 value) |
Sets the energy threshold for the module. | |
virtual asynStatus | setTau (epicsFloat64 value) |
Sets the dead time constant for the rate correction. | |
virtual asynStatus | setFrames (epicsInt32 value) |
Sets the number of frames whitin an acquisition. | |
virtual asynStatus | setFlip (epicsInt32 value) |
Enables or disables the flipping of the channel numbering. | |
virtual asynStatus | setTrigger (epicsInt32 value) |
Sets the Trigger Mode 0 = None, 1 = Single, 2=Continuous. | |
virtual asynStatus | loadSettings (epicsInt32 value) |
Loads predefined settings for the current module to measure some common x-ray radiation. | |
virtual asynStatus | setReset () |
Sets the detector back to default settings. | |
virtual asynStatus | getSettings () |
Reads the values of all the modules parameters, sets them in the parameter library. | |
virtual epicsInt32 | getStatus () |
Get Acquition Status. | |
virtual asynStatus | getFirmware () |
Get Firmware Version. | |
void | decodeRawReadout (int nmods, int nbits, int *data, int *result) |
Additional Inherited Members | |
![]() | |
class NDArrayPool * | pNDArrayPool |
An NDArrayPool pointer that is initialized to pNDArrayPoolPvt_ in the constructor. | |
Driver for sls array detectors using over TCP/IP socket.
mythen::mythen | ( | const char * | portName, |
const char * | IPPortName, | ||
int | maxBuffers, | ||
size_t | maxMemory, | ||
int | priority, | ||
int | stackSize | ||
) |
Constructor for mythen 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] | IPPortName | The asyn network port connection to the Mythen |
[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 mythen::acquisitionTask | ( | ) |
epicsInt32 mythen::dataCallback | ( | epicsInt32 * | pData | ) |
|
protected |
|
protectedvirtual |
Get Firmware Version.
|
protectedvirtual |
Reads the values of all the modules parameters, sets them in the parameter library.
|
protectedvirtual |
Get Acquition Status.
|
protectedvirtual |
Loads predefined settings for the current module to measure some common x-ray radiation.
The command loads the energy calibration, the bad channels file, the flatfield correction, and the trimbits for the corresponding settings, and sets the energy threshold to a suitable value.
void mythen::pollTask | ( | ) |
|
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.
|
protectedvirtual |
Starts and stops the acquisition.
|
protectedvirtual |
Enables or disables the bad channel interpolation.
|
protectedvirtual |
Enables or disables the flipping of the channel numbering.
|
protectedvirtual |
Sets the exposure time of one frame.
(units of 100ns)
|
protectedvirtual |
Sets the energy threshold for the module.
|
protectedvirtual |
Sets the exposure time of one frame.
(units of 100ns)
|
protectedvirtual |
Enables or disables the flatfield correction.
After initialisation the flatfield correction is enabled.
|
protectedvirtual |
Enables or disables the flipping of the channel numbering.
|
protectedvirtual |
Sets the number of frames whitin an acquisition.
|
protectedvirtual |
Sets the energy threshold for the module.
|
protectedvirtual |
Number of gates.
|
protectedvirtual |
Enables or disables the rate correction.
After initialisation the rate correction is disabled.
|
protectedvirtual |
Sets the detector back to default settings.
This command takes about two seconds per module.
|
protectedvirtual |
Sets the dead time constant for the rate correction.
|
protectedvirtual |
Sets the Trigger Mode 0 = None, 1 = Single, 2=Continuous.
|
protectedvirtual |
Enables or disables the gates.
After initialisation the gates are disabled.
void mythen::shutdown | ( | ) |
|
virtual |
Called when asyn clients call pasynFloat64->write().
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, ADBinX, 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.
|
virtual |
Called when asyn clients call pasynOctet->write().
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. |
[in] | nChars | Number of characters to write |
[out] | nActual | Number of characters actually written |
Reimplemented from asynNDArrayDriver.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |