revised version of F746_SD_GraphicEqualizer

Dependencies:   BSP_DISCO_F746NG F746_GUI F746_SAI_IO FrequencyResponseDrawer LCD_DISCO_F746NG SDFileSystem_Warning_Fixed TS_DISCO_F746NG mbed

Fork of F746_SD_GraphicEqualizer by 不韋 呂

Files at this revision

API Documentation at this revision

Comitter:
MikamiUitOpen
Date:
Wed May 04 12:41:02 2016 +0000
Parent:
3:c3976d34cde9
Child:
5:a5a4f9d7b26c
Commit message:
5

Changed in this revision

MyClasses_Functions/SAI_Output.cpp Show annotated file Show diff for this revision Revisions of this file
MyClasses_Functions/SAI_Output.hpp 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
--- a/MyClasses_Functions/SAI_Output.cpp	Sun May 01 14:13:51 2016 +0000
+++ b/MyClasses_Functions/SAI_Output.cpp	Wed May 04 12:41:02 2016 +0000
@@ -1,6 +1,6 @@
 //-----------------------------------------------------------
 //  SiaIO class for output
-//  2016/04/20, Copyright (c) 2016 MIKAMI, Naoki
+//  2016/05/04, Copyright (c) 2016 MIKAMI, Naoki
 //-----------------------------------------------------------
 
 #include "SAI_Output.hpp"
@@ -14,28 +14,15 @@
         outBuffer_ = new int16_t[(size*2)*2];
         tmp_ = new int16_t[size*2];
         xferred_ = false;
+        InitCodecOut();
     }
+
     SaiIO_O::~SaiIO_O()
     {
         delete[] tmp_;
         delete[] outBuffer_;
     }
 
-    void SaiIO_O::InitCodecOut()
-    {
-        if (BSP_AUDIO_OUT_Init(OUTPUT_DEVICE_HEADPHONE, VOLUME_OUT_, FS_) == AUDIO_ERROR)
-            ErrorTrap();
-        for (int n=0; n<bufferSize_; n++) outBuffer_[n] = 0;
-        for (int n=0; n<nData_*2; n++) tmp_[n] = 0;
-
-        NVIC_SetVector(AUDIO_OUT_SAIx_DMAx_IRQ, (uint32_t)AUDIO_OUT_SAIx_DMAx_IRQHandler);
-        BSP_AUDIO_OUT_SetAudioFrameSlot(CODEC_AUDIOFRAME_SLOT_02);
-
-        if (BSP_AUDIO_OUT_Play((uint16_t *)outBuffer_,
-                               bufferSize_*AUDIODATA_SIZE) == AUDIO_ERROR)
-            ErrorTrap();
-    }
-
     bool SaiIO_O::IsXferred()
     {
         if (xferred_)
@@ -64,6 +51,21 @@
         }
     }
 
+    void SaiIO_O::InitCodecOut()
+    {
+        if (BSP_AUDIO_OUT_Init(OUTPUT_DEVICE_HEADPHONE, VOLUME_OUT_, FS_) == AUDIO_ERROR)
+            ErrorTrap();
+        for (int n=0; n<bufferSize_; n++) outBuffer_[n] = 0;
+        for (int n=0; n<nData_*2; n++) tmp_[n] = 0;
+
+        NVIC_SetVector(AUDIO_OUT_SAIx_DMAx_IRQ, (uint32_t)AUDIO_OUT_SAIx_DMAx_IRQHandler);
+        BSP_AUDIO_OUT_SetAudioFrameSlot(CODEC_AUDIOFRAME_SLOT_02);
+
+        if (BSP_AUDIO_OUT_Play((uint16_t *)outBuffer_,
+                               bufferSize_*AUDIODATA_SIZE) == AUDIO_ERROR)
+            ErrorTrap();
+    }
+
     void SaiIO_O::FillBuffer(uint32_t offset)
     {
         int k = offset;
--- a/MyClasses_Functions/SAI_Output.hpp	Sun May 01 14:13:51 2016 +0000
+++ b/MyClasses_Functions/SAI_Output.hpp	Wed May 04 12:41:02 2016 +0000
@@ -1,6 +1,6 @@
 //-----------------------------------------------------------
 //  SiaIO class for output (Header)
-//  2016/04/20, Copyright (c) 2016 MIKAMI, Naoki
+//  2016/05/04, Copyright (c) 2016 MIKAMI, Naoki
 //-----------------------------------------------------------
 
 #ifndef F746_SAI_IO_HPP
@@ -17,9 +17,7 @@
     public:
         SaiIO_O(int size, int fs);
         ~SaiIO_O();
-
-        void InitCodecOut();
-        
+       
         bool IsXferred();
         void Output(int16_t xL, int16_t xR);
         
@@ -54,6 +52,7 @@
         
         __IO int32_t tmpIndex_;
 
+        void InitCodecOut();
         static void FillBuffer(uint32_t offset);
     };
 }
--- a/main.cpp	Sun May 01 14:13:51 2016 +0000
+++ b/main.cpp	Wed May 04 12:41:02 2016 +0000
@@ -5,7 +5,7 @@
 //                   上記以外の形式は扱わない
 //      出力:モノラル
 //
-//  2016/05/01, Copyright (c) 2016 MIKAMI, Naoki
+//  2016/05/04, Copyright (c) 2016 MIKAMI, Naoki
 //--------------------------------------------------------------
 
 #include "MyFunctions.hpp"
@@ -111,7 +111,6 @@
 
         playOk = false;
         bool stopOk = false;
-        mySai.InitCodecOut();   // SAI の初期化
 
         // IIR フィルタの内部の遅延器のクリア
         for (int k=0; k<STAGES; k++) hn[k].Clear();