dxp Release Notes

Release 6-2 (XXX-January-2023)

Upgraded the XIA Handel library from 1.2.28 to 1.2.30.

Release 6-1 (7-December-2023)

Upgraded the XIA Handel library from 1.1.22 to 1.2.28.

Install files from dxp/dxpApp/Db to dxp/db which is standard EPICS convention.

Added a new Python function to decode xMAP and Mercury mapping buffers. Includes a test program that does this from TIFF files.

Moved documentation to docs directory so it can be found by epics-modules.github.io.

Add -fcommon to Makefile, needed for GCC 11

Fix traceBuffer and baselineBuffer to be unsigned long, not epicsInt32.

Added autoconvert files for other OPIs.

Release 6-0 (09-August-2019)

Upgraded the XIA Handel library from 1.1.19 to 1.2.22.

Updated the included Plx library for the xMAP from 7.1.1 to 7.2.5.

Applied some Handel patches from XIA to improve diagnostics for USB errors we are seeing on microDXP.

Simplified dxpApp/src/Makefile by removing libraries that are included by commonDriverMakefile in ADCore.

Release 5-0 (28-June-2018)

Upgraded the XIA Handel library from 1.1.11 to 1.2.19. This version is 64-bit compatible, so dxp is no longer limited to being built as a 32-bit application.

Updated the included Plx library for the xMAP from 6.3.1 to 7.1.1.

Added edl/autoconvert, opi/autoconvert, and ui/autoconvert directories containing the displays that are automatically converted from medm adl files. Add dxpApp/op/Makefile to automatically do the conversions. Improved the medm files with correct size text widgets and correct text update widget data type to improve the conversions.

Added support for the MicroDXP. This is a board-level product sold to OEMs to embed in their products. It is used in some Ketek SDD detectors and in some Vortex electronics from Hitachi. It is similar to the Saturn, i.e. it is a single-element system that does not support mapping. It does not have a Gate input.

Removed support for the CAMAC DXP4C2X. It is no longer supported by Handel and is probably no longer in use anywhere.

Some old Vortex blue boxes from Radiant only have the EPP (Enhanced Parallel Port) interface. The third-party Windows software that Handel uses for EPP (DLPORTIO) is no longer supported or available. dxp R5-0 supports the EPP interface on 32-bit and 64-bit Linux only.

Some old Vortex blue boxes from SII/Radiant have a USB-1.0 interface and not USB-2.0. The third-party Windows software used for USB-1.0 is no longer supported or available. dxp R5-0 supports the USB-1.0 interface on 32-bit and 64-bit Linux only.

The following table shows the status of the support and testing in R5-0 for the different modules and interfaces. Tests on Windows were done on a Windows 10 64-bit computer with the Visual Studio 2015 compiler. Tests on Linux were done on a 64-bit Centos 7 system with gcc 4.8.5. For both Linux and Windows the 32-bit versions were tested on the 64-bit machine, not on a separate 32-bit machine.

Module and interface Linux 32-bit Linux 64-bit Windows 32-bit Windows 64-bit
MicroDXP Supported, tested Supported, tested Supported, tested Supported, tested
Saturn/Vortex USB-2.0 Supported, tested Supported, tested Supported, tested Supported, tested
Saturn/Vortex USB-1.0 Supported, tested Supported, tested Not supported Not supported
Saturn/Vortex EPP Supported, tested Supported, tested Not supported Not supported
Mercury USB-2.0 Supported, tested Supported, tested Supported, tested Supported, tested
xMAP Not supported Not supported Supported, not tested Supported, tested

Release 4-0 (23-May-2017)

Changes for areaDetector/ADCore R3-0. These are internal changes only, and should not affect startup scripts or OPI screens.

Release 3-6 (23-May-2017)

Minor changes to build rules and improvements to example startup scripts.

This release is compatible with ADCore R2-6.

Release 3-5 (20-April-2015)

Updated iocXMAP and iocMercury startup scripts and auto_settings.req files to be compatible with ADCore R2-2.

Release 3-4 (10-December-2014)

Added controls for the Trigger Output and LiveTime Output signals on the Auxiliary output of the Mercury and Mercury 4. This allows outputting, for example, the FastTrigger pulses in addition to the SCA window pulses to do post-processing live-time correction for on-the-fly scanning using a multi-channel scaler.

Updated firmware for 4-element Mercury to the version that comes with ProSpect 0.1.21. The previous version did not work with the SCA outputs.

Fixed the iocBoot directories to correctly locate database and autosave settings files from areaDetector ADCORE.

Release 3-3 (27-June-2014)

Changed Makefile to build with areaDetector 2-0, which has a different layout than previous versions of areaDetector.

Fixed a bug in mapping modes on the xMAP and Mercury. The problem occurred when the final mapping buffer was just a few pixels and the dwell time per pixel was less than 5 ms. Under these conditions the final mapping buffer might not be read out, and the file saving plugins would not get the callbacks for the final buffer. After acquisition completes both mapping buffers (A and B) may need to be read out, but the previous code was only forcing 1 read, not 2. Changed code to force 2 calls to read the mapping buffers after acquisition completes.

Cleaned up dxpMED.st SNL program by removing unneeded empty strings in assign statements. No functional effect, just reduces lines of code almost 2X and makes it easier to read and maintain.

The prebuilt tar file for this release does not include executables for the cygwin-x86 architecture, because areaDetector-2-0 has not been built for Cygwin yet. There are executables for win32-x86 and linux-x86.

Release 3-2 (11-March-2013)

Worked around a bug in XIA's firmware for the Saturn. It is not correctly computing the energy live time, so the live time and dead time reported by the MCA record are incorrect. This problem is due to the calculation of the output count rate (OCR) for the energy live time is only using the EVENTSINRUN, which are the events that end up in the spectrum, and it is ignorring overflows and underflows, which are events with energies outside the range of the spectrum. Note that the OCR that is reported by the Saturn firmware is correct, it does include the overflows and underflows. But the OCR that is used internally when computing the energy live time is not correct, it does not include overflows and underflows. This problem was fixed by not using the energy live time computed by the Saturn firmware, and simply computing in the EPICS driver as RealTime * OCR / ICR.

Minor changes in the driver to be compatible with areaDetector R1-9-1, which changed the datatypes of some variables.

Release 3-1 (2-Nov-2011)

This is a minor maintenance release. It includes XIA's Handel 1.1.11 release. That Handel release fixes several problems that were present in Handel 1.1.7 that was used for dxp R3-0:

Added opi files for CSS BOY.

This release is built with mca R7-1, which fixes a problem with the mca record STIM field. Previously the STIM field and the mca record time stamp recorded the time that acquisition started. The problem was that the mca records are not actually processed when acquisition starts with dxp multi-element detector systems, they are only guaranteed to process when acquisition completes. Thus, the STIM field and timestamp were not being updated. This is fixed in mca R7-1 by making the STIM field and timestamp now record the time when acquisition stops, rather than when it starts.

Release 3-0 (3-Dec-2010)

This is a major new release. It adds many new features, the most important being mapping mode support for the xMAP and support for the Mercury. It eliminates the DXP record, so it is not backwards compatible with medm screens, database files, or startup scripts from previous releases.

Release 2-10 (16-Jul-2009)

Release 2-9 (2-Feb-2009)

Release 2-8-1 (20-May-2008)

Release 2-8 (6-Feb-2008)

Release 2-7 (4-Dec-2007)

Release 2-6 (18-Oct-2007)

Release 2-5 (20-Sept-2006)

Release 2-4 (17-May-2006)

Release 2-3 (11-August-2005)

Release 2-2 (29-Mar-2005)

Release 2-1 (23-Mar-2005)

Major re-write of the software. Previously the DXP device support for the MCA and DXP records was using the Xerxes library from XIA. This is a low-level library, and required that the EPICS software know what XIA model was being used (Saturn, DXP2X, etc.) This releases uses the XIA Handel library, which is a higher-level library. The EPICS software no longer needs to know what hardware it is talking to, and no longer needs to implement the algorithms to convert high level concepts (e.g. peaking time) to low-level device parameters.

Added significant new features to the software, including the ability to acquire and plot the baseline history and ADC trace data. This greatly improves the diagnostics available to the user. The EPICS software now has most of the features of the XIA Kepler and MESA software.

Most high-level parameters are now in physical units (e.g. microseconds, keV) rather than integer DXP device units.

Added support for running the EPICS IOC on Windows to control the Saturn. This means that a Saturn or Vortex detector can now be run by a Windows laptop, which is attractive for portable applications.

Improved Linux support by not requiring the user to have root priviledge to run the IOC.

Changed from using the EPICS MPF module to using the new ASYN module. This improves debugging support.

Improved multi-element detector support. There is now a single database for multi-element detectors, and all of the logic to synchronize acquisition and copy parameters from detector 1 to all detectors is done by a State Notation Language Program. This greatly simplifies adding support for a new detector with a different number of elements, since only the MEDM screens now need to be changed, not the databases.

The commands required in the st.cmd startup file, and the files required to configure the hardware have changed significantly. This is because Handel and Xerxes do things quite differently. Users will need to look at the example iocBoot directories to convert existing IOCs.

Release 1-2 (June 2004)

Added 1element_dxp.db, 1element_dxp.adl, dxpTop.adl, single_dxp_top.adl.

Dependencies now include calc, sscan, and autosave modules. No longer depend on std module.

Fixed clock on X10P (Saturn) model, was 400nsec, actually 800nsec

Release 1-1 (January 2004)

This is the first release of the synApps dxp module.  Prior to this the support for the XIA DXP models was provided in the synApps CAMAC module.  This version runs only on EPICS 3.14.

Suggestions and Comments to:
Mark Rivers : (rivers@cars.uchicago.edu)