aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/ClassDriver/MIDI/MIDI.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-09-30 04:40:36 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-09-30 04:40:36 +0000
commit89c837ee34db186f7b1f859f767d587036573c4c (patch)
tree0fd7efe823b1924c89628052398851e54b92fe06 /Demos/Device/ClassDriver/MIDI/MIDI.c
parent059ebd01a3f34ce288adfe30c6cd5b88553882fa (diff)
downloadlufa-89c837ee34db186f7b1f859f767d587036573c4c.tar.gz
lufa-89c837ee34db186f7b1f859f767d587036573c4c.tar.bz2
lufa-89c837ee34db186f7b1f859f767d587036573c4c.zip
Removed mostly useless "TestApp" demo, as it was mainly useful only for checking for sytax errors in the library.
MIDI device demos now receive MIDI events from the host and display note ON messages via the board LEDs. Added beginnings of a MIDI class bootloader.
Diffstat (limited to 'Demos/Device/ClassDriver/MIDI/MIDI.c')
-rw-r--r--Demos/Device/ClassDriver/MIDI/MIDI.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/Demos/Device/ClassDriver/MIDI/MIDI.c b/Demos/Device/ClassDriver/MIDI/MIDI.c
index f1a0d9afc..d50a254a2 100644
--- a/Demos/Device/ClassDriver/MIDI/MIDI.c
+++ b/Demos/Device/ClassDriver/MIDI/MIDI.c
@@ -67,9 +67,14 @@ int main(void)
{
CheckJoystickMovement();
- /* Must acknowedge MIDI packets from the host even though they aren't used, or the host locks up */
- MIDI_EventPacket_t DummyMIDIEvent;
- MIDI_Device_ReceiveEventPacket(&Keyboard_MIDI_Interface, &DummyMIDIEvent);
+ MIDI_EventPacket_t ReceivedMIDIEvent;
+ if (MIDI_Device_ReceiveEventPacket(&Keyboard_MIDI_Interface, &ReceivedMIDIEvent))
+ {
+ if (ReceivedMIDIEvent.Command == (MIDI_COMMAND_NOTE_ON >> 4))
+ LEDs_SetAllLEDs(ReceivedMIDIEvent.Data2 > 64 ? LEDS_LED1 : LEDS_LED2);
+ else
+ LEDs_SetAllLEDs(LEDS_NO_LEDS);
+ }
MIDI_Device_USBTask(&Keyboard_MIDI_Interface);
USB_USBTask();