diff --git a/documentation/areaDetectorDoc.html b/documentation/areaDetectorDoc.html index 329a8e2..06f943c 100755 --- a/documentation/areaDetectorDoc.html +++ b/documentation/areaDetectorDoc.html @@ -3,16 +3,16 @@
-
The areaDetector module provides a general-purpose interface for area (2-D) detectors in EPICS. It is intended to be used with a wide variety of detectors and cameras, @@ -83,13 +81,13 @@
-
+ The architecture of the areaDetector module is shown below.
+
+ 
- The architecture of the areaDetector module is shown below.
-
From the bottom to the top this architecture consists of the following:
The areaDetector module depends heavily on asyn. It is the software that is used for interthread communication, using @@ -172,10 +168,8 @@ implemented using C++ classes. The base classes, from which drivers and plugins are derived, take care of many of the details of asyn and other common code.
-
Detector drivers and plugins are asyn port drivers, meaning that they implement
one or more of the standard asyn interfaces. They register themselves as interrupt
@@ -329,7 +323,6 @@ public:
interfaces this driver or plugin supports can generate interrupts. The bit mask
values are defined in asynPortDriver.h, e.g. asynInt8ArrayMask.
virtual asynStatus getAddress(asynUser *pasynUser, const char *functionName, int *address);
@@ -347,7 +340,6 @@ public:
getAddress(). Derived classed typically do not need to implement these
methods.
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value);
virtual asynStatus writeFloat64(asynUser *pasynUser, epicsFloat64 value);
virtual asynStatus writeOctet(asynUser *pasynUser, const char *value, size_t maxChars,
@@ -360,7 +352,6 @@ public:
will provide their own implementations of these methods to do driver-dependent operations
when there is a new value of the parameter.
-
virtual asynStatus readXXXArray(asynUser *pasynUser, epicsInt8 *value,
size_t nElements, size_t *nIn);
@@ -381,7 +372,6 @@ public:
asyn clients on the corresponding interface if the reason and addr
values match. It typically does not need to be implemented in derived classes.
-
virtual asynStatus findParam(asynParamString_t *paramTable, int numParams, const char *paramName, int *param);
virtual asynStatus drvUserCreate(asynUser *pasynUser, const char *drvInfo,
@@ -398,7 +388,6 @@ public:
in derived classes. drvUserGetType and drvUserDestroy
typically do not need to be implemented in derived classes.
-
virtual void report(FILE *fp, int details);
virtual asynStatus connect(asynUser *pasynUser);
@@ -413,7 +402,6 @@ public:
and pasynManager-> exceptionDisconnect respectively. Derived classes
may or may not need to implement these functions.
-
virtual asynStatus setIntegerParam(int index, int value);
virtual asynStatus setIntegerParam(int list, int index, int value);
@@ -444,10 +432,8 @@ public:
is a second version of callParamCallbacks that takes an argument specifying
the parameter list number, and the asyn address to match.
-
-
- NDArray
-
+
+ NDArray
The NDArray (N-Dimensional array) is the class that is used for passing detector
data from drivers to plugins. The NDArray class is defined as follows:
@@ -582,10 +568,8 @@ public:
release. This method calls NDArrayPool->release() for this object.
It decreases the reference count for this array.The NDArrayPool class manages a free list (pool) of NDArray objects (described above). Drivers allocate NDArray objects from the pool, and pass these objects to plugins. @@ -644,10 +628,8 @@ public:
report This method reports on the free list size and other properties
of the NDArrayPool object.asynNDArrayDriver inherits from asynPortDriver. It implements the asynGenericPointer functions, assuming that these reference NDArray objects. This is the class from @@ -683,10 +665,8 @@ public:
report This method calls the report function in the asynPortDriver
base class. It then calls the NDArrayPool->report() method if details > 5.ADDriver inherits from asynNDArrayDriver. This is the class from which area detector drivers are directly derived. Its public interface is defined as follows: @@ -721,10 +701,8 @@ public: file name in the ADFullFileName parameter from the ADFilePath, ADFileName, ADFileNumber, and ADFileTemplate parameters. -
The file ADStdDriverParams.h defines the following:

+ ADBase.adl
+
areaDetector has been designed to minimize the amount of work required to write - a new detector driver. These drivers are described in separate documents, linked - to by the table of contents at the top of this page. -
+ a new detector driver. The drivers currently available for the areaDetector module + are: +