cancel
Showing results for 
Search instead for 
Did you mean: 

New PDM audio firmware?

Wolf Colin
Associate II
Posted on January 17, 2018 at 14:48

Does anyone have informations about the pdm2pcm library in der STM32F4cube package? I cant't find anything on the ST-page.

10 REPLIES 10
Imen.D
ST Employee
Posted on January 17, 2018 at 16:02

Hello

Wolf.Colin

,

You will find pdm2pcm library under STM32CubeF4 firmware package:

STM32Cube_FW_F4_V1.0\Middlewares\ST\STM32_Audio

You have the

http://www.st.com/content/ccc/resource/technical/document/application_note/ca/18/be/bb/f8/53/47/a5/DM000408pdf/files/DM000408pdf/jcr:content/translations/en.DM000408pdf

Application note PDM audio software decoding on STM32 microcontrollers

Best Regards,

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Posted on January 17, 2018 at 17:05

Hello

DAHMEN.IMEN

,

that´s what I found, but this lib differs from the one which is delivered with the software for the STM32F4-Discovery board. The calls shown in AN3998 are quiet different from the calls in the pdm2pcm_glo.h which is delivered in the STM32CubeF4 firmware package.

Posted on January 18, 2018 at 10:05

Hello

Wolf.Colin

,

What is exactlythe difference ?

Best Regards

Imen.

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Posted on January 18, 2018 at 11:21

Hi

DAHMEN.IMEN

‌,

first the exported functions in 'pdm_filter.h' like described inAN3998:

void PDM_Filter_Init(PDMFilter_InitStruct * Filter);

int32_t PDM_Filter_64_MSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);

int32_t PDM_Filter_80_MSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);

int32_t PDM_Filter_64_LSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);

int32_t PDM_Filter_80_LSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);

The exported functions in pdm2pcm_glo.h:

uint32_t PDM_Filter_Init(PDM_Filter_Handler_t *pHandler);

uint32_t PDM_Filter_setConfig(PDM_Filter_Handler_t *pHandler, PDM_Filter_Config_t *pConfig);

uint32_t PDM_Filter_getConfig(PDM_Filter_Handler_t *pHandler, PDM_Filter_Config_t *pConfig);

uint32_t PDM_Filter_deInterleave(void *pDataIn, void *pDataOut, PDM_Filter_Handler_t * pHandler);

uint32_t PDM_Filter(void *pDataIn, void *pDataOut, PDM_Filter_Handler_t *pHandler);

The changes took place between V2.x.x and V3.x.x of the lib. There are only a few lines in the release notes. For my opinion

this are major change which should be considered in an update of the AN3998 or in a new AN.

Wolf Colin
Associate II
Posted on February 05, 2018 at 12:00

Hello

DAHMEN.IMEN

,,

any news?

Imen.D
ST Employee
Posted on February 13, 2018 at 15:08

Hello

Wolf.Colin

,

Thank you for reported this misalignmentbetween the library provided and the documentation.

In fact, We confirm this

misalignment

and the

AN3998

document will be updated and published soon.

Best Regards,

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Posted on April 24, 2018 at 10:11

2 months have passed.

Any progress in documentation update?

Posted on May 17, 2018 at 11:02

Hello

kovalenko

,

Sorry for this late answer and update.

The document will be updated and aligned on some details which prevents the document to be ready and published.

We will try to speed-up this process and

I will come back to you when the document will be published.

With Regards,

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Posted on June 09, 2018 at 07:54

Hi,

any news on document update?