diff --git a/documentation/PerkinElmerDoc.html b/documentation/PerkinElmerDoc.html new file mode 100644 index 0000000..70e1be2 --- /dev/null +++ b/documentation/PerkinElmerDoc.html @@ -0,0 +1,192 @@ + + +
++ This is a driver for the flat-panel amorphous silicon detectors from + PerkinElmer. It implements many of the parameters in asynNDArrayDriver.h and + ADDriver.h. It also implements a number of parameters that are specific to the PerkinElmer + detectors.
++ The driver is based upon the library provided by PerkinElmer. It only runs on Microsoft + Windows computers. +
++ ADD ADDTIONAL INTRODUCTORY TEXT HERE.
++ This driver inherits from ADDriver. The + PerkinElmer class documentation describes this class in detail.
++ The following table describes how the PerkinElmer driver implements some of the + standard driver parameters. +
++ DOCUMENT IMPLEMENTATION OF STANDARD DRIVER PARAMETERS IN THIS TABLE
+| + Implementation of Parameters in asynNDArrayDriver.h and ADDriver.h, and EPICS Record + Definitions in ADBase.template and NDFile.template | +||
| + Enum name | ++ EPICS record name | ++ Description | +
|---|---|---|
| + ADNumImages | ++ $(P$(R)NumImages | ++ Controls the number of images to acquire when ADImageMode is ADImageMultiple. | +
+ It is useful to use NDPluginROI to define an ROI containing the entire PerkinElmer detector. + The MaxValue_RBV PV in this ROI can be monitored to make sure that the 16-bit limit + of 65,535 is not being approached in any pixel. +
+
+ The PerkinElmer driver implements the following parameters in addition to those
+ in asynNDArrayDriver.h and ADDriver.h. Note that to reduce the width of this table
+ the enum names have been split into 2 lines, but these are just a single name, for
+ example PerkinElmerXXX.
+
| + Parameter Definitions in PerkinElmer.h and EPICS Record Definitions in PerkinElmer.template | +||||||
| + Enum name | ++ asyn interface | ++ Access | ++ Description | ++ drvUser string | ++ EPICS record name | ++ EPICS record type | +
|---|---|---|---|---|---|---|
| + PE_NumFrameBuffers | ++ asynInt32 | ++ r/w | ++ Number of frame buffers to use | ++ PE_NUM_FRAME_BUFFERS | +
+ $(P)$(R)PENumFrameBuffers + $(P)$(R)PENumFrameBuffers_RBV |
+
+ longout + longin |
+
+ The PerkinElmer driver does not support the following standard driver parameters + because they are not supported in the PerkinElmer library:
++ The PerkinElmer driver is created with the perkinElmerConfig command, either from + C/C++ or from the EPICS IOC shell.
+int PerkinElmerConfig(const char *portName, int maxSizeX, int maxSizeY, int dataType, + int maxBuffers, size_t maxMemory, + int priority, int stackSize ) ++
+ For details on the meaning of the parameters to this function refer to the detailed + documentation on the mar345Config function in the + PerkinElmer.cpp documentation and in the documentation for the constructor + for the PerkinElmer class. +
++ There an example IOC boot directory and startup script (iocBoot/iocPerkinElmer/st.cmd) + provided with areaDetector. +
++ The following show the MEDM screens that are used to control the PerkinElmer detector. + Note that the general purpose screen ADBase.adl can be used, but it exposes many + controls that are not applicable to the PerkinElmer, and lacks some fields that + are important for the PerkinElmer.
+
+ PerkinElmer.adl is the main screen used to control the PerkinElmer
+ driver.
+

+ The following measurements were done to demonstrate the performance that can be + obtained with the areaDetector PerkinElmer driver.
++ PUT A TABLE OF PERFORMANCE MEASUREMENTS HERE
++ The following are some current restrictions of the PerkinElmer driver:
+