/** * @brief Starts sending dummy data as audio stream: function used to generate I2S master clock MCK for audio codec device. * @param pBuffer: Pointer to the buffer * @param Size: Number of audio data BYTES. * @retval AUDIO_OK if correct communication, else wrong communication */ static uint8_t I2SOUT_SendDummyData_Start(uint16_t* pBuffer, uint32_t Size) { /* Update the Media layer and enable it for play */ HAL_I2S_Transmit_DMA(&hAudioOutI2s, pBuffer, DMA_MAX(Size)); return AUDIO_OK; }
/** * @brief Starts playing audio stream from a data buffer for a determined size. * @param pBuffer: Pointer to the buffer * @param Size: Number of audio data BYTES. * @retval AUDIO_OK if correct communication, else wrong communication */ uint8_t BSP_AUDIO_OUT_Play(uint16_t* pBuffer, uint32_t Size) { /* Call the audio Codec Play function */ if (pAudioDrv->Play(AUDIO_I2C_ADDRESS, pBuffer, Size) != 0) { return AUDIO_ERROR; } else { /* Update the Media layer and enable it for play */ return (HAL_I2S_Transmit_DMA(&hAudioOutI2s, pBuffer, DMA_MAX(Size))); } }
/** * @brief Starts playing audio stream from a data buffer for a determined size. * @param pBuffer: Pointer to the buffer * @param Size: Number of audio data BYTES. * @retval AUDIO_OK if correct communication, else wrong communication */ uint8_t BSP_AUDIO_OUT_Play(uint16_t* pBuffer, uint32_t Size) { /* Call the audio Codec Play function */ if(audio_drv->Play(AUDIO_I2C_ADDRESS, pBuffer, Size) != 0) { return AUDIO_ERROR; } else { /* Update the Media layer and enable it for play */ HAL_I2S_Transmit_DMA(&haudio_i2s, pBuffer, DMA_MAX(Size/AUDIODATA_SIZE)); return AUDIO_OK; } }
/** * @brief Starts playing audio stream from a data buffer for a determined size. * @param pBuffer: Pointer to the buffer * @param Size: Number of audio data BYTES. * @retval AUDIO_OK if correct communication, else wrong communication */ uint8_t BSP_AUDIO_OUT_Play(uint16_t* pBuffer, uint32_t Size) { /* Call the audio Codec Play function */ if(pAudioDrv->Play(AUDIO_I2C_ADDRESS, pBuffer, Size) != 0) { return AUDIO_ERROR; } else { /* Update the Media layer and enable it for play */ HAL_I2S_Transmit_DMA(&hAudioOutI2s, pBuffer, DMA_MAX(Size/AUDIODATA_SIZE)); /* Return AUDIO_OK when all operations are correctly done */ return AUDIO_OK; } }
/** * @brief Sends n-Bytes on the I2S interface. * @param pData: pointer on data address * @param Size: number of data to be written * @retval None */ void BSP_AUDIO_OUT_ChangeBuffer(uint16_t *pData, uint16_t Size) { HAL_I2S_Transmit_DMA(&hAudioOutI2s, pData, Size); }
/** * @brief Sends n-Bytes on the I2S interface. * @param pData: pointer on data address * @param Size: number of data to be written * @retval None */ uint8_t BSP_AUDIO_OUT_ChangeBuffer(uint16_t *pData, uint16_t Size) { return (HAL_I2S_Transmit_DMA(&hAudioOutI2s, pData, Size)); }