Demo program of SAI_IO class for audio signal input and output. DISCO-F746 搭載の CODEC (WM8994) を使ってオーディオ信号の入出力を行うための SAI_IO クラスの使用例.
Dependencies: BSP_DISCO_F746NG F746_GUI F746_SAI_IO LCD_DISCO_F746NG TS_DISCO_F746NG mbed
Diff: main.cpp
- Revision:
- 3:68f16dc80b68
- Parent:
- 2:034168531ce0
- Child:
- 4:0beea5d9a205
--- a/main.cpp Tue May 10 12:26:51 2016 +0000 +++ b/main.cpp Wed Jun 15 12:54:02 2016 +0000 @@ -10,7 +10,7 @@ // この MyBSP_AUDIO_IN_OUT_Init() は "MyBSP_AUDIO_IN_OUT_Init.hpp" で // 定義されている. // -// 2016/05/10, Copyright (c) 2016 MIKAMI, Naoki +// 2016/06/15, Copyright (c) 2016 MIKAMI, Naoki //---------------------------------------------------------------------- #include "ButtonGroup.hpp" @@ -32,6 +32,8 @@ LCD_DISCO_F746NG *lcd = GuiBase::GetLcdPtr(); lcd->Clear(BACK_COLOR); + Label labelTitle(240, 10, "Demo of Audio I/O", Label::CENTER, Font16); + const uint16_t BG_LEFT = 370; const uint16_t BG_WIDTH = 110; const uint16_t BG_HEIGHT = 40; @@ -40,9 +42,9 @@ ButtonGroup inSw(BG_LEFT, 180, BG_WIDTH/2, BG_HEIGHT, 2, INPUT, 0, 0, 2, 1); - const string MOVE_HALT[2] = {"MOVE", "HALT"}; - ButtonGroup moveHalt(BG_LEFT, 230, BG_WIDTH/2, BG_HEIGHT, - 2, MOVE_HALT, 0, 0, 2, 0); + const string RUN_STOP[2] = {"RUN", "STOP"}; + ButtonGroup runStop(BG_LEFT, 230, BG_WIDTH/2, BG_HEIGHT, + 2, RUN_STOP, 0, 0, 2, 0); lcd->SetTextColor(LCD_COLOR_WHITE); lcd->SetFont(&Font16); @@ -63,12 +65,18 @@ mySai.RecordIn(); mySai.PlayOut(); + bool run = true; // run while(1) { int sw = 0; - if (moveHalt.GetTouchedNumber(sw)) + if (runStop.GetTouchedNumber(sw)) + { on = (sw == 0) ? true : false; + if (on && !run) mySai.ResumeOut(); + if (!on && run) mySai.PauseOut(); + run = on; + } int swNow; if (inSw.GetTouchedNumber(swNow) && (swNow != inSelect))