CI: Build on Arch (bleeding-ege) and Ubuntu (stable) AVR-GCC toolchains.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Common / AudioClassCommon.h
index 07f6db5..d855859 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2012.
+     Copyright (C) Dean Camera, 2018.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2018  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
@@ -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.
  *
                                                                           */
                };
 
+               /** 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.