This EPICS module provides areaDetector based control of the Xspress3 Readout System. It uses an API provided by Quantum Detectors and STFC to control the hardware and readout data. The software makes use of areaDetector plugins to save the data to HDF5 files and visualize the data.

This software is licensed under the GNU Lesser General Public License

The following features are provided:
  • Spectra readout (dead time corrected or un-corrected)
  • Hardware scaler readout
  • 16 regions of interest (ROIs) per channel
  • HDF5 file saving of spectra, scalers, ROIs (and ROI limits), deadtime correction factors
  • Visualization of spectra, scalers and ROIs
  • EDM and MEDM screens
  • Example IOCs FOR 1, 4, 8, 16 AND 32 channels
  • Example python client script, using DLS cothread
  • Installation script to build module and all dependencies
  • Vendor library support in binary form

This page is obsolete

This module is provided by Quantum Detectors and available on github: quantumdetectors/xspress3-epics Elsewhere on github there is also an active community effort on a fork of this driver: epics-modules/xspress3


Version iconSource Code iconDocumentation
1-11 iconxspress3-1-11.tgz iconindex
1-10 iconxspress3-1-10.tgz iconindex
1-9 iconxspress3-1-9.tgz iconindex
1-7 iconxspress3-1-7.tgz iconindex
1-6 iconxspress3-1-6.tgz iconindex
1-5 iconxspress3-1-5.tgz iconindex
1-4 iconxspress3-1-4.tgz iconindex
1-3 iconxspress3-1-3.tgz iconindex
1-2 iconxspress3-1-2.tgz iconindex

Release 1-11

  • Changed order of DIRS in Makefile so ioc's build
  • Modified INSTALL.sh script for 1-11 release
  • Added 1 and 4 channel IOC's, and corrected error where record device name wasn't parameterised
  • Changed printf's to asynPrint's
  • Added MAX_DRIVER_FRAMES paramter to xspress3 definition
  • Added more complete Xspress3 simulator
  • Rearranged system initialisation status messages
  • Fully implemented restoreSettings, correctly restoring database and configuration file information
  • Added support for an all-element sum, which included moving to a new version of areaDetector
  • Fixed Scalars so they work if there are more than 8 scalars (William has introduced another one)
  • Merged all xspress3Support changes up to version r383 (November 2014) of STFC repository

Release 1-10

  • Added support for internal timing
  • Added support systems with more than 8 channels
  • Updated to latest version of driver software from WIlliam Helsby at STFC, including doxygen documentation
  • Added 8, 16 and 32 channel examples
  • NOTE: many of the new features will require updated firmware from Quantum Detectors

Release 1-9

  • Added support for all trigger modes
  • Moved instantiation of NDPluginAttribute.template into xspress3Channel.template, to simplify channel definition and made xspress3Channel.template define most records related to one channel
  • Removed additional XSP3: in record names
  • Added boost to the install and modified description of INSTALL.txt
  • Incremented default Xspress3 version in INSTALL.sh
  • Added 4 channel screen
  • Added debug interface xspress3Interface.cpp
  • Added modifications to edl screens with slightly larger text boxes
  • Added XSP3_CLK_FLAGS_DITHER to xsp3_clocks_setup call as advised by William Helsby
  • Fixed errors discovered in B18 tests with William Helsby:
    • buffer offsets into histogram_read4d data
    • read non dtc scaler date when in non dtc mode
    • did some re-initialisation after restore_settings

Release 1-7

  • Made a number of improvements to INSTALL.sh after feedback from Matt Newville
  • Fixed whitespace to be all spaces and added some asserts in to check for malloc errors
  • Fixed/simplified definition of BOOST installation directory

Release 1-6

  • Added INSTALL.sh script to download and build xspress3 and all dependencies from tar files
  • Added macros to startup script and definitions CONFIG_SITE so xspress3Example will run outside of Diamond
  • Renamed AREADETECTOR macro to AREA_DETECTOR to match the standard external to DLS.
  • Added medm screens developed by Quantum Detectrors
  • Made script names consistend xspress3-ioc.sh, xspress3-medm.sh and xspress3-edm.sh

Release 1-5

  • Added installation instructions as INSTALL.txt
  • Updated to areaDetector 1-9
  • Fixed some printf format errors
  • Added xspress3 API binaries as part of the distribution under xspress3App/xspress3Support

Release 1-4

  • Added Diamond build rules to the configure directory so application will build outside of Diamond

Release Notes

Release 1-3

  • Reworked the data readout thread to improve performance. It now reads out multi-frame blocks of data rather than frame-by-frame.
  • Added in the use of the Readout state for the DetectorState_RBV PV. At high frames this can be useful to the user, when data processing pauses due to reading out a large number of frames at once.

Release 1-2

  • Initial release