Files
ADAndor/documentation/andorDoc.html
2012-01-23 21:06:34 +00:00

496 lines
13 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 Andor driver</title>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
</head>
<body>
<div style="text-align: center">
<h1>
areaDetector Andor driver</h1>
<h2>
January 7, 2012</h2>
<h2>
Matthew Pearson, Diamond Light Source</h2>
<h2>
Mark Rivers, 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">Andor 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="#Future_plans">Future plans</a> </li>
</ul>
<h2 id="Introduction" style="text-align: left">
Introduction</h2>
<p>
This is an <a href="http://www.aps.anl.gov/epics">EPICS</a> <a href="areaDetector.html">
areaDetector</a> driver for CCD and CMOS detectors from <a href="http://www.andor.com">
Andor Technology</a>. It has been tested on the Andor iKon CCD cameras with
USB interface, but should work with other cameras as well.</p>
<p>
The driver currently provides the following features:</p>
<ul>
<li>Take images in single image mode and accumulate mode</li>
<li>Set the exposure time</li>
<li>Set the filename</li>
<li>Change the ADC sampling speed (0.05MHz and 2.5MHz)</li>
<li>Set a region of interest (a smaller region can be read out faster)</li>
<li>Set and monitor the CCD temperature</li>
<li>Set the number of images to use in accumulate mode</li>
</ul>
<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 Andor detectors. The <a href="areaDetectorDoxygenHTML/class_andor_c_c_d.html">
Andor 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 Andor driver implements some of the standard
driver parameters.
</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>
Parameter index variable</th>
<th>
EPICS record name</th>
<th>
Description</th>
</tr>
<tr>
<td>
ADTriggerMode</td>
<td>
$(P)$(R)TriggerMode<br />
$(P)$(R)TriggerMode_RBV</td>
<td>
Sets the trigger mode for the detector. Options are:
<ul>
<li>Internal</li>
<li>External</li>
</ul>
This has not yet been tested. </td>
</tr>
<tr>
<td>
ADImageMode</td>
<td>
$(P)$(R)ImageMode<br />
$(P)$(R)ImageMode_RBV</td>
<td>
Sets the trigger mode for the detector. Options are:
<ul>
<li>Single</li>
<li>Multiple (accumulate)</li>
<li>Continuous (not supported yet)</li>
</ul>
</td>
</tr>
<tr>
<td>
ADNumImages</td>
<td>
$(P)$(R)NumImages<br />
$(P)$(R)NumImages_RBV</td>
<td>
Set the number of images to take in multiple (accumulate) mode </td>
</tr>
<tr>
<td>
ADTemperature</td>
<td>
$(P)$(R)Temperature<br />
$(P)$(R)Temperature_RBV</td>
<td>
Set and read the operating temperature of the CCD (-120C to 20C) </td>
</tr>
</tbody>
</table>
<h2 id="Driver_parameters" style="text-align: left">
Andor specific parameters</h2>
<p>
The Andor driver implements the following parameters in addition to those in asynNDArrayDriver.h
and ADDriver.h.
</p>
<table border="1" cellpadding="2" cellspacing="2" style="text-align: left">
<tbody>
<tr>
<td align="center" colspan="7">
<b>Parameter Definitions in andorCCD.h and EPICS Record Definitions in andorCCD.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>
AndorCoolerParam</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Turn the CCD cooler on and off</td>
<td>
ANDOR_COOLER</td>
<td>
AndorCooler<br />
AndorCooler_RBV</td>
<td>
bo<br />
bi</td>
</tr>
<tr>
<td>
AndorShutdownParam</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Write a 1 to this PV to shutdown the CCD and the driver cleanly. This must be done
before rebooting the IOC.</td>
<td>
ANDOR_SHUTDOWN</td>
<td>
AndorShutdown</td>
<td>
bo</td>
</tr>
<tr>
<td>
AndorStartupParam</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Write a 1 to this PV to reinitialize the Andor software.</td>
<td>
ANDOR_STARTUP</td>
<td>
AndorStartup</td>
<td>
bo</td>
</tr>
<tr>
<td>
AndorImageModeAMultiParam</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Selects the Andor imaging mode. Choices are:
<ul>
<li>Accumulate</li>
<li>Kinetics</li>
<li>Fast Kintetics</li>
</ul>
</td>
<td>
ANDOR_IMAGE_MODE_AM</td>
<td>
AndorImageMode</td>
<td>
mbbo</td>
</tr>
<tr>
<td>
AndorACTInKineticsParam</td>
<td>
asynFloat64</td>
<td>
R/W</td>
<td>
Accumulated cycle time in kinetics mode.</td>
<td>
ANDOR_ACT_KINETICS</td>
<td>
AndorACTInKinetics</td>
<td>
ao</td>
</tr>
<tr>
<td>
AndorANumInKineticsParam</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Number of accumulations in kinetics mode.</td>
<td>
ANDOR_ANUM_KINETICS</td>
<td>
AndorANumInKinetics</td>
<td>
ao</td>
</tr>
<tr>
<td>
AndorFKHeightParam</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Height of the region in Fast Kinetics mode.</td>
<td>
ANDOR_FK_HEIGHT</td>
<td>
AndorFKHeight</td>
<td>
ao</td>
</tr>
<tr>
<td>
AndorFKHBinningParam</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Horizontal binning of the region in Fast Kinetics mode.</td>
<td>
ANDOR_FKH_BINNING</td>
<td>
AndorFKHBinning</td>
<td>
ao</td>
</tr>
<tr>
<td>
AndorFKVBinningParam</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Vertical binning of the region in Fast Kinetics mode.</td>
<td>
ANDOR_FKV_BINNING</td>
<td>
AndorFKVBinning</td>
<td>
ao</td>
</tr>
<tr>
<td>
AndorFKOffsetParam</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Offset in Fast Kinetics mode.</td>
<td>
ANDOR_FK_OFFSET</td>
<td>
AndorFKOffset</td>
<td>
ao</td>
</tr>
<tr>
<td>
AndorTempStatusMessage</td>
<td>
asynOctet</td>
<td>
R/O</td>
<td>
Temperature status message.</td>
<td>
ANDOR_TEMP_STAT</td>
<td>
AndorTempStatus_RBV</td>
<td>
waveform</td>
</tr>
<tr>
<td>
AndorMessage</td>
<td>
asynOctet</td>
<td>
R/O</td>
<td>
Other status message.</td>
<td>
ANDOR_MESSAGE</td>
<td>
AndorMessage_RBV</td>
<td>
waveform</td>
</tr>
<tr>
<td>
AndorShutterMode</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Selects the Andor shutter mode. Choices are:
<ul>
<li>Auto</li>
<li>Open</li>
</ul>
</td>
<td>
ANDOR_SHUTTER_MODE</td>
<td>
AndorShutterMode</td>
<td>
mbbo</td>
</tr>
<tr>
<td>
AndorShutterExTTL</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Selects the TTL polarity of an external shutter. Choices are:
<ul>
<li>Low To Open</li>
<li>High To Open</li>
</ul>
</td>
<td>
ANDOR_SHUTTER_EXTTL</td>
<td>
AndorShutterExTTL</td>
<td>
bo</td>
</tr>
<tr>
<td>
AndorFileFormat</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Selects the file format for save files with the Andor driver. Choices are:
<ul>
<li>TIFF</li>
<li>BMP</li>
<li>SIF</li>
<li>EDF</li>
<li>RAW</li>
<li>TEXT</li>
</ul>
NOTE: Currently only TIFF is supported.</td>
<td>
ANDOR_FILE_FORMAT</td>
<td>
AndorFileFormat</td>
<td>
mbbo</td>
</tr>
<tr>
<td>
AndorPALFileName</td>
<td>
asynOctet</td>
<td>
R/W</td>
<td>
Path and Filename of pallette file (used for TIFF file colours) (255 chars max).
</td>
<td>
ANDOR_PAL_FILE_PATH</td>
<td>
PALFilePath</td>
<td>
waveform</td>
</tr>
<tr>
<td>
AndorAdcSpeed</td>
<td>
asynInt32</td>
<td>
R/W</td>
<td>
Switch between the slow (low noise) ADC and the fast ADC. Choices are:
<ul>
<li>0.05 MHz</li>
<li>2.5 MHz</li>
</ul>
</td>
<td>
ANDOR_ADC_SPEED</td>
<td>
AndorADCSpeed<br />
AndorADCSpeed_RBV</td>
<td>
mbbo<br />
mbbi</td>
</tr>
</tbody>
</table>
<h2 id="Usage" style="text-align: left">
Usage</h2>
<p>
Always use channel access put callback when setting parameters.</p>
<p>
If any of the parameters set are out of range or fail in some way, then the PV will
be put into alarm state. This should be checked after every PV set.
</p>
<p>
An example palette file for a TIFF file is GREY.PAL in the iocAndor directory.</p>
<h2 id="Andor_docs" style="text-align: left">
Andor CCD information and user manual</h2>
<p>
file:///dls_sw/work/R3.14.8.2/support/andorCCD/etc/private/iKon-M_Manual.pdf</p>
<p>
file:///dls_sw/work/R3.14.8.2/support/andorCCD/etc/private/Software_Development_Kit_V2.81.pdf
(for developers only)</p>
<h2 id="Future_plans" style="text-align: left">
Future plans</h2>
<ul>
<li>Support for more data acquisiton modes (kinetic and fast kinetics)</li>
<li>Automatic filename handling</li>
<li>Support for more file types (EDF)</li>
<li>Support for array callbacks to support plugins.</li>
<li>Support for setting more iKon detector parameters</li>
<li>Support for detector output signals (trigger and gate)</li>
<li>Set up autosave restore of settings, and archiving of parameters.</li>
<li>Remove AndorShutdown, use an EPICS exit handler instead.</li>
<li>Remove AndorFileFormat, just use normal NDFileFormat.</li>
</ul>
</body>
</html>