diff --git a/Demos/Device/ClassDriver/MIDI/MIDI.c b/Demos/Device/ClassDriver/MIDI/MIDI.c index 243ae9ec8a99559cd5c4f1697b86f877edd31500..fcb86d661e4aff010c97609d66bb330f05727395 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 7dfb0e780e155ed34012c14643ae08e90d3c48da..a52b037dc70e9c22dc7b6a9b7add1a7e5e41657a 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 18a2666c6e46351064ca7edf79582cb078acddbd..ba221c520aac2c6fd13b2a6370a4438780533d42 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))