|
areaDetector 1-9
|
Driver for Bruker BIS ccd detector using their BIS server over TCP/IP socket. More...
Public Member Functions | |
| BISDetector (const char *portName, const char *BISCommandPort, const char *BISStatusPort, int maxBuffers, size_t maxMemory, int priority, int stackSize) | |
| Constructor for BIS driver; most parameters are simply passed to ADDriver::ADDriver. | |
| virtual asynStatus | writeInt32 (asynUser *pasynUser, epicsInt32 value) |
| Called when asyn clients call pasynInt32->write(). | |
| virtual void | setShutter (int open) |
| Set the shutter position. | |
| void | report (FILE *fp, int details) |
| Report status of the driver. | |
| void | BISTask () |
| This thread controls acquisition, reads SFRM files to get the image data, and does the callbacks to send it to higher layers. | |
| void | statusTask () |
| This thread reads status strings from the status socket, makes the string available to EPICS, and sends an eveny when it detects acquisition complete, etc. | |
Public Attributes | |
| epicsEventId | stopEventId |
| This should be private but is accessed from C, must be public. | |
Protected Attributes | |
| int | BISSFRMTimeout |
| int | BISNumDarks |
| int | BISStatus |
Driver for Bruker BIS ccd detector using their BIS server over TCP/IP socket.
| BISDetector::BISDetector | ( | const char * | portName, |
| const char * | commandPort, | ||
| const char * | statusPort, | ||
| int | maxBuffers, | ||
| size_t | maxMemory, | ||
| int | priority, | ||
| int | stackSize | ||
| ) |
Constructor for BIS 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] | commandPort | The name of the asyn port previously created with drvAsynIPPortConfigure to send commands to BIS. |
| [in] | statusPort | The name of the asyn port previously created with drvAsynIPPortConfigure to receive status information from BIS. |
| [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 BISDetector::BISTask | ( | ) |
This thread controls acquisition, reads SFRM files to get the image data, and does the callbacks to send it to higher layers.
| void BISDetector::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.
| void BISDetector::setShutter | ( | int | open | ) | [virtual] |
Set the shutter position.
This method will open (1) or close (0) the shutter if ADShutterMode==ADShutterModeEPICS. Drivers will implement setShutter if they support ADShutterModeDetector. If ADShutterMode=ADShutterModeDetector they will control the shutter directly, else they will call this method.
| [in] | open | 1 (open) or 0 (closed) |
Reimplemented from ADDriver.
| void BISDetector::statusTask | ( | void | ) |
This thread reads status strings from the status socket, makes the string available to EPICS, and sends an eveny when it detects acquisition complete, etc.
| asynStatus BISDetector::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.
int BISDetector::BISNumDarks [protected] |
int BISDetector::BISSFRMTimeout [protected] |
int BISDetector::BISStatus [protected] |
| epicsEventId BISDetector::stopEventId |
This should be private but is accessed from C, must be public.
1.7.4