Allow the title of top level pages to be overridden in the Atmel Studio help.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / AudioClassDevice.h
index 6b0c9ad..fa1ca95 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2012.
+     Copyright (C) Dean Camera, 2013.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -18,7 +18,7 @@
   advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
-  The author disclaim all warranties with regard to this
+  The author disclaims all warranties with regard to this
   software, including all implied warranties of merchantability
   and fitness.  In no event shall the author be liable for any
   special, indirect or consequential damages or any damages
                         */
                        typedef struct
                        {
-                               const struct
+                               struct
                                {
+                                       uint8_t  ControlInterfaceNumber; /**< Index of the Audio Control interface within the device this
+                                                                         *   structure controls.
+                                                                         */
                                        uint8_t  StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this
                                                                                                                *   structure controls.
                                                                                                                */
 
-                                       uint8_t  DataINEndpointNumber; /**< Endpoint number of the incoming Audio Streaming data, if available
-                                                                                                       *   (zero if unused).
-                                                                                                       */
-                                       uint16_t DataINEndpointSize; /**< Size in bytes of the incoming Audio Streaming data endpoint, if available
-                                                                                                 *   (zero if unused).
-                                                                                                 */
-
-                                       uint8_t  DataOUTEndpointNumber; /**< Endpoint number of the outgoing Audio Streaming data, if available
-                                                                                                        *   (zero if unused).
-                                                                                                        */
-                                       uint16_t DataOUTEndpointSize; /**< Size in bytes of the outgoing Audio Streaming data endpoint, if available
-                                                                                                  *   (zero if unused).
-                                                                                                  */
+                                       USB_Endpoint_Table_t DataINEndpoint; /**< Data IN endpoint configuration table. */
+                                       USB_Endpoint_Table_t DataOUTEndpoint; /**< Data OUT endpoint configuration table. */
                                } Config; /**< Config data for the USB class interface within the device. All elements in this section
                                           *   <b>must</b> be set or the interface will fail to enumerate and operate correctly.
                                           */
                         *
                         *  When the DataLength parameter is NULL, this callback should only indicate whether the specified operation is valid for
                         *  the given endpoint index, and should return as fast as possible. When non-NULL, this value may be altered for GET operations
-                        *  to indicate the size of the retreived data.
+                        *  to indicate the size of the retrieved data.
                         *
                         *  \note The length of the retrieved data stored into the Data buffer on GET operations should not exceed the initial value
                         *        of the \c DataLength parameter.
                         *
                         *  When the DataLength parameter is NULL, this callback should only indicate whether the specified operation is valid for
                         *  the given entity and should return as fast as possible. When non-NULL, this value may be altered for GET operations
-                        *  to indicate the size of the retreived data.
+                        *  to indicate the size of the retrieved data.
                         *
                         *  \note The length of the retrieved data stored into the Data buffer on GET operations should not exceed the initial value
                         *        of the \c DataLength parameter.
                                if ((USB_DeviceState != DEVICE_STATE_Configured) || !(AudioInterfaceInfo->State.InterfaceEnabled))
                                  return false;
 
-                               Endpoint_SelectEndpoint(AudioInterfaceInfo->Config.DataOUTEndpointNumber);
+                               Endpoint_SelectEndpoint(AudioInterfaceInfo->Config.DataOUTEndpoint.Address);
                                return Endpoint_IsOUTReceived();
                        }
 
                                if ((USB_DeviceState != DEVICE_STATE_Configured) || !(AudioInterfaceInfo->State.InterfaceEnabled))
                                  return false;
 
-                               Endpoint_SelectEndpoint(AudioInterfaceInfo->Config.DataINEndpointNumber);
+                               Endpoint_SelectEndpoint(AudioInterfaceInfo->Config.DataINEndpoint.Address);
                                return Endpoint_IsINReady();
                        }
 
                        {
                                Endpoint_Write_8(Sample);
 
-                               if (Endpoint_BytesInEndpoint() == AudioInterfaceInfo->Config.DataINEndpointSize)
+                               if (Endpoint_BytesInEndpoint() == AudioInterfaceInfo->Config.DataINEndpoint.Size)
                                  Endpoint_ClearIN();
                        }
 
                        {
                                Endpoint_Write_16_LE(Sample);
 
-                               if (Endpoint_BytesInEndpoint() == AudioInterfaceInfo->Config.DataINEndpointSize)
+                               if (Endpoint_BytesInEndpoint() == AudioInterfaceInfo->Config.DataINEndpoint.Size)
                                  Endpoint_ClearIN();
                        }
 
                                Endpoint_Write_16_LE(Sample);
                                Endpoint_Write_8(Sample >> 16);
 
-                               if (Endpoint_BytesInEndpoint() == AudioInterfaceInfo->Config.DataINEndpointSize)
+                               if (Endpoint_BytesInEndpoint() == AudioInterfaceInfo->Config.DataINEndpoint.Size)
                                  Endpoint_ClearIN();
                        }