X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/74b7c07e96562158de294f92baed4c83b4fce970..ab76c52e1414c55a2f594999ca2a04918bbc7143:/LUFA/Drivers/USB/Class/Device/MIDI.c diff --git a/LUFA/Drivers/USB/Class/Device/MIDI.c b/LUFA/Drivers/USB/Class/Device/MIDI.c index 9b4cd4b04..a2ab0beb4 100644 --- a/LUFA/Drivers/USB/Class/Device/MIDI.c +++ b/LUFA/Drivers/USB/Class/Device/MIDI.c @@ -28,9 +28,17 @@ this software. */ +#include "../../HighLevel/USBMode.h" +#if defined(USB_CAN_BE_DEVICE) + #include "MIDI.h" -bool USB_MIDI_ConfigureEndpoints(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo) +void MIDI_Device_ProcessControlPacket(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo) +{ + +} + +bool MIDI_Device_ConfigureEndpoints(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo) { if (MIDIInterfaceInfo->DataINEndpointNumber) { @@ -55,39 +63,26 @@ bool USB_MIDI_ConfigureEndpoints(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo) return true; } -void USB_MIDI_SendNoteChange(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo, const uint8_t Pitch, const bool OnOff, - const uint8_t CableID, const uint8_t Channel) +void MIDI_Device_USBTask(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo) { - if (!(USB_IsConnected)) - return; - - Endpoint_SelectEndpoint(MIDIInterfaceInfo->DataINEndpointNumber); - while (!(Endpoint_IsReadWriteAllowed())); - - uint8_t Command = ((OnOff)? MIDI_COMMAND_NOTE_ON : MIDI_COMMAND_NOTE_OFF); - Endpoint_Write_Byte((CableID << 4) | (Command >> 4)); - - Endpoint_Write_Byte(Command | Channel); - Endpoint_Write_Byte(Pitch); - Endpoint_Write_Byte(MIDI_STANDARD_VELOCITY); - - Endpoint_ClearIN(); } -void USB_MIDI_SendEventPacket(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo, USB_MIDI_EventPacket_t* Event) +void MIDI_Device_SendEventPacket(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo, USB_MIDI_EventPacket_t* Event) { if (!(USB_IsConnected)) return; Endpoint_SelectEndpoint(MIDIInterfaceInfo->DataINEndpointNumber); - while (!(Endpoint_IsReadWriteAllowed())); - Endpoint_Write_Stream_LE(Event, sizeof(USB_MIDI_EventPacket_t), NO_STREAM_CALLBACK); - Endpoint_ClearIN(); + if (Endpoint_IsReadWriteAllowed()); + { + Endpoint_Write_Stream_LE(Event, sizeof(USB_MIDI_EventPacket_t), NO_STREAM_CALLBACK); + Endpoint_ClearIN(); + } } -bool USB_MIDI_ReceiveEventPacket(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo, USB_MIDI_EventPacket_t* Event) +bool MIDI_Device_ReceiveEventPacket(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo, USB_MIDI_EventPacket_t* Event) { if (!(USB_IsConnected)) return false; @@ -102,3 +97,5 @@ bool USB_MIDI_ReceiveEventPacket(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo, USB_MI return true; } + +#endif