diff --git a/Demos/Device/ClassDriver/MIDI/MIDI.c b/Demos/Device/ClassDriver/MIDI/MIDI.c index 243ae9ec8a..fcb86d661e 100644 --- a/Demos/Device/ClassDriver/MIDI/MIDI.c +++ b/Demos/Device/ClassDriver/MIDI/MIDI.c @@ -67,6 +67,7 @@ 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); diff --git a/LUFA/Drivers/USB/Class/Common/MIDI.h b/LUFA/Drivers/USB/Class/Common/MIDI.h index 7dfb0e780e..a52b037dc7 100644 --- a/LUFA/Drivers/USB/Class/Common/MIDI.h +++ b/LUFA/Drivers/USB/Class/Common/MIDI.h @@ -137,7 +137,7 @@ /** Type define for a USB MIDI event packet, used to encapsulate sent and received MIDI messages from a USB MIDI interface. */ typedef struct { - unsigned char Command : 4; /**< MIDI command being sent or received in the event packet */ + unsigned char Command : 4; /**< Upper nibble of the MIDI command being sent or received in the event packet */ unsigned char CableNumber : 4; /**< Virtual cable number of the event being sent or received in the given MIDI interface */ uint8_t Data1; /**< First byte of data in the MIDI event */ diff --git a/LUFA/Drivers/USB/HighLevel/USBMode.h b/LUFA/Drivers/USB/HighLevel/USBMode.h index 18a2666c6e..ba221c520a 100644 --- a/LUFA/Drivers/USB/HighLevel/USBMode.h +++ b/LUFA/Drivers/USB/HighLevel/USBMode.h @@ -50,7 +50,9 @@ #error USB_HOST_ONLY is not available for the currently selected USB AVR model. #endif - #define USB_DEVICE_ONLY + #if !defined(USB_DEVICE_ONLY) + #define USB_DEVICE_ONLY + #endif #endif #if (!defined(USB_DEVICE_ONLY) && !defined(USB_HOST_ONLY))