Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of USBDevice by
Revision 21:8133879e4fb4, committed 2014-03-27
- Comitter:
- bw
- Date:
- Thu Mar 27 21:26:37 2014 +0000
- Parent:
- 8:335f2506f422
- Commit message:
- Modified USBAudio to call a callback function when an audio packet is received.
Changed in this revision
| USBAudio/USBAudio.cpp | Show annotated file Show diff for this revision Revisions of this file |
| USBAudio/USBAudio.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/USBAudio/USBAudio.cpp Fri Mar 01 13:10:29 2013 +0000
+++ b/USBAudio/USBAudio.cpp Thu Mar 27 21:26:37 2014 +0000
@@ -141,6 +141,8 @@
// Called in ISR context on each start of frame
+// A read callback services the audio packet in the "read" buffer.
+// The "read" buffer is to be set once with a USBAudio::read().
void USBAudio::SOF(int frameNumber) {
uint32_t size = 0;
@@ -151,7 +153,7 @@
if (size) {
available = true;
readStart(EP3OUT, PACKET_SIZE_ISO_IN);
- buf_stream_in = NULL;
+ readCallback.call();
}
}
}
--- a/USBAudio/USBAudio.h Fri Mar 01 13:10:29 2013 +0000
+++ b/USBAudio/USBAudio.h Thu Mar 27 21:26:37 2014 +0000
@@ -145,6 +145,14 @@
updateVol.attach(tptr, mptr);
}
+ /** Attach a callback to service incomming audio packets.
+ *
+ * @param function Function to attach
+ *
+ */
+ void attachReadCallback(void(*fptr)(void)) {
+ readCallback.attach(fptr);
+ }
protected:
@@ -277,6 +285,9 @@
// callback to update volume
FunctionPointer updateVol;
+ // callback to service incomming audio packet
+ FunctionPointer readCallback;
+
// boolean showing that the SOF handler has been called. Useful for readNB.
volatile bool SOF_handler;
