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.
Dependencies: USBHostMIDI mbed
Revision 1:01305cc0e2a2, committed 2013-12-06
- Comitter:
- kshoji
- Date:
- Fri Dec 06 03:28:49 2013 +0000
- Parent:
- 0:78ea62ee7eab
- Commit message:
- example for sending MIDI messages
Changed in this revision
| USBHostMIDI.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 |
diff -r 78ea62ee7eab -r 01305cc0e2a2 USBHostMIDI.lib --- a/USBHostMIDI.lib Thu Dec 05 09:45:08 2013 +0000 +++ b/USBHostMIDI.lib Fri Dec 06 03:28:49 2013 +0000 @@ -1,1 +1,1 @@ -https://mbed.org/users/kshoji/code/USBHostMIDI/#bf09452b8f26 +https://mbed.org/users/kshoji/code/USBHostMIDI/#bd4759650fc0
diff -r 78ea62ee7eab -r 01305cc0e2a2 main.cpp
--- a/main.cpp Thu Dec 05 09:45:08 2013 +0000
+++ b/main.cpp Fri Dec 06 03:28:49 2013 +0000
@@ -1,6 +1,12 @@
#include "mbed.h"
#include "USBHostMIDI.h"
-
+
+// pots on the mbed application board
+AnalogIn pot1(p19);
+AnalogIn pot2(p20);
+unsigned int lastPot1;
+unsigned int lastPot2;
+
void noteOn(unsigned char channel, unsigned char note, unsigned char velocity) {
printf("note on channel: %d, note: %d, velocity: %d\r\n", channel, note, velocity);
}
@@ -23,7 +29,7 @@
void midi_task(void const*) {
USBHostMIDI midi;
-
+
// attach midi event callbacks
midi.attachNoteOn(noteOn);
midi.attachNoteOff(noteOff);
@@ -38,6 +44,21 @@
// if the device is disconnected, we try to connect it again
while (1) {
+ if (lastPot1 != pot1.read_u16() >> 9) {
+ lastPot1 = pot1.read_u16() >> 9;
+ // channel volume
+ midi.sendControlChange(0, 7, lastPot1);
+ }
+
+ if (lastPot2 != pot2.read_u16() >> 9) {
+ lastPot2 = pot2.read_u16() >> 9;
+ // program change
+ midi.sendProgramChange(0, lastPot2);
+ }
+
+ // midi.sendNoteOn(0, 60, 127);
+ // midi.sendNoteOff(0, 60, 0);
+
// if device disconnected, try to connect it again
if (!midi.connected())
break;
@@ -48,6 +69,8 @@
}
int main() {
+ lastPot1 = pot1.read_u16() >> 9;
+ lastPot2 = pot2.read_u16() >> 9;
Thread midiTask(midi_task, NULL, osPriorityNormal, 256 * 4);
while(1) {
Thread::wait(500);