AUDIO DISCO_F769NI audioloop basic example

Dependencies:   BSP_DISCO_F769NI

Files at this revision

API Documentation at this revision

Comitter:
Jerome Coutant
Date:
Fri Nov 22 16:02:58 2019 +0100
Parent:
1:f849e36f029e
Commit message:
Update with STM32Cube_FW_F7_V1.15.0

Changed in this revision

.hgignore Show annotated file Show diff for this revision Revisions of this file
BSP_DISCO_F769NI.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Fri Nov 22 16:02:58 2019 +0100
@@ -0,0 +1,2 @@
+BUILD
+mbed-os/
--- a/BSP_DISCO_F769NI.lib	Tue Apr 04 09:42:54 2017 +0000
+++ b/BSP_DISCO_F769NI.lib	Fri Nov 22 16:02:58 2019 +0100
@@ -1,1 +1,1 @@
-https://mbed.org/teams/ST/code/BSP_DISCO_F769NI/#39d2c2c79afa
+https://mbed.org/teams/ST/code/BSP_DISCO_F769NI/#d13d7c447539
--- a/main.cpp	Tue Apr 04 09:42:54 2017 +0000
+++ b/main.cpp	Fri Nov 22 16:02:58 2019 +0100
@@ -1,51 +1,51 @@
 #include "mbed.h"
 #include "stm32f769i_discovery.h"
 #include "stm32f769i_discovery_audio.h"
-
+ 
 static void CopyBuffer(int16_t *pbuffer1, int16_t *pbuffer2, uint16_t BufferSize);
-
+ 
 #define SCRATCH_BUFF_SIZE  1024
 #define RECORD_BUFFER_SIZE  4096
-
+ 
 typedef enum {
     BUFFER_OFFSET_NONE = 0,
     BUFFER_OFFSET_HALF = 1,
     BUFFER_OFFSET_FULL = 2,
 } BUFFER_StateTypeDef;
-
+ 
 volatile uint32_t  audio_rec_buffer_state = BUFFER_OFFSET_NONE;
 int32_t Scratch[SCRATCH_BUFF_SIZE];
-
+ 
 /* Buffer containing the PCM samples coming from the microphone */
 int16_t RecordBuffer[RECORD_BUFFER_SIZE];
-
+ 
 /* Buffer used to stream the recorded PCM samples towards the audio codec. */
 int16_t PlaybackBuffer[RECORD_BUFFER_SIZE];
-
+ 
 int main()
 {
     uint32_t audio_loop_back_init = RESET ;
-
+ 
     printf("\n\nAUDIO LOOPBACK EXAMPLE FOR DISCO-F769NI START:\n");
-
+ 
     /* Initialize Audio Recorder with 4 channels to be used */
     if (BSP_AUDIO_IN_Init(BSP_AUDIO_FREQUENCY_44K, DEFAULT_AUDIO_IN_BIT_RESOLUTION, 2*DEFAULT_AUDIO_IN_CHANNEL_NBR) == AUDIO_ERROR) {
         printf("BSP_AUDIO_IN_Init error\n");
     }
-
+ 
     /* Allocate scratch buffers */
     if (BSP_AUDIO_IN_AllocScratch (Scratch, SCRATCH_BUFF_SIZE) == AUDIO_ERROR) {
         printf("BSP_AUDIO_IN_AllocScratch error\n");
     }
-
+ 
     /* Start Recording */
     if (BSP_AUDIO_IN_Record((uint16_t*)&RecordBuffer[0], RECORD_BUFFER_SIZE) == AUDIO_ERROR) {
         printf("BSP_AUDIO_IN_Record error\n");
     }
     uint8_t ChannelNumber = BSP_AUDIO_IN_GetChannelNumber();
-
+ 
     audio_rec_buffer_state = BUFFER_OFFSET_NONE;
-
+ 
     while (1) {
         /* 1st or 2nd half of the record buffer ready for being copied to the playbakc buffer */
         if(audio_rec_buffer_state != BUFFER_OFFSET_NONE) {
@@ -62,7 +62,7 @@
                     } else {
                         BSP_AUDIO_OUT_SetAudioFrameSlot(CODEC_AUDIOFRAME_SLOT_02);
                     }
-
+ 
                     /* Play the recorded buffer */
                     if (BSP_AUDIO_OUT_Play((uint16_t *) &PlaybackBuffer[0], 2*RECORD_BUFFER_SIZE) == AUDIO_ERROR) {
                         printf("BSP_AUDIO_OUT_Play error\n");
@@ -70,18 +70,18 @@
                     /* Audio device is initialized only once */
                     audio_loop_back_init = SET;
                 }
-
-
+ 
+ 
             } else { /* if(audio_rec_buffer_state == BUFFER_OFFSET_FULL)*/
                 CopyBuffer(&PlaybackBuffer[RECORD_BUFFER_SIZE/2], &RecordBuffer[RECORD_BUFFER_SIZE/2], RECORD_BUFFER_SIZE/2);
             }
-
+ 
             /* Wait for next data */
             audio_rec_buffer_state = BUFFER_OFFSET_NONE;
         }
     }
 }
-
+ 
 /*-------------------------------------------------------------------------------------
        Callbacks implementation:
            the callbacks API are defined __weak in the stm32f769i_discovery_audio.c file
@@ -97,7 +97,7 @@
 {
     audio_rec_buffer_state = BUFFER_OFFSET_FULL;
 }
-
+ 
 /**
   * @brief  Manages the DMA Half Transfer complete interrupt.
   * @param  None
@@ -107,7 +107,7 @@
 {
     audio_rec_buffer_state = BUFFER_OFFSET_HALF;
 }
-
+ 
 /**
   * @brief  Audio IN Error callback function.
   * @param  None
@@ -117,11 +117,13 @@
 {
     printf("BSP_AUDIO_IN_Error_CallBack\n");
 }
-
-
+ 
+ 
 /**
   * @brief  Copy content of pbuffer2 to pbuffer1
-  * @param  None
+  * @param1 BufferOut
+  * @param2 BufferIn
+  * @param3 Size
   * @retval None
   */
 static void CopyBuffer(int16_t *pbuffer1, int16_t *pbuffer2, uint16_t BufferSize)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-os.lib	Fri Nov 22 16:02:58 2019 +0100
@@ -0,0 +1,1 @@
+https://github.com/ARMmbed/mbed-os/#eb60e67d92fa6d01b8e6a822434010a53d4eb006
--- a/mbed.bld	Tue Apr 04 09:42:54 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/856d2700e60b
\ No newline at end of file