Add FatFS library to the Webserver project, extend the HTTP server so that it now...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / MIDI.h
index fef7890..8517782 100644 (file)
                         */             \r
                        void MIDI_Device_ProcessControlRequest(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** Sends a MIDI event packet to the host. If no host is connected, the event packet is discarded.\r
+                       /** Sends a MIDI event packet to the host. If no host is connected, the event packet is discarded. Events are queued into the\r
+                        *  endpoint bank until either the endpoint bank is full, or \ref MIDI_Device_Flush() is called. This allows for multiple\r
+                        *  MIDI events to be packed into a single endpoint packet, increasing data throughput.\r
                         *\r
                         *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or\r
                         *        the call will fail.\r
                        uint8_t MIDI_Device_SendEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo,\r
                                                            MIDI_EventPacket_t* const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);\r
 \r
-                       /** Receives a MIDI event packet from the host.\r
+\r
+                       /** Flushes the MIDI send buffer, sending any queued MIDI events to the host. This should be called to override the\r
+                        *  \ref MIDI_Device_SendEventPacket() function's packing behaviour, to flush queued events.\r
+                        *\r
+                        *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state\r
+                        *\r
+                        *  \return A value from the \ref Endpoint_WaitUntilReady_ErrorCodes_t enum\r
+                        */\r
+                       uint8_t MIDI_Device_Flush(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo);\r
+\r
+                       /** Receives a MIDI event packet from the host. Events are unpacked from the endpoint, thus if the endpoint bank contains\r
+                        *  multiple MIDI events from the host in the one packet, multiple calls to this function will return each individual event.\r
                         *\r
                         *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or\r
                         *        the call will fail.\r