areaDetector
3-13
EPICS areaDetector framework
|
Driver for PiXirad pixel array detectors using their server server over TCP/IP socket. More...
Public Member Functions | |
pixirad (const char *portName, const char *commandPortName, int dataPortNumber, int statusPortnumber, int maxDataPortBuffers, int maxSizeX, int maxSizeY, int maxBuffers, size_t maxMemory, int priority, int stackSize) | |
Constructor for Pixirad 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... | |
void | report (FILE *fp, int details) |
Report status of the driver. More... | |
void | statusTask () |
This function reads the environmental parameters (temperature, humidity, etc.) which are periodically UDP broadcast by the Pixirad box on port 2224. More... | |
void | dataTask () |
void | udpDataListenerTask () |
asynStatus | setAutoCalParams (int ofs0, int fs0, int ofs2, int fs1, int fs2, int ibias, int vbgMcalDAC) |
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 PiXirad pixel array detectors using their server server over TCP/IP socket.
pixirad::pixirad | ( | const char * | portName, |
const char * | commandPortName, | ||
int | dataPortNumber, | ||
int | statusPortNumber, | ||
int | maxDataPortBuffers, | ||
int | maxSizeX, | ||
int | maxSizeY, | ||
int | maxBuffers, | ||
size_t | maxMemory, | ||
int | priority, | ||
int | stackSize | ||
) |
Constructor for Pixirad 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] | commandPortName | The name of the asyn port previously created with drvAsynIPPortConfigure to communicate with the PiXirad server on port 2222. |
[in] | dataPortNumber | The IP number of the port on which the detector broadcasts data packets. Currently must be 2223. |
[in] | statusPortNumber | The IP number of the port on which the detector broadcasts status packets. Currently must be 2224. |
[in] | maxDataPortBuffers | The size of the epicsMessageQueue for passing UDP buffers. This limits the maximum number of buffers that will be allocated. |
[in] | maxSizeX | The size of the Pixirad detector in the X direction. |
[in] | maxSizeY | The size of the Pixirad detector in the Y direction. |
[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 pixirad::dataTask | ( | void | ) |
|
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 pixirad::setAutoCalParams | ( | int | ofs0, |
int | fs0, | ||
int | ofs2, | ||
int | fs1, | ||
int | fs2, | ||
int | ibias, | ||
int | vbgMcalDAC | ||
) |
void pixirad::statusTask | ( | void | ) |
This function reads the environmental parameters (temperature, humidity, etc.) which are periodically UDP broadcast by the Pixirad box on port 2224.
void pixirad::udpDataListenerTask | ( | ) |
|
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. |
|
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.
|
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 |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |