Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem_Warning_Fixed TS_DISCO_F746NG mbed FrequencyResponseDrawer F746_SAI_IO Array_Matrix
Diff: MyClasses_Functions/BSP_AudioOut_Overwrite.cpp
- Revision:
- 7:2964179ff931
- Parent:
- 6:141ee26db40b
- Child:
- 8:e9309409f4a7
--- a/MyClasses_Functions/BSP_AudioOut_Overwrite.cpp Sun May 01 14:05:06 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-//--------------------------------------------------------------
-// Overwrite functuions and define calback functions
-// for functions in stm32746g_discovery_audio.cpp
-//--------------------------------------------------------------
-#include "BSP_AudioOut_Overwrite.hpp"
-
-// These three callback functions are modyfied by Mikami
-void BSP_AUDIO_OUT_HalfTransfer_CallBack()
-{
- Mikami::SaiIO_O::FillBuffer1st();
-}
-
-void BSP_AUDIO_OUT_TransferComplete_CallBack()
-{
- Mikami::SaiIO_O::FillBuffer2nd();
-}
-
-void BSP_AUDIO_OUT_Error_CallBack()
-{
- Mikami::SaiIO_O::ErrorTrap();
-}
-
-//--------------------------------------------------------------
-// Followings are original by Nanase
-//--------------------------------------------------------------
-
-DMA_HandleTypeDef hdma_sai_tx;
-
-void AUDIO_OUT_SAIx_DMAx_IRQHandler()
-{
- HAL_DMA_IRQHandler(&hdma_sai_tx);
-}
-
-void BSP_AUDIO_OUT_MspInit(SAI_HandleTypeDef *hsai, void *Params)
-{
- //static DMA_HandleTypeDef hdma_sai_tx;
- GPIO_InitTypeDef gpio_init_structure;
-
- /* Enable SAI clock */
- AUDIO_OUT_SAIx_CLK_ENABLE();
-
- /* Enable GPIO clock */
- AUDIO_OUT_SAIx_MCLK_ENABLE();
- AUDIO_OUT_SAIx_SCK_SD_ENABLE();
- AUDIO_OUT_SAIx_FS_ENABLE();
-
- /* CODEC_SAI pins configuration: FS, SCK, MCK and SD pins ------------------*/
- gpio_init_structure.Pin = AUDIO_OUT_SAIx_FS_PIN;
- gpio_init_structure.Mode = GPIO_MODE_AF_PP;
- gpio_init_structure.Pull = GPIO_NOPULL;
- gpio_init_structure.Speed = GPIO_SPEED_HIGH;
- gpio_init_structure.Alternate = AUDIO_OUT_SAIx_FS_SD_MCLK_AF;
- HAL_GPIO_Init(AUDIO_OUT_SAIx_FS_GPIO_PORT, &gpio_init_structure);
-
- gpio_init_structure.Pin = AUDIO_OUT_SAIx_SCK_PIN;
- gpio_init_structure.Mode = GPIO_MODE_AF_PP;
- gpio_init_structure.Pull = GPIO_NOPULL;
- gpio_init_structure.Speed = GPIO_SPEED_HIGH;
- gpio_init_structure.Alternate = AUDIO_OUT_SAIx_SCK_AF;
- HAL_GPIO_Init(AUDIO_OUT_SAIx_SCK_SD_GPIO_PORT, &gpio_init_structure);
-
- gpio_init_structure.Pin = AUDIO_OUT_SAIx_SD_PIN;
- gpio_init_structure.Mode = GPIO_MODE_AF_PP;
- gpio_init_structure.Pull = GPIO_NOPULL;
- gpio_init_structure.Speed = GPIO_SPEED_HIGH;
- gpio_init_structure.Alternate = AUDIO_OUT_SAIx_FS_SD_MCLK_AF;
- HAL_GPIO_Init(AUDIO_OUT_SAIx_SCK_SD_GPIO_PORT, &gpio_init_structure);
-
- gpio_init_structure.Pin = AUDIO_OUT_SAIx_MCLK_PIN;
- gpio_init_structure.Mode = GPIO_MODE_AF_PP;
- gpio_init_structure.Pull = GPIO_NOPULL;
- gpio_init_structure.Speed = GPIO_SPEED_HIGH;
- gpio_init_structure.Alternate = AUDIO_OUT_SAIx_FS_SD_MCLK_AF;
- HAL_GPIO_Init(AUDIO_OUT_SAIx_MCLK_GPIO_PORT, &gpio_init_structure);
-
- /* Enable the DMA clock */
- AUDIO_OUT_SAIx_DMAx_CLK_ENABLE();
-
- if(hsai->Instance == AUDIO_OUT_SAIx)
- {
- /* Configure the hdma_saiTx handle parameters */
- hdma_sai_tx.Init.Channel = AUDIO_OUT_SAIx_DMAx_CHANNEL;
- hdma_sai_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
- hdma_sai_tx.Init.PeriphInc = DMA_PINC_DISABLE;
- hdma_sai_tx.Init.MemInc = DMA_MINC_ENABLE;
- hdma_sai_tx.Init.PeriphDataAlignment = AUDIO_OUT_SAIx_DMAx_PERIPH_DATA_SIZE;
- hdma_sai_tx.Init.MemDataAlignment = AUDIO_OUT_SAIx_DMAx_MEM_DATA_SIZE;
- hdma_sai_tx.Init.Mode = DMA_CIRCULAR;
- hdma_sai_tx.Init.Priority = DMA_PRIORITY_HIGH;
- hdma_sai_tx.Init.FIFOMode = DMA_FIFOMODE_ENABLE;
- hdma_sai_tx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;
- hdma_sai_tx.Init.MemBurst = DMA_MBURST_SINGLE;
- hdma_sai_tx.Init.PeriphBurst = DMA_PBURST_SINGLE;
-
- hdma_sai_tx.Instance = AUDIO_OUT_SAIx_DMAx_STREAM;
-
- /* Associate the DMA handle */
- __HAL_LINKDMA(hsai, hdmatx, hdma_sai_tx);
-
- /* Deinitialize the Stream for new transfer */
- HAL_DMA_DeInit(&hdma_sai_tx);
-
- /* Configure the DMA Stream */
- HAL_DMA_Init(&hdma_sai_tx);
- }
-
- /* SAI DMA IRQ Channel configuration */
- HAL_NVIC_SetPriority(AUDIO_OUT_SAIx_DMAx_IRQ, AUDIO_OUT_IRQ_PREPRIO, 0);
- HAL_NVIC_EnableIRQ(AUDIO_OUT_SAIx_DMAx_IRQ);
-}
-
-