MIDI Class Device Mode Driver
[MIDI Class Driver - LUFA/Drivers/Class/MIDI.h]

Data Structures

struct  USB_ClassInfo_MIDI_Device_t

Functions

bool MIDI_Device_ConfigureEndpoints (USB_ClassInfo_MIDI_Device_t *const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
void MIDI_Device_ProcessControlRequest (USB_ClassInfo_MIDI_Device_t *const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
void MIDI_Device_USBTask (USB_ClassInfo_MIDI_Device_t *const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
uint8_t MIDI_Device_SendEventPacket (USB_ClassInfo_MIDI_Device_t *const MIDIInterfaceInfo, MIDI_EventPacket_t *const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2)
bool MIDI_Device_ReceiveEventPacket (USB_ClassInfo_MIDI_Device_t *const MIDIInterfaceInfo, MIDI_EventPacket_t *const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2)

Detailed Description

Module Source Dependencies

The following files must be built with any user project that uses this module:

Description

Device Mode USB Class driver framework interface, for the MIDI USB Class driver.


Function Documentation

bool MIDI_Device_ConfigureEndpoints ( USB_ClassInfo_MIDI_Device_t *const   MIDIInterfaceInfo  ) 

Configures the endpoints of a given MIDI interface, ready for use. This should be linked to the library EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing the given MIDI interface is selected.

Parameters:
[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state
Returns:
Boolean true if the endpoints were successfully configured, false otherwise
void MIDI_Device_ProcessControlRequest ( USB_ClassInfo_MIDI_Device_t *const   MIDIInterfaceInfo  ) 

Processes incoming control requests from the host, that are directed to the given MIDI class interface. This should be linked to the library EVENT_USB_Device_UnhandledControlRequest() event.

Parameters:
[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state
bool MIDI_Device_ReceiveEventPacket ( USB_ClassInfo_MIDI_Device_t *const   MIDIInterfaceInfo,
MIDI_EventPacket_t *const   Event 
)

Receives a MIDI event packet from the host.

Parameters:
[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state
[out] Event Pointer to a USB_MIDI_EventPacket_t structure where the received MIDI event is to be placed
Returns:
Boolean true if a MIDI event packet was received, false otherwise
uint8_t MIDI_Device_SendEventPacket ( USB_ClassInfo_MIDI_Device_t *const   MIDIInterfaceInfo,
MIDI_EventPacket_t *const   Event 
)

Sends a MIDI event packet to the host. If no host is connected, the event packet is discarded.

Parameters:
[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state
[in] Event Pointer to a populated USB_MIDI_EventPacket_t structure containing the MIDI event to send
Returns:
A value from the Endpoint_Stream_RW_ErrorCodes_t enum
void MIDI_Device_USBTask ( USB_ClassInfo_MIDI_Device_t *const   MIDIInterfaceInfo  ) 

General management task for a given MIDI class interface, required for the correct operation of the interface. This should be called frequently in the main program loop, before the master USB management task USB_USBTask().

Parameters:
[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state

Generated on Wed Dec 23 18:41:44 2009 for LUFA (Formerly MyUSB) Library by  doxygen 1.6.1