Reformatted with VS

git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@15238 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b
This commit is contained in:
rivers
2012-09-27 23:29:16 +00:00
parent 45af346b58
commit a21fbbd26c
+44 -45
View File
@@ -30,25 +30,25 @@
<h2 id="Introduction" style="text-align: left">
Introduction</h2>
<p>
This is a driver for detectors from <a href="http://www.bruker-axs.com/">
Bruker AXS </a> using the Bruker Instrument Server (BIS).</p>
This is a driver for detectors from <a href="http://www.bruker-axs.com/">Bruker AXS
</a>using the Bruker Instrument Server (BIS).</p>
<p>
The interface to the detector is via TCP/IP socket connections to the <b>Bruker Instrument Server (BIS)</b>
program that Bruker provides. The BIS program must be started before
the areaDetector software is started.
The interface to the detector is via TCP/IP socket connections to the <b>Bruker Instrument
Server (BIS)</b> program that Bruker provides. The BIS program must be started
before the areaDetector software is started.
</p>
<p>
The Bruker Instrument Server saves the data to disk in Bruker's SRFM file format. The areaDetector
driver reads these disk files in order to read the data, because BIS does
not provide another mechanism to access the data.
The Bruker Instrument Server saves the data to disk in Bruker's SRFM file format.
The areaDetector driver reads these disk files in order to read the data, because
BIS does not provide another mechanism to access the data.
</p>
<p>
This driver inherits from <a href="areaDetectorDoc.html#ADDriver">ADDriver</a>.
It implements many of the parameters in <a href="areaDetectorDoxygenHTML/asyn_n_d_array_driver_8h.html">
asynNDArrayDriver.h</a> and in <a href="areaDetectorDoxygenHTML/_a_d_driver_8h.html">
ADArrayDriver.h</a>. It also implements a number of parameters that are specific
to the Bruker detector. The <a href="areaDetectorDoxygenHTML/class_b_i_s_detector.html">BIS
class documentation</a> describes this class in detail.</p>
to the Bruker detector. The <a href="areaDetectorDoxygenHTML/class_b_i_s_detector.html">
BIS class documentation</a> describes this class in detail.</p>
<h2 id="StandardNotes" style="text-align: left">
Implementation of standard driver parameters</h2>
<p>
@@ -95,14 +95,12 @@
$(P)$(R)FilePath</td>
<td>
Controls the path for saving images. It must be a valid path for BIS <i>and</i>
for the areaDetector driver, which is normally running in an EPICS IOC. Normally BIS
and the EPICS IOC are run on the same machine so this is not an issue. Running the
IOC on another machine is difficult because Windows does not support soft links
that could be used to make the paths look identical.<br/>
The terminator at the end of
FilePath <b>must</b> be a "\" character, it cannot be a "/" character, because BIS
only recognizes the "\".
</td>
for the areaDetector driver, which is normally running in an EPICS IOC. Normally
BIS and the EPICS IOC are run on the same machine so this is not an issue. Running
the IOC on another machine is difficult because Windows does not support soft links
that could be used to make the paths look identical.<br />
The terminator at the end of FilePath <b>must</b> be a "\" character, it cannot
be a "/" character, because BIS only recognizes the "\". </td>
</tr>
<tr>
<td>
@@ -110,8 +108,7 @@
<td>
$(P)$(R)FileFormat</td>
<td>
BIS only supports Bruker format SRFM files.
</td>
BIS only supports Bruker format SRFM files. </td>
</tr>
<tr>
<td>
@@ -132,10 +129,12 @@
</tr>
</tbody>
</table>
<p>
BIS will automatically open and close the shutter when exposures are collected. It does this by changing the state of
pin 3 of the parallel port DB-25 connector on the PC. This signal is connected to a shutter control box. Alternatively,
if ADShutterMode is set to ADShutterModeEPICS, then any EPICS PV can be used to control a shutter.</p>
<p>
BIS will automatically open and close the shutter when exposures are collected.
It does this by changing the state of pin 3 of the parallel port DB-25 connector
on the PC. This signal is connected to a shutter control box. Alternatively, if
ADShutterMode is set to ADShutterModeEPICS, then any EPICS PV can be used to control
a shutter.</p>
</p>
<h2 id="Driver_parameters" style="text-align: left">
Bruker specific parameters</h2>
@@ -149,7 +148,8 @@
<tbody>
<tr>
<td align="center" colspan="7">
<b>Parameter Definitions in mar345.cpp and EPICS Record Definitions in mar345.template</b></td>
<b>Parameter Definitions in mar345.cpp and EPICS Record Definitions in mar345.template</b>
</td>
</tr>
<tr>
<th>
@@ -185,8 +185,7 @@
<td>
$(P)$(R)ReadSFRMTimeout</td>
<td>
ao
</td>
ao </td>
</tr>
<tr>
<td>
@@ -202,8 +201,7 @@
<td>
$(P)$(R)BISStatus</td>
<td>
waveform
</td>
waveform </td>
</tr>
<tr>
<td>
@@ -222,8 +220,7 @@
<td>
longout
<br />
longin
</td>
longin </td>
</tr>
</tbody>
</table>
@@ -242,12 +239,13 @@
<li>Capture or stream file saving (NDFileWriteMode, NDFileCapture, NDNumCapture, NDNumCaptured)</li>
</ul>
<p>
BIS supports binning, but the binning in the X and Y directions must be the same, so only ADBinX is supported.</p>
BIS supports binning, but the binning in the X and Y directions must be the same,
so only ADBinX is supported.</p>
<h2 id="Configuration">
Configuration</h2>
<p>
The Bruker driver is created with the BISDetectorConfig command, either from C/C++ or
from the EPICS IOC shell.</p>
The Bruker driver is created with the BISDetectorConfig command, either from C/C++
or from the EPICS IOC shell.</p>
<pre>
BISDetectorConfig(const char *portName, const char *commandPort, const char *statusPort,
int maxBuffers, size_t maxMemory,
@@ -256,8 +254,8 @@
<p>
For details on the meaning of the parameters to this function refer to the detailed
documentation on theBISDetectorConfig function in the <a href="areaDetectorDoxygenHTML/_b_i_s_detector_8cpp.html">
BIS.cpp documentation</a> and in the documentation for the constructor for
the <a href="areaDetectorDoxygenHTML/class_b_i_s_detector.html">BIS class</a>.
BIS.cpp documentation</a> and in the documentation for the constructor for the
<a href="areaDetectorDoxygenHTML/class_b_i_s_detector.html">BIS class</a>.
</p>
<p>
There an example IOC boot directory and startup script (<a href="bruker_st_cmd.html">iocBoot/iocBruker/st.cmd)</a>
@@ -282,15 +280,16 @@
<p>
The following are some current restrictions of the Bruker driver:</p>
<ul>
<li>If NumDarks is greater than 1 then the driver does not correctly wait long enough for the
dark images to be completed. If one looks at the status responses in the medm screen one can
tell when it is actually done. This should be fixed in a future release.</li>
<li>If BIS has not previously collected a dark image with the current binning and exposure time
then it will first automatically collect one when told to acquire normal frame.
The driver has no way of knowing that BIS is doing this and
so it will time out waiting for the normal image to appear. This can be avoided by always
collecting a Dark frame whenever the binning or exposure time is changed to a value
that has not been previously used.</li>
<li>If NumDarks is greater than 1 then the driver does not correctly wait long enough
for the dark images to be completed. If one looks at the status responses in the
medm screen one can tell when it is actually done. This should be fixed in a future
release.</li>
<li>If BIS has not previously collected a dark image with the current binning and
exposure time then it will first automatically collect one when told to acquire
normal frame. The driver has no way of knowing that BIS is doing this and so it
will time out waiting for the normal image to appear. This can be avoided by always
collecting a Dark frame whenever the binning or exposure time is changed to a value
that has not been previously used.</li>
</ul>
</body>
</html>