Merge branch 'master' of ssh://code.bitgloo.com:222/clyne/stmdsp

master v0.1
Clyne 2 years ago
commit 1310b7f0f6

@ -1,15 +1,25 @@
# stmdsp
This is the source code for an STM32-based DSP device. The primary goal of this device is to allow custom C++ algorithms to be applied to signals in real-time.
The firmware for the device is written in C++, on top of the [ChibiOS](https://www.chibios.org/dokuwiki/doku.php) real-time operating system.
The `stmdsp` project enables certain STM32 development boards to be used as a digital signal processing (DSP) education tool.
**Features:**
* Read in a signal from the ADC, and either pass-through or apply a filter to the signal before outputting it over the DAC.
* Sampling rates of up to 96kS/s.
* Measuring of algorithm performance in processor clock cycles.
* Flexible signal generator for providing source signals.
The project consists of two parts: the firmware, which allows users to upload custom DSP algorithms to process signals in real-time; and the GUI currently named [stmdspgui](https://code.bitgloo.com/clyne/stmdspgui), which facilitates algorithm design, upload, and execution, while also providing numerous analysis features.
See the wiki for more information about components of the device's software and hardware.
The firmware for the device is written in C++, building on top of the [ChibiOS](https://www.chibios.org/dokuwiki/doku.php) real-time operating system.
Source code for the device's firmware is in the `source` directory.
Source code for the accompanying GUI is in `gui`.
## Features
* Real-time signal processing: the input channel is read from the ADC, and the processed output is sent out over the DAC.
* Signal sampling rates from 8kS/s up to 96kS/s.
* Custom algorithms, uploaded over USB at run-time, can be applied to the input signal.
* The second DAC channel can act as a signal generator, should no other input be available.
* Analysis features, including measuring algorithm execution time and logging input and output samples.
## Supported development boards
This project is aided by a custom add-on board, which is designed to stack on top of STMicroelectronic's NUCLEO line of dev boards.
At the moment, only the NUCLEO-L476RG board is fully supported.
## Programming instructions and more information
See the `doc` folder for further project documentation, including a PDF guide.

Loading…
Cancel
Save