Skip to content

Implementation of the Amptek DP5 Protocol for interfacing with PX5 or DP5 Digital Pulse Processors.

License

Notifications You must be signed in to change notification settings

ckoern/amptekhardwareinterface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AmptekHardwareInterface

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.

Prerequisites

  • libusb1-dev
  • SWIG v4
  • numpy
  • pytango (optionally, only when using the tango server)

Install

Run

python setup.py install

About

Implementation of the Amptek DP5 Protocol for interfacing with PX5 or DP5 Digital Pulse Processors.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published