git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@8117 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b
193 lines
9.8 KiB
HTML
Executable File
193 lines
9.8 KiB
HTML
Executable File
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>areaDetectorReleaseNotes.html</title>
|
|
</head>
|
|
<body>
|
|
<h1 style="text-align: center">
|
|
areaDetector Release Notes</h1>
|
|
<h2 style="text-align: center">
|
|
Release 1-4 (XXX-December-2008)</h2>
|
|
<ul>
|
|
<li>Added a driver for Roper Scientific (i.e. Princeton Instruments and Photometrics)
|
|
detectors. It uses the Microsoft COM interface to control the WinView or WinSpec
|
|
programs. The previous support in the "ccd" module used a Visual Basic socket server
|
|
and an SNL program to accomplish this. It was hard to maintain, because Visual Basic
|
|
changed incompatibly from one release of Visual Studio to the next, and because
|
|
it could not be built with the EPICS build system. The new driver is written in
|
|
C++, and is built entirely with the EPICS build system. It also supports more WinView
|
|
features than the ccd version, and makes the detector data available via callbacks.
|
|
This allows detector data to be displayed with EPICS clients, permits ROI or other
|
|
plugin calculations, and allows saving in other file formats if desired. </li>
|
|
<li>Added support for color
|
|
<ul>
|
|
<li>Added NDColorMode_t to NDArray.h. NDArray has a new field indicating the color
|
|
mode.</li>
|
|
<li>Added new parameter ADColorMode to ADStdDriverParams.h and new record ColorMode to ADBase.template
|
|
and NDPluginBase.template.</li>
|
|
<li>Added a new plugin NDPluginColorConvert to convert colors. It currently converts Bayer to RGB1, RGB2 or RGB3, RGB1 to
|
|
RGB2 or RGB3 and RGB3 to RGB1 or RGB2.</li>
|
|
<li>The Prosilica driver now supports color. It supports RGB1 and Bayer directly, and RGB2 and RGB3
|
|
through the NDPluginColorConvert plugin.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added a Viewers directory. This contains an IDL viewer for displaying images.
|
|
The viewer supports color and several different viewing
|
|
modes. It can be run for free under the IDL Virtual Machine, and should work on any platform with a
|
|
version of ezcaIDL.so or ezcaIDL.dll built with EPICS 3.14.
|
|
This directory also contains IDL class libraries for accessing areaDetector. These classes are
|
|
used by the viewers, but can also be used for other IDL applications.</li>
|
|
<li>Added new parameters in ADStdDriverParams.h
|
|
<ul>
|
|
<li>ADTemperature</li>
|
|
<li>ADReadStatus</li>
|
|
<li>ADNumExposuresCounter</li>
|
|
<li>ADColorMode</li>
|
|
</ul>
|
|
</li>
|
|
<li>Pilatus driver
|
|
<ul>
|
|
<li>Send the imgpath command to camserver when the ADFilePath parameter is changed.
|
|
camserver will then create directories if they do not exist, whereas specifying
|
|
a path with non-existant directories in the "exposure" or acquire commands will
|
|
not create directories. </li>
|
|
</ul>
|
|
</li>
|
|
<li>Prosilica driver
|
|
<ul>
|
|
<li>Added support for color. </li>
|
|
<li>Made minor changes to the code and to the build system to add support for running the driver
|
|
under Linux. However, there appears to be a conflict between the Prosilica driver's use of
|
|
Linux signals and the use of signals in EPICS base. The driver sometimes initializes successfully
|
|
and works, but most often it will crash with a SIGSEGV right after iocInit. Hopefully this will
|
|
be fixed in a future release.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Fixes to C++ code to avoid compiler warnings on Solaris. All but one of these
|
|
changes should be transparent to user-written code. There is one change that may
|
|
require changes to user-written plugins and drivers. The ADAsynPortDriver::pasynUser
|
|
member was renamed to ADAsynPortDriver::pasynUserSelf to avoid name conflicts with
|
|
a local variable called pasynUser. </li>
|
|
<li>Added $(P)$(R)AutoSave to the save/restore settings in NDFile_settings.req so
|
|
it will be restored on reboot. This requires care when using drivers such as the
|
|
Prosilica which can rapidly save very large data files, since file saving may be
|
|
resumed on reboot. </li>
|
|
</ul>
|
|
<h2 style="text-align: center">
|
|
Release 1-3 (24-November-2008)</h2>
|
|
<ul>
|
|
<li>Added a driver for MarCCD detectors. Compared to the previous support in the "ccd"
|
|
module, this driver uses the faster Version 1 protocol for the Mar server. It also
|
|
makes the detector data available via callbacks (by reading the TIFF files as soon
|
|
as they are written). This allows detector data to be displayed with EPICS clients,
|
|
and for ROI calculations.</li>
|
|
<li>Added support for shutter control. Supports shutters that are driven directly
|
|
from the detector hardware, as well as shutters controlled by EPICS records. Shutter
|
|
support is implemented for the MarCCD, Pilatus, and simulation detectors.</li>
|
|
<li>Added new methods for shutter support to the detector base class ADDriver.cpp
|
|
<ul>
|
|
<li>ADDriver::setShutter()</li>
|
|
<li>ADDriver::writeInt32</li>
|
|
</ul>
|
|
</li>
|
|
<li>Reorganized the file I/O parameters, template files and medm screens
|
|
<ul>
|
|
<li>Moved the file capture parameters from NDPluginFile.h and NDPluginFile.cpp to
|
|
ADStdDriverParams.h. This allows a detector driver to use these capture parameters
|
|
if desired.</li>
|
|
<li>Removed all of the file I/O records from ADBase.template and ADBase_settings.req.
|
|
These previously duplicated the records in NDFile.template and NDFile_settings.req,
|
|
which was hard to maintain. IOCs for detector drivers that can do file I/O now need
|
|
to load NDFile.template, while those that cannot no longer need to load these records.
|
|
They also need to have NDFile_settings.req added to auto_settings.req. This does
|
|
not effect the file plugin support, only drivers that directly do file I/O.</li>
|
|
<li>Removed the file I/O PVs from ADBase.adl. Added a related display link to NDFile.adl.</li>
|
|
<li>NDFile.adl now contains only the file related PVs, not the plugin related PVs.
|
|
The new file NDPluginFile.adl replaces the previous version of NDFile.adl, and contains
|
|
both the file PVs and the plugin PVs.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added new enums in ADStdDriverParams.h
|
|
<ul>
|
|
<li>ADFrameType_t</li>
|
|
<li>ADShutterMode_t</li>
|
|
<li>ADFileMode_t</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added new parameters in ADStdDriverParams.h
|
|
<ul>
|
|
<li>ADShutterControl (replaces ADShutter)</li>
|
|
<li>ADShutterControlEPICS</li>
|
|
<li>ADShutterStatus</li>
|
|
<li>ADShutterMode</li>
|
|
<li>ADShutterOpenDelay</li>
|
|
<li>ADShutterCloseDelay</li>
|
|
<li>ADTimeRemaining</li>
|
|
<li>ADNumImagesCounter</li>
|
|
<li>ADFrameType</li>
|
|
<li>ADArrayCallbacks</li>
|
|
<li>ADFileWriteMode</li>
|
|
<li>ADFileNumCapture</li>
|
|
<li>ADFileNumCaptured</li>
|
|
<li>ADFileCapture</li>
|
|
</ul>
|
|
ADArrayCallbacks can be set to 0 to disable callbacks with detector data. For the
|
|
MarCCD and Pilatus detectors setting this to 0 will disable reading the disk files
|
|
after collection. This can be used to reduce overhead when EPICS is being used just
|
|
for control, rather than to access the data. </li>
|
|
<li>Added variant of NDPluginDriver::createFileName that returns the filePath and
|
|
fileName separately, rather than a complete file name including the path.</li>
|
|
</ul>
|
|
<h2 style="text-align: center">
|
|
Release 1-2 (24-October-2008)</h2>
|
|
<ul>
|
|
<li>Major update to documentation</li>
|
|
<li>Significant enhancement to ROI plugin. Added net counts, ROI highlighting.</li>
|
|
<li>Added driver for Pilatus detectors. This has undergone limited testing.</li>
|
|
<li>Added driver for ADSC detectors (done by Lewis Muir, IMCA-CAT)</li>
|
|
<li>Removed separate readback parameters in drivers and template files</li>
|
|
<li>Changed from mbbi/mbbo records to bi/bo records where possible now that the asynInt32
|
|
interface supports bi/bo records.</li>
|
|
<li>Internals
|
|
<ul>
|
|
<li>Renamed asynParamBase to asynPortDriver.</li>
|
|
<li>Renamed NDArrayBase to NDArrayDriver</li>
|
|
<li>Renamed NDPluginBase to NDPluginDriver</li>
|
|
<li>Renamed NDArrayBuff to NDArrayPool, now in NDArray.cpp.</li>
|
|
<li>Renamed ADDriverBase to ADDriver</li>
|
|
<li>Removed ADUtils</li>
|
|
<li>The asynHandle interface in asyn was renamed to asynGenericPointer, many changes
|
|
to incorporate this.</li>
|
|
<li>Base class constructor no longer initializes all asyn interfaces, only the selected
|
|
ones.</li>
|
|
<li>NDArray pool is no longer global, each server creates its own pool if needed.</li>
|
|
<li>Implemented real routines for writeInt32, writeFloat64, and writeOctet in asynPortDriver.cpp,
|
|
removed them from ADDriver.cpp where they were not needed.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h2 style="text-align: center">
|
|
Release 1-1 (10-May-2008)</h2>
|
|
<ul>
|
|
<li>Major rewrite. Converted device drivers and plugins from C to C++ with C++ base
|
|
classes that handle many of the details of asyn and of callbacks and threading for
|
|
plugins.</li>
|
|
<li>Everything except device drivers and top-level EPICS databases and channel access
|
|
clients are now fully N-dimensional, not restricted to 2-D.</li>
|
|
<li>NDPluginFile now uses netCDF format, which is a portable self-describing binary
|
|
file format.</li>
|
|
<li>Added NDPluginROI which implements region-of-interest.</li>
|
|
</ul>
|
|
<h2 style="text-align: center">
|
|
Release 1-0 (11-Apr-2008)</h2>
|
|
<ul>
|
|
<li>Initial release, still many things remaining to be done.</li>
|
|
</ul>
|
|
<address>
|
|
Suggestions and Comments to:
|
|
<br />
|
|
<a href="mailto:rivers@cars.uchicago.edu">Mark Rivers </a>: (rivers@cars.uchicago.edu)
|
|
<br />
|
|
</address>
|
|
</body>
|
|
</html>
|