STM32769I_EVAL BSP User Manual
|
This file contains the common defines and functions prototypes for the stm32f769i_eval_audio.c driver. More...
Go to the source code of this file.
Defines | |
#define | BSP_AUDIO_OUT_CIRCULARMODE ((uint32_t)0x00000001) /* BUFFER CIRCULAR MODE */ |
#define | BSP_AUDIO_OUT_NORMALMODE ((uint32_t)0x00000002) /* BUFFER NORMAL MODE */ |
#define | BSP_AUDIO_OUT_STEREOMODE ((uint32_t)0x00000004) /* STEREO MODE */ |
#define | BSP_AUDIO_OUT_MONOMODE ((uint32_t)0x00000008) /* MONO MODE */ |
#define | BSP_AUDIO_FREQUENCY_96K SAI_AUDIO_FREQUENCY_96K |
#define | BSP_AUDIO_FREQUENCY_48K SAI_AUDIO_FREQUENCY_48K |
#define | BSP_AUDIO_FREQUENCY_44K SAI_AUDIO_FREQUENCY_44K |
#define | BSP_AUDIO_FREQUENCY_32K SAI_AUDIO_FREQUENCY_32K |
#define | BSP_AUDIO_FREQUENCY_22K SAI_AUDIO_FREQUENCY_22K |
#define | BSP_AUDIO_FREQUENCY_16K SAI_AUDIO_FREQUENCY_16K |
#define | BSP_AUDIO_FREQUENCY_11K SAI_AUDIO_FREQUENCY_11K |
#define | BSP_AUDIO_FREQUENCY_8K SAI_AUDIO_FREQUENCY_8K |
#define | CODEC_AUDIOFRAME_SLOT_0123 SAI_SLOTACTIVE_0 | SAI_SLOTACTIVE_1 | SAI_SLOTACTIVE_2 | SAI_SLOTACTIVE_3 |
CODEC_AudioFrame_SLOT_TDMMode In W8994 codec the Audio frame contains 4 slots : TDM Mode TDM format : +------------------|------------------|--------------------|-------------------+ | CODEC_SLOT0 Left | CODEC_SLOT1 Left | CODEC_SLOT0 Right | CODEC_SLOT1 Right | +------------------------------------------------------------------------------+. | |
#define | CODEC_AUDIOFRAME_SLOT_02 SAI_SLOTACTIVE_0 | SAI_SLOTACTIVE_2 |
#define | CODEC_AUDIOFRAME_SLOT_13 SAI_SLOTACTIVE_1 | SAI_SLOTACTIVE_3 |
#define | AUDIO_SAIx SAI2_Block_B |
#define | AUDIO_SAIx_CLK_ENABLE() __HAL_RCC_SAI2_CLK_ENABLE() |
#define | AUDIO_SAIx_CLK_DISABLE() __HAL_RCC_SAI2_CLK_DISABLE() |
#define | AUDIO_SAIx_SCK_AF GPIO_AF8_SAI2 |
#define | AUDIO_SAIx_FS_SD_MCLK_AF GPIO_AF10_SAI2 |
#define | AUDIO_SAIx_MCLK_ENABLE() __HAL_RCC_GPIOE_CLK_ENABLE() |
#define | AUDIO_SAIx_MCLK_GPIO_PORT GPIOE |
#define | AUDIO_SAIx_MCLK_PIN GPIO_PIN_6 |
#define | AUDIO_SAIx_SCK_SD_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() |
#define | AUDIO_SAIx_SCK_SD_GPIO_PORT GPIOA |
#define | AUDIO_SAIx_SCK_PIN GPIO_PIN_2 |
#define | AUDIO_SAIx_SD_PIN GPIO_PIN_0 |
#define | AUDIO_SAIx_FS_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() |
#define | AUDIO_SAIx_FS_GPIO_PORT GPIOG |
#define | AUDIO_SAIx_FS_PIN GPIO_PIN_9 |
#define | AUDIO_SAIx_DMAx_CLK_ENABLE() __HAL_RCC_DMA2_CLK_ENABLE() |
#define | AUDIO_SAIx_DMAx_STREAM DMA2_Stream6 |
#define | AUDIO_SAIx_DMAx_CHANNEL DMA_CHANNEL_3 |
#define | AUDIO_SAIx_DMAx_IRQ DMA2_Stream6_IRQn |
#define | AUDIO_SAIx_DMAx_PERIPH_DATA_SIZE DMA_PDATAALIGN_HALFWORD |
#define | AUDIO_SAIx_DMAx_MEM_DATA_SIZE DMA_MDATAALIGN_HALFWORD |
#define | DMA_MAX_SZE 0xFFFF |
#define | AUDIO_SAIx_DMAx_IRQHandler DMA2_Stream6_IRQHandler |
#define | AUDIO_OUT_IRQ_PREPRIO ((uint32_t)0x0E) |
#define | AUDIO_DFSDMx_LEFT_CHANNEL DFSDM_CHANNEL_1 |
#define | AUDIO_DFSDMx_RIGHT_CHANNEL DFSDM_CHANNEL_0 |
#define | AUDIO_DFSDMx_LEFT_FILTER DFSDM1_Filter0 |
#define | AUDIO_DFSDMx_RIGHT_FILTER DFSDM1_Filter1 |
#define | AUDIO_DFSDMx_CLK_ENABLE() __HAL_RCC_DFSDM_CLK_ENABLE() |
#define | AUDIO_DFSDMx_CKOUT_PIN GPIO_PIN_3 |
#define | AUDIO_DFSDMx_DMIC_DATIN_PIN GPIO_PIN_6 |
#define | AUDIO_DFSDMx_CKOUT_DMIC_DATIN_GPIO_PORT GPIOD |
#define | AUDIO_DFSDMx_CKOUT_DMIC_DATIN_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() |
#define | AUDIO_DFSDMx_DMIC_DATIN_AF GPIO_AF10_DFSDM1 |
#define | AUDIO_DFSDMx_CKOUT_AF GPIO_AF3_DFSDM1 |
#define | AUDIO_DFSDMx_DMAx_CLK_ENABLE() __HAL_RCC_DMA2_CLK_ENABLE() |
#define | AUDIO_DFSDMx_DMAx_LEFT_CHANNEL DMA_CHANNEL_8 |
#define | AUDIO_DFSDMx_DMAx_RIGHT_CHANNEL DMA_CHANNEL_8 |
#define | AUDIO_DFSDMx_DMAx_LEFT_IRQ DMA2_Stream0_IRQn |
#define | AUDIO_DFSDMx_DMAx_RIGHT_IRQ DMA2_Stream5_IRQn |
#define | AUDIO_DFSDMx_DMAx_PERIPH_DATA_SIZE DMA_PDATAALIGN_WORD |
#define | AUDIO_DFSDMx_DMAx_MEM_DATA_SIZE DMA_MDATAALIGN_WORD |
#define | AUDIO_DFSDM_DMAx_LEFT_IRQHandler DMA2_Stream0_IRQHandler |
#define | AUDIO_DFSDM_DMAx_RIGHT_IRQHandler DMA2_Stream5_IRQHandler |
#define | AUDIO_IN_IRQ_PREPRIO ((uint32_t)0x0F) |
#define | AUDIODATA_SIZE 2 /* 16-bits audio data size */ |
#define | AUDIO_OK ((uint8_t)0) |
#define | AUDIO_ERROR ((uint8_t)1) |
#define | AUDIO_TIMEOUT ((uint8_t)2) |
#define | DEFAULT_AUDIO_IN_FREQ I2S_AUDIOFREQ_16K |
#define | DEFAULT_AUDIO_IN_BIT_RESOLUTION ((uint8_t)16) |
#define | DEFAULT_AUDIO_IN_CHANNEL_NBR ((uint8_t)2) /* Mono = 1, Stereo = 2 */ |
#define | DEFAULT_AUDIO_IN_VOLUME ((uint16_t)64) |
#define | CODEC_RESET_DELAY ((uint8_t)5) |
#define | OUTPUT_DEVICE_HEADPHONE1 OUTPUT_DEVICE_HEADPHONE |
#define | OUTPUT_DEVICE_HEADPHONE2 OUTPUT_DEVICE_SPEAKER /* Headphone2 is connected to Speaker output of the wm8994 */ |
#define | OUTPUT_DEVICE_HDMI OUTPUT_DEVICE_ADV7533_HDMI |
#define | DMA_MAX(x) (((x) <= DMA_MAX_SZE)? (x):DMA_MAX_SZE) |
Functions | |
uint8_t | BSP_AUDIO_OUT_Init (uint16_t OutputDevice, uint8_t Volume, uint32_t AudioFreq) |
Configure the audio peripherals. | |
void | BSP_AUDIO_OUT_DeInit (void) |
De-initialize the audio peripherals. | |
uint8_t | BSP_AUDIO_OUT_Play (uint16_t *pBuffer, uint32_t Size) |
Start playing audio stream from a data buffer for a determined size. | |
void | BSP_AUDIO_OUT_ChangeBuffer (uint16_t *pData, uint16_t Size) |
Send n-Bytes on the SAI interface. | |
uint8_t | BSP_AUDIO_OUT_Pause (void) |
Pause the audio file stream. | |
uint8_t | BSP_AUDIO_OUT_Resume (void) |
Resume the audio file stream. | |
uint8_t | BSP_AUDIO_OUT_Stop (uint32_t Option) |
Stop audio playing and Power down the Audio Codec. | |
uint8_t | BSP_AUDIO_OUT_SetVolume (uint8_t Volume) |
Control the current audio volume level. | |
void | BSP_AUDIO_OUT_SetFrequency (uint32_t AudioFreq) |
Update the audio frequency. | |
void | BSP_AUDIO_OUT_SetAudioFrameSlot (uint32_t AudioFrameSlot) |
Update the Audio frame slot configuration. | |
uint8_t | BSP_AUDIO_OUT_SetMute (uint32_t Cmd) |
Enable or disable the MUTE mode by software. | |
uint8_t | BSP_AUDIO_OUT_SetOutputMode (uint8_t Output) |
Switch dynamically (while audio file is played) the output target (speaker or headphone). | |
void | BSP_AUDIO_OUT_TransferComplete_CallBack (void) |
Manages the DMA full Transfer complete event. | |
void | BSP_AUDIO_OUT_HalfTransfer_CallBack (void) |
Manages the DMA Half Transfer complete event. | |
void | BSP_AUDIO_OUT_Error_CallBack (void) |
Manages the DMA FIFO error event. | |
void | BSP_AUDIO_OUT_ClockConfig (SAI_HandleTypeDef *hsai, uint32_t AudioFreq, void *Params) |
Clock Config. | |
void | BSP_AUDIO_OUT_MspInit (SAI_HandleTypeDef *hsai, void *Params) |
Initialize BSP_AUDIO_OUT MSP. | |
void | BSP_AUDIO_OUT_MspDeInit (SAI_HandleTypeDef *hsai, void *Params) |
Deinitialize SAI MSP. | |
uint8_t | BSP_AUDIO_IN_Init (uint32_t AudioFreq, uint32_t BitRes, uint32_t ChnlNbr) |
Initialize wave recording. | |
uint8_t | BSP_AUDIO_IN_AllocScratch (int32_t *pScratch, uint32_t size) |
Allocate channel buffer scratch. | |
void | BSP_AUDIO_IN_DeInit (void) |
Deinit the audio IN peripherals. | |
uint8_t | BSP_AUDIO_IN_Record (uint16_t *pData, uint32_t Size) |
Start audio recording. | |
uint8_t | BSP_AUDIO_IN_Stop (void) |
Stop audio recording. | |
uint8_t | BSP_AUDIO_IN_Pause (void) |
Pause the audio file stream. | |
uint8_t | BSP_AUDIO_IN_Resume (void) |
Resume the audio file stream. | |
void | BSP_AUDIO_IN_TransferComplete_CallBack (void) |
User callback when record buffer is filled. | |
void | BSP_AUDIO_IN_HalfTransfer_CallBack (void) |
Manages the DMA Half Transfer complete event. | |
void | BSP_AUDIO_IN_Error_Callback (void) |
Audio IN Error callback function. | |
void | BSP_AUDIO_IN_ClockConfig (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t AudioFreq, void *Params) |
Clock Config. | |
void | BSP_AUDIO_IN_MspInit (void) |
Initialize BSP_AUDIO_IN MSP. | |
void | BSP_AUDIO_IN_MspDeInit (void) |
DeInitialize BSP_AUDIO_IN MSP. |
Detailed Description
This file contains the common defines and functions prototypes for the stm32f769i_eval_audio.c driver.
- Attention:
© COPYRIGHT(c) 2016 STMicroelectronics
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Definition in file stm32f769i_eval_audio.h.
Generated on Fri Dec 30 2016 20:55:35 for STM32769I_EVAL BSP User Manual by
