January 2018 DocID026454 Rev 6 1/23
UM1778
User manual
BAss Manager library
software expansion for STM32Cube
Introduction
This user manual describes the software interface and the requirements of the BAss
Manager (BAM) module. It provides details on all the necessary interface functions, the
parameters and the constraints to integrate the BAM library into a program like the Audio
STM32Cube expansion software.
The BAM library is part of the X-CUBE-AUDIO firmware package.
www.st.com
Contents UM1778
2/23 DocID026454 Rev 6
Contents
1 Module overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 Algorithm functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Module configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Resources summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Module interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 bam_reset function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 bam_setParam function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 bam_getParam function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.4 bam_setConfig function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.5 bam_getConfig function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.6 bam_process function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 External definitions and types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Input and output buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Returned error values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Static parameters structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
2.4 Dynamic parameters structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3 Algorithm description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1 Processing steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Data formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Performance measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.1 Dynamic curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 Application description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1 Recommendations for optimal setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.1 Module integration example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.2 Module APIs calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 How to tune and run the application . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22