Skip to content

fair-acc/gr-digitizers

Repository files navigation

gr-digitizers

gr-digitizers is a collection of gnuradio blocks for signal processing.

  • It supports the usage of some picotech soft oscilloscope devices as signal source.
  • In order to allign the data in time, gnuradio tags are used which are sent together with the data.
  • Each data signal as well has a corresponding rms-error signal which is passed down the flowgraph together with the data.

Building and install

In a nutshell, we have three main dependencies:

In the following it is assumed that ROOT is installed to /opt/root, and the picoscope drivers to /opt/picoscope (which is e.g. done when using the Ubuntu packages).

Build LimeSuite

To build the module for LimeSDR support, we need to build an old revision that's still based on gateware <= 2.15, thus it needs to build it ourselves (here we install to /opt/limesuite):

git clone https://github.com/myriadrf/LimeSuite.git
cd LimeSuite
git checkout 41ad26b6
mkdir build-ninja
cd build-ninja
cmake -DCMAKE_INSTALL_PREFIX=/opt/limesuite
ninja
sudo ninja install

Build etherbone and saftlib

To build and test the timing related dependencies, see the readme for the timing block

Build gr-digitizers

To build gr-digitizers, run:

$ cmake -S . -B build -Dlibpicoscope_prefix=/opt/picoscope -Dlibroot_prefix=/opt/root -Dlimesuite_prefix=/opt/limesuite
$ cmake --build build -j
$ cd build
$ LD_LIBRARY_PATH=/opt/root/lib ctest --output-on-failure # run unit tests, optional
$ ninja install

To disable PicoScope or LimeSDK support, use -Denable_picoscope=false or -Denable_limesuite=false, respectively.

Tests

By default, only unit tests without any hardware dependencies are executed. In order to execute e.g. the PicoScope 3000a related tests, execute the below command:

$ LD_LIBRARY_PATH=/opt/root/lib PICOSCOPE_RUN_TESTS=3000a ctest --output-on-failure # run unit tests, optional

Running multiple hardware tests together, like PICOSCOPE_RUN_TESTS=3000a,4000a, is technically possible but not recommended, as meson runs the tests in parallel, which will cause issues with the drivers.

Legal

Copyright (C) 2018-2023 FAIR -- Facility for Antiproton & Ion Research, Darmstadt, Germany

Unless otherwise noted this library follows: SPDX-License-Identifier: LGPL-3.0-or-later

Contributors

This library has been co-developed under contract with:

CERN, Geneva, Switzerland KDAB, Berlin, Germany Cosylab, Ljubljana, Slovenia