不韋 呂 / Mbed 2 deprecated F746_AudioOutQSPI

Dependencies:   BSP_DISCO_F746NG_patch_fixed F746_GUI LCD_DISCO_F746NG QSPI_DISCO_F746NG TS_DISCO_F746NG mbed

Committer:
MikamiUitOpen
Date:
Fri Apr 01 05:03:20 2016 +0000
Revision:
0:2eb96a7cf9b9
1

Who changed what in which revision?

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