Update library manual with the new XPLAINBridge project's dual mode bridge/programmer...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / Audio.h
index 02d3ae5..c6b68b0 100644 (file)
@@ -1,13 +1,13 @@
 /*\r
              LUFA Library\r
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
+     Copyright (C) Dean Camera, 2010.\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
 \r
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
 \r
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
                         *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state\r
                         */\r
                        void Audio_Device_ProcessControlRequest(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
                         *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state\r
                         */\r
                        void Audio_Device_ProcessControlRequest(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
-\r
-                       /** General management task for a given Audio class interface, required for the correct operation of the interface. This should\r
-                        *  be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().\r
-                        *\r
-                        *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state\r
-                        */\r
-                       void Audio_Device_USBTask(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
                        \r
                        /** Determines if the given audio interface is ready for a sample to be read from it, and selects the streaming\r
                         *  OUT endpoint ready for reading.\r
                         *\r
                        \r
                        /** Determines if the given audio interface is ready for a sample to be read from it, and selects the streaming\r
                         *  OUT endpoint ready for reading.\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
+                        *\r
                         *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state\r
                         *\r
                         *  \return Boolean true if the given Audio interface has a sample to be read, false otherwise\r
                         *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state\r
                         *\r
                         *  \return Boolean true if the given Audio interface has a sample to be read, false otherwise\r
                        /** Determines if the given audio interface is ready to accept the next sample to be written to it, and selects\r
                         *  the streaming IN endpoint ready for writing.\r
                         *\r
                        /** Determines if the given audio interface is ready to accept the next sample to be written to it, and selects\r
                         *  the streaming IN endpoint ready for writing.\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
+                        *\r
                         *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state\r
                         *\r
                         *  \return Boolean true if the given Audio interface is ready to accept the next sample, false otherwise\r
                         *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state\r
                         *\r
                         *  \return Boolean true if the given Audio interface is ready to accept the next sample, false otherwise\r
                        bool Audio_Device_IsReadyForNextSample(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo);\r
 \r
                /* Inline Functions: */\r
                        bool Audio_Device_IsReadyForNextSample(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo);\r
 \r
                /* Inline Functions: */\r
+                       /** General management task for a given Audio class interface, required for the correct operation of the interface. This should\r
+                        *  be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().\r
+                        *\r
+                        *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state\r
+                        */\r
+                       static inline void Audio_Device_USBTask(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo);\r
+                       static inline void Audio_Device_USBTask(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)\r
+                       {\r
+                               (void)AudioInterfaceInfo;\r
+                       }\r
+\r
                        /** Reads the next 8-bit audio sample from the current audio interface.\r
                         *\r
                         *  \note This should be preceded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that\r
                        /** Reads the next 8-bit audio sample from the current audio interface.\r
                         *\r
                         *  \note This should be preceded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that\r