Introduction

libxdaq provides a unified interface for controlling XDAQ devices.

Currently, XDAQ supports two types of interfaces: USB and Thunderbolt. The USB interface is powered by Opal Kelly’s FrontPanel API, while the Thunderbolt interface is handled by our custom solution. The following table lists all devices currently supported by libxdaq:

XDAQ Model

Interface

Core

Opal Kelly USB

One

Opal Kelly USB

Core Gen 2

Thunderbolt

One Gen 2

Thunderbolt

All In One

Thunderbolt

Although XDAQ Core, One, Core Gen 2, and One Gen 2 share similar basic functionality, their hardware architectures differ. Accommodating these differences through register-based communication can be cumbersome. To simplify device integration and support for new models, we provide this abstraction layer.