git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@10305 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b
127 lines
4.8 KiB
HTML
Executable File
127 lines
4.8 KiB
HTML
Executable File
<!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 Plugin NDPluginStdArrays</title>
|
|
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
|
|
</head>
|
|
<body>
|
|
<div style="text-align: center">
|
|
<h1>
|
|
areaDetector Plugin NDPluginStdArrays</h1>
|
|
<h2>
|
|
August 3, 2009</h2>
|
|
<h2>
|
|
Mark Rivers</h2>
|
|
<h2>
|
|
University of Chicago</h2>
|
|
</div>
|
|
<h2>
|
|
Contents</h2>
|
|
<ul>
|
|
<li><a href="#Overview">Overview</a></li>
|
|
<li><a href="#Configuration">Configuration</a></li>
|
|
<li><a href="#Screens">Screen shots</a></li>
|
|
</ul>
|
|
<h2 id="Overview">
|
|
Overview
|
|
</h2>
|
|
<p>
|
|
This plugin is the tool for converting the NDArray data produced by asynNDArrayDriver
|
|
drivers into a form that can be accessed by EPICS.
|
|
</p>
|
|
<p>
|
|
NDPluginStdArrays inherits from NDPluginDriver. NDPluginStdArrays converts the NDArray
|
|
data from a callback into the 1-dimensional arrays supported by the standard asyn
|
|
array interfaces, i.e. asyn[Int8, Int16, Int32, Float32, Float64]Array. These interfaces
|
|
are supported by the EPICS waveform record using standard asyn device support. Because
|
|
this plugin inherits from <a href="pluginDoc.html#NDPluginDriver">NDPluginDriver</a>
|
|
it also provides additional information on the array data (e.g. number of dimensions
|
|
and dimension data) that are made available as EPICS PVs so that clients can correctly
|
|
interpret the array data. The <a href="areaDetectorDoxygenHTML/class_n_d_plugin_std_arrays.html">
|
|
NDPluginStdArrays class documentation</a> describes this class in detail.</p>
|
|
<p>
|
|
NDPluginStdArrays defines the following parameters. It also implements all of the
|
|
standard plugin parameters from <a href="pluginDoc.html#NDPluginDriver">NDPluginDriver</a>
|
|
. The EPICS database NDStdArrays.template provides access to these parameters, listed
|
|
in the following table.
|
|
</p>
|
|
<table border="1" cellpadding="2" cellspacing="2" style="text-align: left">
|
|
<tbody>
|
|
<tr>
|
|
<td align="center" colspan="7,">
|
|
<b>Parameter Definitions in NDPluginStdArrays.h and EPICS Record Definitions in NDStdArrays.template</b></td>
|
|
</tr>
|
|
<tr>
|
|
<th>
|
|
Parameter index variable</th>
|
|
<th>
|
|
asyn interface</th>
|
|
<th>
|
|
Access</th>
|
|
<th>
|
|
Description</th>
|
|
<th>
|
|
drvInfo string</th>
|
|
<th>
|
|
EPICS record name</th>
|
|
<th>
|
|
EPICS record type</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
NDPluginStdArraysData</td>
|
|
<td>
|
|
asyn[Int8, Int16, Int32, Float32, Float64]Array</td>
|
|
<td>
|
|
r/o</td>
|
|
<td>
|
|
Array data as a 1-D array, possibly converted in data type from that in the NDArray
|
|
object to the specific asyn interface.</td>
|
|
<td>
|
|
STD_ARRAY_DATA</td>
|
|
<td>
|
|
$(P)$(R)ArrayData</td>
|
|
<td>
|
|
waveform</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>
|
|
If the array data contains more than 16,000 bytes then in order for EPICS clients
|
|
to receive this data they must be built with EPICS R3.14 (not R3.13), and the environment
|
|
variable EPICS_CA_MAX_ARRAY_BYTES on both the EPICS IOC computer and EPICS client
|
|
computer must be set to a value at least as large as the array size in bytes.</p>
|
|
<h2 id="Configuration">
|
|
Configuration</h2>
|
|
<p>
|
|
The NDPluginStdArrays plugin is created with the NDStdArraysConfigure command, either
|
|
from C/C++ or from the EPICS IOC shell.</p>
|
|
<pre>NDStdArraysConfigure (const char *portName, int queueSize, int blockingCallbacks,
|
|
const char *NDArrayPort, int NDArrayAddr, 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 NDStdArraysConfigure function in the <a href="areaDetectorDoxygenHTML/_n_d_plugin_std_arrays_8cpp.html">
|
|
NDPluginStdArrays.cpp documentation</a> and in the documentation for the constructor
|
|
for the <a href="areaDetectorDoxygenHTML/class_n_d_plugin_std_arrays.html">NDPluginStdArrays
|
|
class</a>.
|
|
</p>
|
|
<h2 id="Screens">
|
|
Screen shots</h2>
|
|
<p>
|
|
The following is the MEDM screen that provides access to the parameters in NDPluginDriver.h
|
|
and NDPluginStdArrays.h through records in NDPluginBase.template and NDStdArrays.template.
|
|
This is the MEDM screen that is normally used to control the display of images via
|
|
EPICS channel access.
|
|
</p>
|
|
<div style="text-align: center">
|
|
<h3>
|
|
NDStdArrays.adl</h3>
|
|
<p>
|
|
<img alt="NDStdArrays.png" src="NDStdArrays.png" /></p>
|
|
</div>
|
|
</body>
|
|
</html>
|