Skip to content

This repository contains sigmadsp, a Python application to control Analog Devices Sigma DSP chipsets.

License

Notifications You must be signed in to change notification settings

rudiars/sigma-dsp

Repository files navigation

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

For installing, simply run

curl -sL https://raw.githubusercontent.com/elagil/sigma-dsp/main/install.sh | 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.

Configuration

Configuration of sigmadsp is done via a *.yaml file, which is specified during installation.

Usage

For a list of commands that can be emitted by the frontend, simply type sigmadsp -h.

Contributing

Python coding style is checked by means of pre-commit. Before committing your changes, please install pre-commit

python3 -m pip install pre-commit

and install the git hooks with

pre-commit install.

Changes are then checked against the coding style toolchain when committing.

About

This repository contains sigmadsp, a Python application to control Analog Devices Sigma DSP chipsets.

Resources

License

Stars

Watchers

Forks

Packages

No packages published