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.