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.5.2.tar.gz (40.3 kB view details)

Uploaded Source

File details

Details for the file sigmadsp-1.5.2.tar.gz.

File metadata

  • Download URL: sigmadsp-1.5.2.tar.gz
  • Upload date:
  • Size: 40.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.13.0-1022-azure

File hashes

Hashes for sigmadsp-1.5.2.tar.gz
Algorithm Hash digest
SHA256 94d7c4e23858bafe48f54b950aa1b5bb2e508029bce5c71983e1c2172cac3012
MD5 c77637c5f9c18fcc662da20e5fd61a2d
BLAKE2b-256 0d180c281798bcc343d15186bbefb3046e0c7f3dd38cca428138ef18cd6f9459

See more details on using hashes here.

Supported by

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