Introduction

DAQling is an open-source lightweight C++ software framework, to be used as core for data acquisition systems of small and medium-sized experiments.

The framework offers a complete DAQ ecosystem, including communication layer based on the widespread ZeroMQ messaging library, configuration management based on the JSON format, control of distributed applications, extendable operational monitoring with web-based visualization, and a set of generic utilities.

The framework provides automated host and build environment setup based on the Spack package management tool and the Ansible automation tool. Finally, the end-user code is wrapped in so-called “Modules”, that can be loaded at configuration time, and implement specific roles.

Project overview

DAQling can be cloned from https://gitlab.cern.ch/ep-dt-di/daq/daqling.

DAQling_top is the top-level skeleton project, which includes DAQling as a git submodule. It should be forked to start a custom project. Setting up the "repository mirroring", will allow the forked project to keep the dist-master branch up-to-date with DAQling_top.
It can be found at https://gitlab.cern.ch/ep-dt-di/daq/daqling_top.

DAQling Spack Repo contains the Spack repository as a git submodule and DAQling's custom Spack packages.
It can be found at https://gitlab.cern.ch/ep-dt-di/daq/daqling-spack-repo.

Getting started

The framework is supported on CERN CentOS 7, CentOS 8 and Ubuntu. Host configuration and build instructions can be found in the DAQling README.md file.

Instructions on how to run a demo or custom system are also present in the DAQling README.md file.