SFU PMSIS example: GFU reconfiguration

Overview

The example shows how to switch at runtime between two sets of coefficients of a FIR filter. Two sets of coefficients are predefined in Graph.src file (fir_filter_a and fir_filter_b).

To synchronize reconfiguration with audio flow, we use splitter to send input audio to a SFU MEM_OUT port. Then we enqueue uDMA transfers on this port and use callback to be called when desired number of samples have been received. This MEM_OUT port is used only for timing, so the data received on it is just ignored. CONFIG_AUDIO_SW_QUEUES compilation flag is required here to continuously receive data from this MEM_OUT port.

Usage

Generate C-code SFU grpah configuration from Graph.src:

make graph

Build application:

make all -j

Run:

make run

Before building, optionally adjust TRACE_… macros for verbosity.