Skip to content
Josh Blum edited this page Nov 24, 2017 · 4 revisions

Pothos LiquidDSP Toolkit

Note: This is presently a work in progress, we are adding blocks and structuring the project. Early testers and contributors are welcome. The project is structured around yaml files for liquid blocks, and its easy to add and extend for new blocks: https://github.com/pothosware/PothosLiquidDSP/tree/master/blocks

This project builds Pothos bindings for LiquidDSP cores.

Introduction

This toolkit wraps Pothos blocks around the Liquid DSP library. Learn more about capabilities on the LiquidDSP documentation page.

image

How it works

The PothosLiquidDSP contains a set of YAML files which describe processing blocks in terms of their API calls found in the liquid.h header. A python utility called LiquidBlocksGen.py scans the YAML sources and liquid.h header to extract functions and data types which it uses to generate block wrappers. Block descriptions are generated as well so blocks can be used graphically. Each YAML file results in a readable C++ source in the build directory.

Installation

The build for PothosLiquidDSP is basically standard CMake project for Pothos toolkits. In addition to installing the LiquidDSP library, the build will also need some additional python modules used for parsing the liquid.h header, and generating the sources which wrap the LiquidDSP API calls.

Build requirements

#Ubuntu apt-get install instructions for additional requirements
sudo apt-get install python-ply python-yaml python-mako

#--OR-- when building with python3...
sudo apt-get install python3-ply python3-yaml python3-mako

Generate blocks

git clone https://github.com/pothosware/PothosLiquidDSP.git
cd PothosLiquidDSP
mkdir build
cd build
cmake ../
make -j8
sudo make install