Skip to main content

A package for controlling Analog Devices Sigma DSP chipsets.

Project description

pre-commit pre-commit.ci status

Analog Devices Sigma DSP control software

This software package is a Python application, which controls Analog Devices digital signal processor (DSP) chipsets. It exposes a TCP server for connecting with SigmaStudio, allowing to upload new applications to the DSP, as well as debugging it. Essentially, it behaves like a wired debug probe, but with an Ethernet connection. This source code was inspired by the original TCP service, as well as the hifiberry-dsp project.

However, this application was written completely from scratch, in an effort to make it more efficient, stable, and faster.

This software package contains two separate components: a backend service, as well as a frontend interface. It is meant to run on single-board computers that connect to an Analog Devices DSP via the serial peripheral interface (SPI).

Backend service

The backend service is the core application, which

  • connects to the DSP via SPI,
  • exposes a TCP interface towards SigmaStudio,
  • and provides a remote procedure call (RPC) interface, based on grpc.

With the latter, a frontend can connect to the backend service and control it remotely.

Frontend interface

The frontend interface connects to the RPC service of the backend, allowing the user to control settings via a command-line interface (CLI).

Supported chipsets

This is not an extensive list, but only comprises chips that are tested or likely compatible.

DSP Status Backend settings dsp_type
ADAU145X Fully tested (ADAU1452) adau14xx
ADAU146X Untested, register compatible with ADAU145X adau14xx

Installation

:zap: Running the installation will overwrite your existing configuration. For upgrading, see Upgrading!

For installing, please install git first, then clone this repository and run the installation script.

sudo apt install git &&
git clone https://github.com/elagil/sigma-dsp.git &&
cd sigma-dsp &&
./install.sh

The script installs the Python package, which includes the sigmadsp-backend (the backend) and sigmadsp (the frontend) executables. It also sets up a system service, which runs sigmadsp-backend in the background.

Upgrading

For upgrading, the installation procedure can be repeated, but will overwrite the current configuration file.

Instead, simply upgrade the Python package and restart the backend service:

sudo pip3 install sigmadsp --upgrade &&
sudo systemctl restart sigmadsp-backend.service

Removal

From within the previously cloned repository folder sigma-dsp run

./uninstall.sh

Configuration

Configuration of sigmadsp is done via a *.yaml file, which is created during installation. Its default path is /var/lib/config.yaml.

Usage

For a list of commands that can be emitted by the frontend, simply type

sigmadsp -h

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sigmadsp-1.6.0.tar.gz (35.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page