STMicroelectronics' implementation of an I2S driver, also including DMA support.

Dependents:   temp X_NUCLEO_CCA01M1 X_NUCLEO_CCA01M1 X_NUCLEO_CCA02M1

Platform compatibility

This driver has been designed to support a wide range of the Nucleo F4 Family of platforms and MCUs, but not all members of this family support I2S and/or some of the members might require slight modifications to the sources of this driver in order to make it work on those.

This driver has for now been tested only with the following platforms:

Changes

RevisionDateWhoCommit message
31:bb4bac0874da 2017-07-12 Wolfgang Betz Merge branch 'master' into betzw_wb default tip
30:a32e82524f06 2017-07-12 Wolfgang Betz Extend compilability to `STM32F4` family
29:231070a4dd64 2017-07-10 Davidroid Update "mbed_lib.json" file.
28:848e1cb016b5 2017-07-10 Wolfgang Betz Enable compilation for F4 family
27:c2fc3330d0df 2017-03-31 Wolfgang Betz Intorduce & use `CONTAINER_OF`
26:468cdd70cd3e 2017-03-27 Wolfgang Betz Enable I2S w/o requirement for HAL patches
25:bc19a42307ae 2017-03-10 Wolfgang Betz `critical.h` -> `mbed_critical.h`
24:b78825180506 2017-02-13 Wolfgang Betz Avoid two warnings
23:6ebde375d2d1 2017-02-07 Wolfgang Betz Adjust both low & high frequencies when harmonizing
22:e04af8667cad 2017-01-31 Wolfgang Betz Do not force MCLK enabled anymore
21:7cf6b1538d29 2017-01-30 Wolfgang Betz Always enable MCLK
20:54b1a9b620c5 2017-01-30 Wolfgang Betz Use `float` for real frequencies
19:ef6ef1795e30 2017-01-27 Wolfgang Betz Rename two API methods
18:1ccbfe84f550 2017-01-27 Wolfgang Betz Use casting instead of `floorf()` and `roundf` for obtaining integer value of frequencies
17:7a4a4631672c 2017-01-26 Wolfgang Betz Remove `namespace mbed`
16:04e1abb4cca3 2017-01-25 Wolfgang Betz Make locking function become protected
15:13ee1f813328 2017-01-20 Wolfgang Betz Remove not necessary parts
14:0060a9850c5f 2017-01-20 Wolfgang Betz Compromise proposal (no cleanup)
13:fa1b24df9025 2016-12-23 Wolfgang Betz My trial
12:7309748f058a 2016-12-22 Wolfgang Betz Add questions for Davide
11:50562a5f8a93 2016-12-22 Wolfgang Betz Correct synchronization
10:1a612c2e4a85 2016-12-22 Wolfgang Betz Make driver mbed-classic compatible
9:c4c2240e06d6 2016-12-22 Wolfgang Betz Separate platform-independent from platform-dependent code
8:561d7ee70ef6 2016-12-22 Wolfgang Betz Merge branch 'master' into betzw_wb
7:e9105ae127ad 2016-12-20 Wolfgang Betz Rename 'DMA_ERROR_OUT_OF_CHANNELS' in 'STM_DMA_ERROR_OUT_OF_CHANNELS' to avoid name clash with mbed-os 'dma_api.h'
6:64dede61f727 2016-12-21 Davide Aliprandi Fixing merge failed.
5:74da3773bf43 2016-12-14 Wolfgang Betz Partially merge modification from 'origin/aliprand_wb'
4:21603d68bcf7 2016-12-21 Davide Aliprandi Added algorithm to automatically harmonize two I2S peripherals' frequencies.
3:25de898f5354 2016-12-14 Davide Aliprandi Default PLL set at initialization at 32KHz, removed setting of PLL at runtime.
2:0c9ce59aee25 2016-12-13 Davide Aliprandi Restored default at 44100Hz, added setting of PLL into the i2s_audio_frequency() API.
1:f90318e0923b 2016-11-29 Wolfgang Betz Rename & adjust
0:752e74bf5ef1 2016-11-29 Wolfgang Betz Initial commit