STM32756G_EVAL BSP User Manual
|
This file contains the common defines and functions prototypes for the stm32756g_eval_audio.c driver. More...
#include "../Components/wm8994/wm8994.h"
#include "stm32756g_eval.h"
#include "../../../Middlewares/ST/STM32_Audio/Addons/PDM/pdm_filter.h"
Go to the source code of this file.
Defines | |
#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)5) /* Select the preemption priority level(0 is the highest) */ |
#define | AUDIO_I2Sx SPI3 |
#define | AUDIO_I2Sx_CLK_ENABLE() __HAL_RCC_SPI3_CLK_ENABLE() |
#define | AUDIO_I2Sx_CLK_DISABLE() __HAL_RCC_SPI3_CLK_DISABLE() |
#define | AUDIO_I2Sx_SCK_PIN GPIO_PIN_3 |
#define | AUDIO_I2Sx_SCK_GPIO_PORT GPIOB |
#define | AUDIO_I2Sx_SCK_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() |
#define | AUDIO_I2Sx_SCK_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() |
#define | AUDIO_I2Sx_SCK_AF GPIO_AF6_SPI3 |
#define | AUDIO_I2Sx_SD_PIN GPIO_PIN_6 |
#define | AUDIO_I2Sx_SD_GPIO_PORT GPIOD |
#define | AUDIO_I2Sx_SD_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() |
#define | AUDIO_I2Sx_SD_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE() |
#define | AUDIO_I2Sx_SD_AF GPIO_AF5_SPI3 |
#define | AUDIO_I2Sx_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() |
#define | AUDIO_I2Sx_DMAx_CLK_DISABLE() __HAL_RCC_DMA1_CLK_DISABLE() |
#define | AUDIO_I2Sx_DMAx_STREAM DMA1_Stream2 |
#define | AUDIO_I2Sx_DMAx_CHANNEL DMA_CHANNEL_0 |
#define | AUDIO_I2Sx_DMAx_IRQ DMA1_Stream2_IRQn |
#define | AUDIO_I2Sx_DMAx_PERIPH_DATA_SIZE DMA_PDATAALIGN_HALFWORD |
#define | AUDIO_I2Sx_DMAx_MEM_DATA_SIZE DMA_MDATAALIGN_HALFWORD |
#define | AUDIO_I2Sx_DMAx_IRQHandler DMA1_Stream2_IRQHandler |
#define | AUDIO_IN_IRQ_PREPRIO ((uint32_t)6) /* Select the preemption priority level(0 is the highest) */ |
#define | AUDIO_TIMx_CLK_ENABLE() __HAL_RCC_TIM3_CLK_ENABLE() |
#define | AUDIO_TIMx_CLK_DISABLE() __HAL_RCC_TIM3_CLK_DISABLE() |
#define | AUDIO_TIMx TIM3 |
#define | AUDIO_TIMx_IN_CHANNEL TIM_CHANNEL_1 |
#define | AUDIO_TIMx_OUT_CHANNEL TIM_CHANNEL_2 /* Select channel 2 as output */ |
#define | AUDIO_TIMx_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() |
#define | AUDIO_TIMx_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() |
#define | AUDIO_TIMx_GPIO_PORT GPIOC |
#define | AUDIO_TIMx_IN_GPIO_PIN GPIO_PIN_6 |
#define | AUDIO_TIMx_OUT_GPIO_PIN GPIO_PIN_7 |
#define | AUDIO_TIMx_AF GPIO_AF2_TIM3 |
#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 | INTERNAL_BUFF_SIZE (128*DEFAULT_AUDIO_IN_FREQ/16000*DEFAULT_AUDIO_IN_CHANNEL_NBR) |
#define | PCM_OUT_SIZE (DEFAULT_AUDIO_IN_FREQ/1000*2) |
#define | CHANNEL_DEMUX_MASK ((uint8_t)0x55) |
#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 | 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) |
Configures the audio peripherals. | |
uint8_t | BSP_AUDIO_OUT_Play (uint16_t *pBuffer, uint32_t Size) |
Starts playing audio stream from a data buffer for a determined size. | |
void | BSP_AUDIO_OUT_ChangeBuffer (uint16_t *pData, uint16_t Size) |
Sends n-Bytes on the SAI interface. | |
uint8_t | BSP_AUDIO_OUT_Pause (void) |
This function Pauses the audio file stream. | |
uint8_t | BSP_AUDIO_OUT_Resume (void) |
This function Resumes the audio file stream. | |
uint8_t | BSP_AUDIO_OUT_Stop (uint32_t Option) |
Stops audio playing and Power down the Audio Codec. | |
uint8_t | BSP_AUDIO_OUT_SetVolume (uint8_t Volume) |
Controls the current audio volume level. | |
void | BSP_AUDIO_OUT_SetFrequency (uint32_t AudioFreq) |
Updates the audio frequency. | |
void | BSP_AUDIO_OUT_SetAudioFrameSlot (uint32_t AudioFrameSlot) |
Updates the Audio frame slot configuration. | |
uint8_t | BSP_AUDIO_OUT_SetMute (uint32_t Cmd) |
Enables or disables 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_DeInit (void) |
Deinit the audio peripherals. | |
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) |
Initializes BSP_AUDIO_OUT MSP. | |
void | BSP_AUDIO_OUT_MspDeInit (SAI_HandleTypeDef *hsai, void *Params) |
Deinitializes SAI MSP. | |
uint8_t | BSP_AUDIO_IN_Init (uint32_t AudioFreq, uint32_t BitRes, uint32_t ChnlNbr) |
Initializes wave recording. | |
uint8_t | BSP_AUDIO_IN_Record (uint16_t *pData, uint32_t Size) |
Starts audio recording. | |
uint8_t | BSP_AUDIO_IN_Stop (void) |
Stops audio recording. | |
uint8_t | BSP_AUDIO_IN_Pause (void) |
Pauses the audio file stream. | |
uint8_t | BSP_AUDIO_IN_Resume (void) |
Resumes the audio file stream. | |
uint8_t | BSP_AUDIO_IN_SetVolume (uint8_t Volume) |
Controls the audio in volume level. | |
void | BSP_AUDIO_IN_DeInit (void) |
Deinit the audio IN peripherals. | |
uint8_t | BSP_AUDIO_IN_PDMToPCM (uint16_t *PDMBuf, uint16_t *PCMBuf) |
Converts audio format from PDM to PCM. | |
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_MspInit (I2S_HandleTypeDef *hi2s, void *Params) |
Initializes BSP_AUDIO_IN MSP. | |
void | BSP_AUDIO_IN_MspDeInit (I2S_HandleTypeDef *hi2s, void *Params) |
DeInitializes BSP_AUDIO_IN MSP. | |
Variables | |
__IO uint16_t | AudioInVolume |
Detailed Description
This file contains the common defines and functions prototypes for the stm32756g_eval_audio.c driver.
- Attention:
© COPYRIGHT(c) 2015 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 stm32756g_eval_audio.h.
Generated on Fri May 22 2015 13:59:20 for STM32756G_EVAL BSP User Manual by 1.7.6.1