git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@9316 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b
193 lines
7.0 KiB
HTML
193 lines
7.0 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>areaDetector PerkinElmer driver</title>
|
|
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
|
|
</head>
|
|
<body>
|
|
<div style="text-align: center">
|
|
<h1>
|
|
areaDetector PerkinElmer driver</h1>
|
|
<h2>
|
|
August 17, 2009</h2>
|
|
<h2>
|
|
John Hammonds, Brian Tieman, Mark Rivers</h2>
|
|
<h2>
|
|
Argonne National Laboratory and University of Chicago</h2>
|
|
</div>
|
|
<h2>
|
|
Table of Contents</h2>
|
|
<ul>
|
|
<li><a href="#Introduction">Introduction</a></li>
|
|
<li><a href="#StandardNotes">Implementation of standard driver parameters</a></li>
|
|
<li><a href="#Driver_parameters">PerkinElmer specific parameters</a></li>
|
|
<li><a href="#Unsupported">Unsupported standard driver parameters</a></li>
|
|
<li><a href="#Configuration">Configuration</a></li>
|
|
<li><a href="#MEDM_screens">MEDM screens</a></li>
|
|
<li><a href="#Performance_measurements">Performance measurements</a> </li>
|
|
<li><a href="#Restrictions">Restrictions</a> </li>
|
|
</ul>
|
|
<h2 id="Introduction" style="text-align: left">
|
|
Introduction</h2>
|
|
<p>
|
|
This is a driver for the flat-panel amorphous silicon detectors from <a href="http://optoelectronics.perkinelmer.com/catalog/Category.aspx?CategoryName=X-Ray+Cameras">
|
|
PerkinElmer</a>. 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.</p>
|
|
<p>
|
|
The driver is based upon the library provided by PerkinElmer. It only runs on Microsoft
|
|
Windows computers.
|
|
</p>
|
|
<p>
|
|
ADD ADDTIONAL INTRODUCTORY TEXT HERE.</p>
|
|
<p>
|
|
This driver inherits from ADDriver. The <a href="areaDetectorDoxygenHTML/class_perkin_elmer.html">
|
|
PerkinElmer class documentation</a> describes this class in detail.</p>
|
|
<h2 id="StandardNotes" style="text-align: left">
|
|
Implementation of standard driver parameters</h2>
|
|
<p>
|
|
The following table describes how the PerkinElmer driver implements some of the
|
|
standard driver parameters.
|
|
</p>
|
|
<p>
|
|
DOCUMENT IMPLEMENTATION OF STANDARD DRIVER PARAMETERS IN THIS TABLE</p>
|
|
<table border="1" cellpadding="2" cellspacing="2" style="text-align: left">
|
|
<tbody>
|
|
<tr>
|
|
<td align="center" colspan="3">
|
|
<b>Implementation of Parameters in asynNDArrayDriver.h and ADDriver.h, and EPICS Record
|
|
Definitions in ADBase.template and NDFile.template</b></td>
|
|
</tr>
|
|
<tr>
|
|
<th>
|
|
Enum name</th>
|
|
<th>
|
|
EPICS record name</th>
|
|
<th>
|
|
Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
ADNumImages</td>
|
|
<td>
|
|
$(P$(R)NumImages</td>
|
|
<td>
|
|
Controls the number of images to acquire when ADImageMode is ADImageMultiple.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<h2 id="Driver_parameters" style="text-align: left">
|
|
PerkinElmer specific parameters</h2>
|
|
<p>
|
|
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 <code>PerkinElmerXXX</code>.
|
|
</p>
|
|
<table border="1" cellpadding="2" cellspacing="2" style="text-align: left">
|
|
<tbody>
|
|
<tr>
|
|
<td align="center" colspan="7">
|
|
<b>Parameter Definitions in PerkinElmer.h and EPICS Record Definitions in PerkinElmer.template</b></td>
|
|
</tr>
|
|
<tr>
|
|
<th>
|
|
Enum name</th>
|
|
<th>
|
|
asyn interface</th>
|
|
<th>
|
|
Access</th>
|
|
<th>
|
|
Description</th>
|
|
<th>
|
|
drvUser string</th>
|
|
<th>
|
|
EPICS record name</th>
|
|
<th>
|
|
EPICS record type</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
PE_NumFrameBuffers</td>
|
|
<td>
|
|
asynInt32</td>
|
|
<td>
|
|
r/w</td>
|
|
<td>
|
|
Number of frame buffers to use</td>
|
|
<td>
|
|
PE_NUM_FRAME_BUFFERS</td>
|
|
<td>
|
|
$(P)$(R)PENumFrameBuffers<br/>
|
|
$(P)$(R)PENumFrameBuffers_RBV</td>
|
|
<td>
|
|
longout<br/>
|
|
longin</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h2 id="Unsupported">
|
|
Unsupported standard driver parameters</h2>
|
|
<p>
|
|
The PerkinElmer driver does not support the following standard driver parameters
|
|
because they are not supported in the PerkinElmer library:</p>
|
|
<ul>
|
|
<li>List any unsupported parameters here (WORK NEEDED)</li>
|
|
</ul>
|
|
<h2 id="Configuration">
|
|
Configuration</h2>
|
|
<p>
|
|
The PerkinElmer driver is created with the perkinElmerConfig command, either from
|
|
C/C++ or from the EPICS IOC shell.</p>
|
|
<pre>int PerkinElmerConfig(const char *portName, int maxSizeX, int maxSizeY, int dataType,
|
|
int maxBuffers, size_t maxMemory,
|
|
int priority, int stackSize )
|
|
</pre>
|
|
<p>
|
|
For details on the meaning of the parameters to this function refer to the detailed
|
|
documentation on the mar345Config function in the <a href="areaDetectorDoxygenHTML/_perkin_elmer_8cpp.html">
|
|
PerkinElmer.cpp documentation</a> and in the documentation for the constructor
|
|
for the <a href="areaDetectorDoxygenHTML/class_perkin_elmer.html">PerkinElmer class</a>.
|
|
</p>
|
|
<p>
|
|
There an example IOC boot directory and startup script (<a href="perkin_elmer_st_cmd.html">iocBoot/iocPerkinElmer/st.cmd)</a>
|
|
provided with areaDetector.
|
|
</p>
|
|
<h2 id="MEDM_screens" style="text-align: left">
|
|
MEDM screens</h2>
|
|
<p>
|
|
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.</p>
|
|
<p>
|
|
<code>PerkinElmer.adl</code> is the main screen used to control the PerkinElmer
|
|
driver.
|
|
</p>
|
|
<div style="text-align: center">
|
|
<h3 style="text-align: center">
|
|
PerkinElmer.adl</h3>
|
|
<img alt="PerkinElmer.png" src="PerkinElmer.png" /></div>
|
|
<h2 id="Performance_measurements">
|
|
Performance measurements</h2>
|
|
<p>
|
|
The following measurements were done to demonstrate the performance that can be
|
|
obtained with the areaDetector PerkinElmer driver.</p>
|
|
<p>
|
|
PUT A TABLE OF PERFORMANCE MEASUREMENTS HERE</p>
|
|
<h2 id="Restrictions">
|
|
Restrictions</h2>
|
|
<p>
|
|
The following are some current restrictions of the PerkinElmer driver:</p>
|
|
<ul>
|
|
<li>DOCUMENT ANY IMPORTANT RESTRICTIONS OF THE PERKIN ELMER DRIVER HERE</li>
|
|
</ul>
|
|
</body>
|
|
</html>
|