aboutsummaryrefslogtreecommitdiffstats
path: root/tmk_core/tool/mbed/mbed-sdk/libraries/tests/usb/device/audio/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/libraries/tests/usb/device/audio/main.cpp')
-rw-r--r--tmk_core/tool/mbed/mbed-sdk/libraries/tests/usb/device/audio/main.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/libraries/tests/usb/device/audio/main.cpp b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/usb/device/audio/main.cpp
new file mode 100644
index 000000000..e18891032
--- /dev/null
+++ b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/usb/device/audio/main.cpp
@@ -0,0 +1,40 @@
+// Playback example with the USBAUDIO library
+
+#include "mbed.h"
+#include "USBAudio.h"
+
+// frequency: 48 kHz
+#define FREQ_SPK 48000
+#define FREQ_MIC 48000
+
+// 2channels: stereo
+#define NB_CHA_SPK 2
+#define NB_CHA_MIC 2
+
+// length computed: each ms, we receive 48 * 16bits ->48 * 2 bytes. as there are two channels, the length will be 48 * 2 * 2
+#define LENGTH_AUDIO_PACKET_SPK (FREQ_SPK / 500) * NB_CHA_SPK
+#define LENGTH_AUDIO_PACKET_MIC (FREQ_MIC / 500) * NB_CHA_MIC
+
+// USBAudio object
+USBAudio audio(FREQ_SPK, NB_CHA_SPK, FREQ_MIC, NB_CHA_MIC, 0xab45, 0x0378);
+
+int main() {
+ // buffer of int
+ int buf_in[LENGTH_AUDIO_PACKET_SPK/sizeof(int)];
+ int buf_out[LENGTH_AUDIO_PACKET_MIC/sizeof(int)];
+ int * stream_out = buf_in;
+ int * stream_in = buf_out;
+ int * tmp = NULL;
+
+ while (1) {
+ // read and write one audio packet each frame
+ audio.readWrite((uint8_t *)stream_in, (uint8_t *)stream_out);
+
+ // swap the buffers
+ tmp = stream_in;
+ stream_in = stream_out;
+ stream_out = tmp;
+ }
+}
+
+