不韋 呂 / Mbed 2 deprecated F746_SD_WavPlayer

Dependencies:   BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem_Warning_Fixed TS_DISCO_F746NG mbed FrequencyResponseDrawer F746_SAI_IO Array_Matrix

Committer:
MikamiUitOpen
Date:
Tue Apr 19 09:46:11 2016 +0000
Revision:
0:04b43b777fae
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:04b43b777fae 1 //-----------------------------------------------------------
MikamiUitOpen 0:04b43b777fae 2 // SiaIO class for output (Header)
MikamiUitOpen 0:04b43b777fae 3 // 2016/04/17, Copyright (c) 2016 MIKAMI, Naoki
MikamiUitOpen 0:04b43b777fae 4 //-----------------------------------------------------------
MikamiUitOpen 0:04b43b777fae 5
MikamiUitOpen 0:04b43b777fae 6 #ifndef F746_SAI_IO_HPP
MikamiUitOpen 0:04b43b777fae 7 #define F746_SAI_IO_HPP
MikamiUitOpen 0:04b43b777fae 8
MikamiUitOpen 0:04b43b777fae 9 #include "mbed.h"
MikamiUitOpen 0:04b43b777fae 10 #include "stm32746g_discovery_audio.h"
MikamiUitOpen 0:04b43b777fae 11 #include "BSP_AudioOut_Overwrite.hpp"
MikamiUitOpen 0:04b43b777fae 12
MikamiUitOpen 0:04b43b777fae 13 namespace Mikami
MikamiUitOpen 0:04b43b777fae 14 {
MikamiUitOpen 0:04b43b777fae 15 class SaiIO_O
MikamiUitOpen 0:04b43b777fae 16 {
MikamiUitOpen 0:04b43b777fae 17 public:
MikamiUitOpen 0:04b43b777fae 18 SaiIO_O(int size, int fs);
MikamiUitOpen 0:04b43b777fae 19 ~SaiIO_O();
MikamiUitOpen 0:04b43b777fae 20
MikamiUitOpen 0:04b43b777fae 21 void InitCodecOut();
MikamiUitOpen 0:04b43b777fae 22
MikamiUitOpen 0:04b43b777fae 23 bool IsXferred();
MikamiUitOpen 0:04b43b777fae 24 void Output(int16_t xL, int16_t xR);
MikamiUitOpen 0:04b43b777fae 25
MikamiUitOpen 0:04b43b777fae 26 void ResetXferred() { xferred_ = false; }
MikamiUitOpen 0:04b43b777fae 27 int32_t GetLength() { return nData_; }
MikamiUitOpen 0:04b43b777fae 28 void Stop() { BSP_AUDIO_OUT_Stop(CODEC_PDWN_SW); }
MikamiUitOpen 0:04b43b777fae 29 void Pause() { BSP_AUDIO_OUT_Pause(); }
MikamiUitOpen 0:04b43b777fae 30 void Resume() { BSP_AUDIO_OUT_Resume(); }
MikamiUitOpen 0:04b43b777fae 31
MikamiUitOpen 0:04b43b777fae 32
MikamiUitOpen 0:04b43b777fae 33 // These three member functions are called from
MikamiUitOpen 0:04b43b777fae 34 // callback functions in "BSP_AudioOut_Overwrite.cpp"
MikamiUitOpen 0:04b43b777fae 35
MikamiUitOpen 0:04b43b777fae 36 // Called form BSP_AUDIO_OUT_HalfTransfer_CallBack()
MikamiUitOpen 0:04b43b777fae 37 static void FillBuffer1st() { FillBuffer(0); }
MikamiUitOpen 0:04b43b777fae 38 // Called form BSP_AUDIO_OUT_TransferComplete_CallBack()
MikamiUitOpen 0:04b43b777fae 39 static void FillBuffer2nd() { FillBuffer(bufferSize_/2); }
MikamiUitOpen 0:04b43b777fae 40 // Also called form BSP_AUDIO_OUT_Error_CallBack()
MikamiUitOpen 0:04b43b777fae 41 static void ErrorTrap();
MikamiUitOpen 0:04b43b777fae 42
MikamiUitOpen 0:04b43b777fae 43 private:
MikamiUitOpen 0:04b43b777fae 44 const int FS_;
MikamiUitOpen 0:04b43b777fae 45 static const uint8_t VOLUME_OUT_ = 90;
MikamiUitOpen 0:04b43b777fae 46
MikamiUitOpen 0:04b43b777fae 47 static int32_t nData_;
MikamiUitOpen 0:04b43b777fae 48 static int32_t bufferSize_;
MikamiUitOpen 0:04b43b777fae 49
MikamiUitOpen 0:04b43b777fae 50 static int16_t* outBuffer_;
MikamiUitOpen 0:04b43b777fae 51 static int16_t* tmp_;
MikamiUitOpen 0:04b43b777fae 52
MikamiUitOpen 0:04b43b777fae 53 static __IO bool xferred_;
MikamiUitOpen 0:04b43b777fae 54
MikamiUitOpen 0:04b43b777fae 55 __IO int32_t tmpIndex_;
MikamiUitOpen 0:04b43b777fae 56
MikamiUitOpen 0:04b43b777fae 57 static void FillBuffer(uint32_t offset);
MikamiUitOpen 0:04b43b777fae 58 };
MikamiUitOpen 0:04b43b777fae 59 }
MikamiUitOpen 0:04b43b777fae 60 #endif // F746_SAI_IO_HPP