Implementation of Amptek's DP5 Protocol for controlling PX5/DP5 Digital Pulse Processors. The code is tested with both, the PX5/XR-100 combination and the X-123 CdTe and SDD detectors.
The low level communication is implemented in C++ and supports both Ethernet via UDP and USB communication. A autogenerated high-level interface python as well as a Device Server for the Tango Controls SCADA system is available, allowing simple integration into many synchrotron beamlines.
The low level implementation is based on previous work at the ALBA synchrotron. However, the communication layer has been completely redesigned for more stability and added support for USB connections, circumventing the bottleneck of the low speed base-10 ethernet PHY of the hardware. This code is meant to be a mostly drop-in replacement of the original Tango server, therefore the same server name and many commands & attributes are used. So far, the SCA channels and the MCS mode is not implemented, if those are needed, the original code should be used.
Additionally, a basic simulator interface can be used during DAQ logic development if no hardware is available.
- libusb1-dev
- SWIG v4
- numpy
- pytango (optionally, only when using the tango server)
Run
python setup.py install