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.