Skip to main content

AIDA-TLU

tests pre-commit documentation

Repository for controlling the AIDA-2020 Trigger Logic Unit (TLU) with Python using uHAL bindings from IPbus. The Python control software is based on EUDAQ2. The software is a lightweight version written in Python with a focus on readability and user-friendliness. Most user cases can be set with a .yaml configuration file and started by executing a single Python script. For a more in-depth look at the hardware components please take a look at the official AIDA-2020 TLU project. Additionally, take a look at the documentation for this software.

Installation

IPbus

You need to install the ControlHub from the IPbus software. Follow the linked tutorial for prerequisites and general installation. Install prerequisites.

sudo apt-get install -y make erlang

Checkout from git and compile the repository.

git clone --depth=1 -b v2.8.22 https://github.com/ipbus/ipbus-software.git
cd ipbus-software
make Set=controlhub
sudo make Set=controlhub install

In case they are errors about missing man pages, you need to create them.

sudo touch /usr/lib/erlang/man/man1/gcov-tool.1.gz # example

The default install location is located in /opt/cactus/. Then start the ControlHub.

/opt/cactus/bin/controlhub_start

The contolhub needs to run for the working of the AIDA TLU, so needs to be started again each time the controlhub is stopped. The default IP address of the TLU is:

192.168.200.30

Python Packages

From Source

After cloning the repository, install the Python packages as usual.

pip install -e .

To connect to the hardware, you need to install the hw component as well.

pip install -e .[hw]

From PyPI

pip install aidatlu

Usage

Stand-Alone Python Implementation

Connect to the TLU, configure and start a run via:

    pyaidatlu -c path/to/configuration.yaml

All configurations are done by the use of a yaml file. To stop the run use ctrl+c.

After installing from source, it is also possible to control the TLU via IPython:

    python -i aidatlu_run.py

One is now able to control the TLU through the Python terminal interface, with the following commands:

    tlu.configure()
    tlu.run()

Runs are stopped with the keyboard interrupt ctr+c.

Constellation

Start a satellite with:

    SatelliteAidaTLU -g testbeam -n TLU

For more information take a look at the constellation readme.

Tests

Test the software by using a TLU mock. Just set the environment variable:

    TEST=True pyaidatlu -c path/to/configuration.yaml

With pytest the AIDA TLU control program can be tested. There is also an implemented AIDA-TLU mock, to allow tests and software development without hardware, which also allows software development and testing without a working IPbus installation. The mock is used as a default.

    pytest -sv

To test with connected hardware set an environment variable:

    HW=True pytest -sv

Metadata

Release files for aidatlu 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aidatlu 1.4.0
File Size Uploaded Provenance
aidatlu-1.4.0.tar.gz 52.3 kB With provenance Details

Release files / aidatlu-1.4.0.tar.gz

Download URL aidatlu-1.4.0.tar.gz
Size 52.3 kB
Tags Source
SHA-256 checksum
How to use checksums
497a7ec7df1755dd9f1256f252faaa2e1fc535f221492e87499d9a26a8ffef65
BLAKE2b-256 checksum
How to use checksums
b0c30e2270033911c30f14cf041156b26a9db182354fa331d38e1da82cc614e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 21, 2026.

Transparency log

Security for aidatlu 1.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 1 file in this release has been uploaded with provenance metadata.

Attestation for aidatlu-1.4.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.4.0 This release

1 release file Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page