A package for controlling Analog Devices Sigma DSP chipsets.
Project description
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/sigmadsp.git &&
cd sigmadsp &&
./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.
pipx is used for installing the Python package in an isolated way, without having to use sudo pip install <package>
.
Upgrading
For upgrading, use pipx
to upgrade the Python package and restart the backend service afterwards:
pipx upgrade sigmadsp &&
sudo systemctl restart sigmadsp-backend.service
Removal
From within the previously cloned repository folder sigmadsp
run
./uninstall.sh
If you find that this removal procedure leaves any files unremoved, please open an issue.
Configuration
Configuration of sigmadsp
is done via a *.yaml
file, which is created during installation. Its default path is /var/lib/sigmadsp/config.yaml
.
Usage
For a list of commands that can be emitted by the frontend, please type
sigmadsp -h
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.