USBAudio example: playback

Dependencies:   mbed USBDevice

Files at this revision

API Documentation at this revision

Comitter:
samux
Date:
Thu Mar 22 14:02:07 2012 +0000
Child:
1:c22dae65898c
Commit message:

Changed in this revision

USBDevice.lib 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
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/USBDevice.lib	Thu Mar 22 14:02:07 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/samux/code/USBDevice/#98311370c1eb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Mar 22 14:02:07 2012 +0000
@@ -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;
+    }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Mar 22 14:02:07 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/737756e0b479