Documentation: Fix Doxygen grouping.
[pub/lufa.git] / LUFA / Drivers / USB / Class / Common / AudioClassCommon.h
index e97e7c9..b545dc4 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2012.
+     Copyright (C) Dean Camera, 2019.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2019  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
@@ -40,7 +40,7 @@
 /** \ingroup Group_USBClassAudio
  *  \defgroup Group_USBClassAudioCommon  Common Class Definitions
  *
- *  \section Sec_ModDescription Module Description
+ *  \section Sec_USBClassAudioCommon_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
  *  Audio 1.0 Class.
  *
@@ -65,7 +65,7 @@
 
        /* Macros: */
                /** \name Audio Channel Masks */
-               //@{
+               /**@{*/
                /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
                #define AUDIO_CHANNEL_LEFT_FRONT           (1 << 0)
 
 
                /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
                #define AUDIO_CHANNEL_TOP                  (1 << 11)
-               //@}
+               /**@}*/
 
                /** \name Audio Feature Masks */
-               //@{
+               /**@{*/
                /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
                #define AUDIO_FEATURE_MUTE                 (1 << 0)
 
 
                /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
                #define AUDIO_FEATURE_BASS_LOUDNESS        (1 << 9)
-               //@}
+               /**@}*/
 
                /** \name Audio Terminal Types */
-               //@{
+               /**@{*/
                /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
                #define AUDIO_TERMINAL_UNDEFINED           0x0100
 
 
                /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
                #define AUDIO_TERMINAL_OUT_LOWFREQ         0x0307
-               //@}
+               /**@}*/
 
                /** Convenience macro to fill a 24-bit \ref USB_Audio_SampleFreq_t structure with the given sample rate as a 24-bit number.
                 *
                                                                           */
                };
 
+               /** Enum for the Audio class specific descriptor types. */
+               enum AUDIO_DescriptorTypes_t
+               {
+                       AUDIO_DTYPE_CSInterface                     = 0x24, /**< Audio class specific Interface functional descriptor. */
+                       AUDIO_DTYPE_CSEndpoint                      = 0x25, /**< Audio class specific Endpoint functional descriptor. */
+               };
+
                /** Audio class specific interface description subtypes, for the Audio Control interface. */
                enum Audio_CSInterface_AC_SubTypes_t
                {
                                                          *   a value from the \ref Audio_CSInterface_AS_SubTypes_t enum.
                                                          */
 
-                       uint16_t                ACSpecification; /**< Binary coded decimal value, indicating the supported Audio Class specification version. */
+                       uint16_t                ACSpecification; /**< Binary Coded Decimal value, indicating the supported Audio Class specification version.
+                                                                 *
+                                                                 *   \see \ref VERSION_BCD() utility macro.
+                                                                 */
                        uint16_t                TotalLength; /**< Total length of the Audio class-specific descriptors, including this descriptor. */
 
                        uint8_t                 InCollection; /**< Total number of Audio Streaming interfaces linked to this Audio Control interface (must be 1). */
                                                     *   a value from the \ref Audio_CSInterface_AS_SubTypes_t enum.
                                                     */
 
-                       uint16_t bcdADC; /**< Binary coded decimal value, indicating the supported Audio Class specification version. */
+                       uint16_t bcdADC; /**< Binary coded decimal value, indicating the supported Audio Class specification version.
+                                         *
+                                         *   \see \ref VERSION_BCD() utility macro.
+                                         */
                        uint16_t wTotalLength; /**< Total length of the Audio class-specific descriptors, including this descriptor. */
 
                        uint8_t  bInCollection; /**< Total number of Audio Streaming interfaces linked to this Audio Control interface (must be 1). */
 
                /** \brief 24-Bit Audio Frequency Structure.
                 *
-                *  Type define for a 24bit audio sample frequency structure. As GCC does not contain a built in 24-bit datatype,
+                *  Type define for a 24-bit audio sample frequency structure. As GCC does not contain a built in 24-bit datatype,
                 *  this this structure is used to build up the value instead. Fill this structure with the \ref AUDIO_SAMPLE_FREQ() macro.
                 *
                 *  \note Regardless of CPU architecture, these values should be stored as little endian.