diff --git a/documentation/pvcamDoc.html b/documentation/pvcamDoc.html new file mode 100644 index 0000000..f3e3c3e --- /dev/null +++ b/documentation/pvcamDoc.html @@ -0,0 +1,193 @@ + + +
++ This is a driver for the Roper Scientific + detectors, which includes those from + Princeton Instruments and Photometrics.
++ The driver is based upon the PVCAM library from Roper, and only runs on Microsoft + Windows computers. This driver is complementary to the areaDetector + Roper driver. That driver uses the Microsoft COM interface to control the + Roper WinView program. This driver works at a lower level, communicating instead + with the PVCAM library layer. PVCAM supports all Photometrics cameras, and many, + but not all, Princeton Instruments cameras. +
++ ADD ADDTIONAL INTRODUCTORY TEXT HERE.
++ This driver inherits from ADDriver. + It implements many of the parameters in NDStdDriverParam_t (see + asynNDArryDriver.h) and in ADStdDriverParam_t (see + ADArrayDriver.h). It also implements a number of parameters that are specific + to the Roper detectors. The pvCam + class documentation describes this class in detail.
++ The following table describes how the PVCAM 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. | +
+ The PVCAM 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 PVCamInitDetector.
+
| + Parameter Definitions in pvcamSrc.h and EPICS Record Definitions in pvCam.template | +||||||
| + Enum name | ++ asyn interface | ++ Access | ++ Description | ++ drvUser string | ++ EPICS record name | ++ EPICS record type | +
|---|---|---|---|---|---|---|
|
+ PVCam + InitDetector |
+ + asynInt32 | ++ r/w | ++ Initializes the detector | ++ PVCAM_INITIALIZE_DETECTOR | +
+ $(P)$(R)Initialize + $(P)$(R)Initialize_RBV |
+
+ longout + longin |
+
+ The PVCAM driver does not support the following standard driver parameters because + they are not supported in the PVCAM library:
++ The PVCAM driver is created with the pvCamConfig command, either from C/C++ or from + the EPICS IOC shell.
+int pvCamConfig(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 pvCamConfig function in the + pvCam.cpp documentation and in the documentation for the constructor for the + pvCam class. +
++ There an example IOC boot directory and startup script (iocBoot/iocPVCam/st.cmd) + provided with areaDetector. +
++ The following shows the MEDM screens that are used to control the PVCAM detector. + Note that the general purpose screen ADBase.adl can be used, but it exposes many + controls that are not applicable to the PVCAM driver, and lacks some fields that + are important for the PVCAM driver.
+
+ pvCam.adl is the main screen used to control the PVCAM driver.
+

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