SAMV71 Xplained Ultra Software Package 1.3

USBDDriverDescriptors.c

Go to the documentation of this file.
00001 /* ----------------------------------------------------------------------------
00002  *         SAM Software Package License 
00003  * ----------------------------------------------------------------------------
00004  * Copyright (c) 2012, Atmel Corporation
00005  *
00006  * All rights reserved.
00007  *
00008  * Redistribution and use in source and binary forms, with or without
00009  * modification, are permitted provided that the following conditions are met:
00010  *
00011  * - Redistributions of source code must retain the above copyright notice,
00012  * this list of conditions and the disclaimer below.
00013  *
00014  * Atmel's name may not be used to endorse or promote products derived from
00015  * this software without specific prior written permission.
00016  *
00017  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
00018  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00019  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
00020  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
00021  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00022  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
00023  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00024  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00025  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00026  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00027  * ----------------------------------------------------------------------------
00028  */
00029 
00030 /** \file
00031  * \addtogroup usbd_audio_speaker
00032  *@{
00033  */
00034 
00035 /*----------------------------------------------------------------------------
00036  *         Headers
00037  *----------------------------------------------------------------------------*/
00038 
00039 #include "board.h"
00040 #include "USBD_Config.h"
00041 #include "AUDDSpeakerDriver.h"
00042 
00043 /*----------------------------------------------------------------------------
00044  *         Definitions
00045  *----------------------------------------------------------------------------*/
00046 
00047 /** \addtogroup usbd_audio_stream USB Device Audio Speaker streams
00048  *      @{
00049  * This page lists codes for USB Audio Speaker stream information.
00050  * - \ref AUDDSpeakerDriver_SAMPLERATE
00051  * - \ref AUDDSpeakerDriver_NUMCHANNELS
00052  * - \ref AUDDSpeakerDriver_BYTESPERSAMPLE
00053  * - \ref AUDDSpeakerDriver_BITSPERSAMPLE
00054  * - \ref AUDDSpeakerDriver_SAMPLESPERFRAME
00055  * - \ref AUDDSpeakerDriver_BYTESPERFRAME
00056  */
00057 
00058 /** Sample rate in Hz. */
00059 #define AUDDSpeakerDriver_SAMPLERATE        AUDDevice_SAMPLERATE
00060 /** Number of bytes in one sample. */
00061 #define AUDDSpeakerDriver_BYTESPERSAMPLE    AUDDevice_BYTESPERSAMPLE
00062 /** Number of bits in one sample. */
00063 #define AUDDSpeakerDriver_BITSPERSAMPLE     AUDDevice_BITSPERSAMPLE
00064 /** Number of bytes in one USB subframe. */
00065 #define AUDDSpeakerDriver_BYTESPERSUBFRAME  AUDDevice_BYTESPERSUBFRAME
00066 /** Number of samples in one USB frame. */
00067 #define AUDDSpeakerDriver_SAMPLESPERFRAME   AUDDevice_SAMPLESPERFRAME
00068 /** Number of bytes in one USB frame. */
00069 #define AUDDSpeakerDriver_BYTESPERFRAME     AUDDevice_BYTESPERFRAME
00070 /**     @}*/
00071 
00072 /** \addtogroup usbd_audio_id USB Device Audio Speaker Codes
00073  *      @{
00074  * This section lists the device IDs and release number of the USB Audio
00075  * Speaker device.
00076  * - \ref AUDDSpeakerDriverDescriptors_VENDORID
00077  * - \ref AUDDSpeakerDriverDescriptors_PRODUCTID
00078  * - \ref AUDDSpeakerDriverDescriptors_RELEASE
00079  */
00080 /** Device vendor ID. */
00081 #define AUDDSpeakerDriverDescriptors_VENDORID            USBD_VID_ATMEL
00082 /** Device product ID. */
00083 #define AUDDSpeakerDriverDescriptors_PRODUCTID           USBD_PID_AUDIO
00084 /** Device release number in BCD format. */
00085 #define AUDDSpeakerDriverDescriptors_RELEASE             USBD_RELEASE_1_00
00086 /**     @}*/
00087 
00088 /*----------------------------------------------------------------------------
00089  *         Internal types
00090  *----------------------------------------------------------------------------*/
00091 
00092 
00093 /*----------------------------------------------------------------------------
00094  *         Exported variables
00095  *----------------------------------------------------------------------------*/
00096 
00097 /** Device descriptor for a USB audio speaker driver. */
00098 const USBDeviceDescriptor deviceDescriptor = {
00099 
00100     sizeof(USBDeviceDescriptor),
00101     USBGenericDescriptor_DEVICE,
00102     USBDeviceDescriptor_USB2_00,
00103     AUDDeviceDescriptor_CLASS,
00104     AUDDeviceDescriptor_SUBCLASS,
00105     AUDDeviceDescriptor_PROTOCOL,
00106     CHIP_USB_ENDPOINTS_MAXPACKETSIZE(0),
00107     AUDDSpeakerDriverDescriptors_VENDORID,
00108     AUDDSpeakerDriverDescriptors_PRODUCTID,
00109     AUDDSpeakerDriverDescriptors_RELEASE,
00110     1, /* Manufacturer string descriptor index */
00111     2, /* Product string descriptor index */
00112     3, /* Index of serial number string descriptor */
00113     1  /* One possible configuration */
00114 };
00115 
00116 
00117 /** Device qualifier descriptor (to pass USB test). */
00118 static const USBDeviceQualifierDescriptor qualifierDescriptor = {
00119 
00120     sizeof(USBDeviceQualifierDescriptor),
00121     USBGenericDescriptor_DEVICEQUALIFIER,
00122     USBDeviceDescriptor_USB2_00,
00123     AUDDeviceDescriptor_CLASS,
00124     AUDDeviceDescriptor_SUBCLASS,
00125     AUDDeviceDescriptor_PROTOCOL,
00126     CHIP_USB_ENDPOINTS_MAXPACKETSIZE(0),
00127     0, // Device has one possible configuration.
00128     0x00
00129 };
00130 /** Configuration descriptors for a USB audio speaker driver. */
00131 const AUDDSpeakerDriverConfigurationDescriptors fsConfigurationDescriptors = {
00132 
00133     /* Configuration descriptor */
00134     {
00135         sizeof(USBConfigurationDescriptor),
00136         USBGenericDescriptor_CONFIGURATION,
00137         sizeof(AUDDSpeakerDriverConfigurationDescriptors),
00138         2, /* This configuration has 2 interfaces */
00139         1, /* This is configuration #1 */
00140         0, /* No string descriptor */
00141         USBD_BMATTRIBUTES,
00142         USBConfigurationDescriptor_POWER(100)
00143     },
00144     /* Audio control interface standard descriptor */
00145     {
00146         sizeof(USBInterfaceDescriptor),
00147         USBGenericDescriptor_INTERFACE,
00148         AUDDSpeakerDriverDescriptors_CONTROL,
00149         0, /* This is alternate setting #0 */
00150         0, /* This interface uses no endpoint */
00151         AUDControlInterfaceDescriptor_CLASS,
00152         AUDControlInterfaceDescriptor_SUBCLASS,
00153         AUDControlInterfaceDescriptor_PROTOCOL,
00154         0  /* No string descriptor */
00155     },
00156     /* Audio control interface descriptors */
00157     {
00158         /* Header descriptor */
00159         {
00160             {
00161                 sizeof(AUDHeaderDescriptor1),
00162                 AUDGenericDescriptor_INTERFACE,
00163                 AUDGenericDescriptor_HEADER,
00164                 AUDHeaderDescriptor_AUD1_00,
00165                 sizeof(AUDDSpeakerDriverAudioControlDescriptors),
00166                 1 /* One streaming interface */
00167             },
00168             AUDDSpeakerDriverDescriptors_STREAMING
00169         },
00170         /* Input terminal descriptor */
00171         {
00172             sizeof(AUDInputTerminalDescriptor),
00173             AUDGenericDescriptor_INTERFACE,
00174             AUDGenericDescriptor_INPUTTERMINAL,
00175             AUDDSpeakerDriverDescriptors_INPUTTERMINAL,
00176             AUDInputTerminalDescriptor_USBSTREAMING,
00177             AUDDSpeakerDriverDescriptors_OUTPUTTERMINAL,
00178             AUDDSpeakerDriver_NUMCHANNELS,
00179             AUDInputTerminalDescriptor_LEFTFRONT
00180             | AUDInputTerminalDescriptor_RIGHTFRONT,
00181             0, /* No string descriptor for channels */
00182             0  /* No string descriptor for input terminal */
00183         },
00184         /* Output terminal descriptor */
00185         {
00186             sizeof(AUDOutputTerminalDescriptor),
00187             AUDGenericDescriptor_INTERFACE,
00188             AUDGenericDescriptor_OUTPUTTERMINAL,
00189             AUDDSpeakerDriverDescriptors_OUTPUTTERMINAL,
00190             AUDOutputTerminalDescriptor_SPEAKER,
00191             AUDDSpeakerDriverDescriptors_INPUTTERMINAL,
00192             AUDDSpeakerDriverDescriptors_FEATUREUNIT,
00193             0 /* No string descriptor */
00194         },
00195         /* Feature unit descriptor */
00196         {
00197             {
00198                 sizeof(AUDFeatureUnitDescriptor3),
00199                 AUDGenericDescriptor_INTERFACE,
00200                 AUDGenericDescriptor_FEATUREUNIT,
00201                 AUDDSpeakerDriverDescriptors_FEATUREUNIT,
00202                 AUDDSpeakerDriverDescriptors_INPUTTERMINAL,
00203                 1, /* 1 byte per channel for controls */
00204             },
00205             {
00206                 AUDFeatureUnitDescriptor_MUTE, /* Master channel controls */
00207                 0, /* Right channel controls */
00208                 0  /* Left channel controls */
00209             },
00210             0 /* No string descriptor */
00211         }
00212     },
00213     /* Audio streaming interface with 0 endpoints */
00214     {
00215         sizeof(USBInterfaceDescriptor),
00216         USBGenericDescriptor_INTERFACE,
00217         AUDDSpeakerDriverDescriptors_STREAMING,
00218         0, /* This is alternate setting #0 */
00219         0, /* This interface uses no endpoints */
00220         AUDStreamingInterfaceDescriptor_CLASS,
00221         AUDStreamingInterfaceDescriptor_SUBCLASS,
00222         AUDStreamingInterfaceDescriptor_PROTOCOL,
00223         0  /* No string descriptor */
00224     },
00225     /* Audio streaming interface with data endpoint */
00226     {
00227         sizeof(USBInterfaceDescriptor),
00228         USBGenericDescriptor_INTERFACE,
00229         AUDDSpeakerDriverDescriptors_STREAMING,
00230         1, /* This is alternate setting #1 */
00231         1, /* This interface uses 1 endpoint */
00232         AUDStreamingInterfaceDescriptor_CLASS,
00233         AUDStreamingInterfaceDescriptor_SUBCLASS,
00234         AUDStreamingInterfaceDescriptor_PROTOCOL,
00235         0  /* No string descriptor */
00236     },
00237     /* Audio streaming class-specific descriptor */
00238     {
00239         sizeof(AUDStreamingInterfaceDescriptor),
00240         AUDGenericDescriptor_INTERFACE,
00241         AUDStreamingInterfaceDescriptor_GENERAL,
00242         AUDDSpeakerDriverDescriptors_INPUTTERMINAL,
00243         0, /* No internal delay because of data path */
00244         AUDFormatTypeOneDescriptor_PCM
00245     },
00246     /* Format type I descriptor */
00247     {
00248         {
00249             sizeof(AUDFormatTypeOneDescriptor1),
00250             AUDGenericDescriptor_INTERFACE,
00251             AUDStreamingInterfaceDescriptor_FORMATTYPE,
00252             AUDFormatTypeOneDescriptor_FORMATTYPEONE,
00253             AUDDSpeakerDriver_NUMCHANNELS,
00254             AUDDSpeakerDriver_BYTESPERSAMPLE,
00255             AUDDSpeakerDriver_BYTESPERSAMPLE*8,
00256             1 /* One discrete frequency supported */
00257         },
00258         {
00259             AUDDSpeakerDriver_SAMPLERATE & 0xFF,
00260             (AUDDSpeakerDriver_SAMPLERATE >> 8) & 0xFF,
00261             (AUDDSpeakerDriver_SAMPLERATE >> 16) & 0xFF
00262         }
00263     },
00264     /* Audio streaming endpoint standard descriptor */
00265     {
00266         sizeof(AUDEndpointDescriptor),
00267         USBGenericDescriptor_ENDPOINT,
00268         USBEndpointDescriptor_ADDRESS(
00269             USBEndpointDescriptor_OUT,
00270             AUDDSpeakerDriverDescriptors_DATAOUT),
00271         USBEndpointDescriptor_ISOCHRONOUS,
00272         AUDDevice_BYTESPERFRAME,
00273         AUDDSpeakerDriverDescriptors_FS_INTERVAL, /* Polling interval = 1 ms */
00274         0, /* This is not a synchronization endpoint */
00275         0  /* No associated synchronization endpoint */
00276     },
00277     /* Audio streaming endpoint class-specific descriptor */
00278     {
00279         sizeof(AUDDataEndpointDescriptor),
00280         AUDGenericDescriptor_ENDPOINT,
00281         AUDDataEndpointDescriptor_SUBTYPE,
00282         0, /* No attributes */
00283         0, /* Endpoint is not synchronized */
00284         0  /* Endpoint is not synchronized */
00285     }
00286 };
00287 
00288 /** Configuration descriptors for a USB audio speaker driver. */
00289 const AUDDSpeakerDriverConfigurationDescriptors hsConfigurationDescriptors = {
00290 
00291     /* Configuration descriptor */
00292     {
00293         sizeof(USBConfigurationDescriptor),
00294         USBGenericDescriptor_CONFIGURATION,
00295         sizeof(AUDDSpeakerDriverConfigurationDescriptors),
00296         2, /* This configuration has 2 interfaces */
00297         1, /* This is configuration #1 */
00298         0, /* No string descriptor */
00299         USBD_BMATTRIBUTES,
00300         USBConfigurationDescriptor_POWER(100)
00301     },
00302     /* Audio control interface standard descriptor */
00303     {
00304         sizeof(USBInterfaceDescriptor),
00305         USBGenericDescriptor_INTERFACE,
00306         AUDDSpeakerDriverDescriptors_CONTROL,
00307         0, /* This is alternate setting #0 */
00308         0, /* This interface uses no endpoint */
00309         AUDControlInterfaceDescriptor_CLASS,
00310         AUDControlInterfaceDescriptor_SUBCLASS,
00311         AUDControlInterfaceDescriptor_PROTOCOL,
00312         0  /* No string descriptor */
00313     },
00314     /* Audio control interface descriptors */
00315     {
00316         /* Header descriptor */
00317         {
00318             {
00319                 sizeof(AUDHeaderDescriptor1),
00320                 AUDGenericDescriptor_INTERFACE,
00321                 AUDGenericDescriptor_HEADER,
00322                 AUDHeaderDescriptor_AUD1_00,
00323                 sizeof(AUDDSpeakerDriverAudioControlDescriptors),
00324                 1 /* One streaming interface */
00325             },
00326             AUDDSpeakerDriverDescriptors_STREAMING
00327         },
00328         /* Input terminal descriptor */
00329         {
00330             sizeof(AUDInputTerminalDescriptor),
00331             AUDGenericDescriptor_INTERFACE,
00332             AUDGenericDescriptor_INPUTTERMINAL,
00333             AUDDSpeakerDriverDescriptors_INPUTTERMINAL,
00334             AUDInputTerminalDescriptor_USBSTREAMING,
00335             AUDDSpeakerDriverDescriptors_OUTPUTTERMINAL,
00336             AUDDSpeakerDriver_NUMCHANNELS,
00337             AUDInputTerminalDescriptor_LEFTFRONT
00338             | AUDInputTerminalDescriptor_RIGHTFRONT,
00339             0, /* No string descriptor for channels */
00340             0  /* No string descriptor for input terminal */
00341         },
00342         /* Output terminal descriptor */
00343         {
00344             sizeof(AUDOutputTerminalDescriptor),
00345             AUDGenericDescriptor_INTERFACE,
00346             AUDGenericDescriptor_OUTPUTTERMINAL,
00347             AUDDSpeakerDriverDescriptors_OUTPUTTERMINAL,
00348             AUDOutputTerminalDescriptor_SPEAKER,
00349             AUDDSpeakerDriverDescriptors_INPUTTERMINAL,
00350             AUDDSpeakerDriverDescriptors_FEATUREUNIT,
00351             0 /* No string descriptor */
00352         },
00353         /* Feature unit descriptor */
00354         {
00355             {
00356                 sizeof(AUDFeatureUnitDescriptor3),
00357                 AUDGenericDescriptor_INTERFACE,
00358                 AUDGenericDescriptor_FEATUREUNIT,
00359                 AUDDSpeakerDriverDescriptors_FEATUREUNIT,
00360                 AUDDSpeakerDriverDescriptors_INPUTTERMINAL,
00361                 1, /* 1 byte per channel for controls */
00362             },
00363             {
00364                 AUDFeatureUnitDescriptor_MUTE, /* Master channel controls */
00365                 0, /* Right channel controls */
00366                 0  /* Left channel controls */
00367             },
00368             0 /* No string descriptor */
00369         }
00370     },
00371     /* Audio streaming interface with 0 endpoints */
00372     {
00373         sizeof(USBInterfaceDescriptor),
00374         USBGenericDescriptor_INTERFACE,
00375         AUDDSpeakerDriverDescriptors_STREAMING,
00376         0, /* This is alternate setting #0 */
00377         0, /* This interface uses no endpoints */
00378         AUDStreamingInterfaceDescriptor_CLASS,
00379         AUDStreamingInterfaceDescriptor_SUBCLASS,
00380         AUDStreamingInterfaceDescriptor_PROTOCOL,
00381         0  /* No string descriptor */
00382     },
00383     /* Audio streaming interface with data endpoint */
00384     {
00385         sizeof(USBInterfaceDescriptor),
00386         USBGenericDescriptor_INTERFACE,
00387         AUDDSpeakerDriverDescriptors_STREAMING,
00388         1, /* This is alternate setting #1 */
00389         1, /* This interface uses 1 endpoint */
00390         AUDStreamingInterfaceDescriptor_CLASS,
00391         AUDStreamingInterfaceDescriptor_SUBCLASS,
00392         AUDStreamingInterfaceDescriptor_PROTOCOL,
00393         0  /* No string descriptor */
00394     },
00395     /* Audio streaming class-specific descriptor */
00396     {
00397         sizeof(AUDStreamingInterfaceDescriptor),
00398         AUDGenericDescriptor_INTERFACE,
00399         AUDStreamingInterfaceDescriptor_GENERAL,
00400         AUDDSpeakerDriverDescriptors_INPUTTERMINAL,
00401         0, /* No internal delay because of data path */
00402         AUDFormatTypeOneDescriptor_PCM
00403     },
00404     /* Format type I descriptor */
00405     {
00406         {
00407             sizeof(AUDFormatTypeOneDescriptor1),
00408             AUDGenericDescriptor_INTERFACE,
00409             AUDStreamingInterfaceDescriptor_FORMATTYPE,
00410             AUDFormatTypeOneDescriptor_FORMATTYPEONE,
00411             AUDDSpeakerDriver_NUMCHANNELS,
00412             AUDDSpeakerDriver_BYTESPERSAMPLE,
00413             AUDDSpeakerDriver_BYTESPERSAMPLE*8,
00414             1 /* One discrete frequency supported */
00415         },
00416         {
00417             AUDDSpeakerDriver_SAMPLERATE & 0xFF,
00418             (AUDDSpeakerDriver_SAMPLERATE >> 8) & 0xFF,
00419             (AUDDSpeakerDriver_SAMPLERATE >> 16) & 0xFF
00420         }
00421     },
00422     /* Audio streaming endpoint standard descriptor */
00423     {
00424         sizeof(AUDEndpointDescriptor),
00425         USBGenericDescriptor_ENDPOINT,
00426         USBEndpointDescriptor_ADDRESS(
00427             USBEndpointDescriptor_OUT,
00428             AUDDSpeakerDriverDescriptors_DATAOUT),
00429         USBEndpointDescriptor_ISOCHRONOUS,
00430         AUDDevice_BYTESPERFRAME,
00431         AUDDSpeakerDriverDescriptors_HS_INTERVAL, /* Polling interval = 1 ms */
00432         0, /* This is not a synchronization endpoint */
00433         0  /* No associated synchronization endpoint */
00434     },
00435     /* Audio streaming endpoint class-specific descriptor */
00436     {
00437         sizeof(AUDDataEndpointDescriptor),
00438         AUDGenericDescriptor_ENDPOINT,
00439         AUDDataEndpointDescriptor_SUBTYPE,
00440         0, /* No attributes */
00441         0, /* Endpoint is not synchronized */
00442         0  /* Endpoint is not synchronized */
00443     }
00444 };
00445 
00446 /** String descriptor with the supported languages. */
00447 const unsigned char languageIdDescriptor[] = {
00448 
00449     USBStringDescriptor_LENGTH(1),
00450     USBGenericDescriptor_STRING,
00451     USBStringDescriptor_ENGLISH_US
00452 };
00453 
00454 /** Manufacturer name. */
00455 const unsigned char manufacturerDescriptor[] = {
00456 
00457     USBStringDescriptor_LENGTH(5),
00458     USBGenericDescriptor_STRING,
00459     USBStringDescriptor_UNICODE('A'),
00460     USBStringDescriptor_UNICODE('t'),
00461     USBStringDescriptor_UNICODE('m'),
00462     USBStringDescriptor_UNICODE('e'),
00463     USBStringDescriptor_UNICODE('l')
00464 };
00465 
00466 /** Product name. */
00467 const unsigned char productDescriptor[] = {
00468 
00469     USBStringDescriptor_LENGTH(15),
00470     USBGenericDescriptor_STRING,
00471     USBStringDescriptor_UNICODE('D'),
00472     USBStringDescriptor_UNICODE('e'),
00473     USBStringDescriptor_UNICODE('s'),
00474     USBStringDescriptor_UNICODE('k'),
00475     USBStringDescriptor_UNICODE('t'),
00476     USBStringDescriptor_UNICODE('o'),
00477     USBStringDescriptor_UNICODE('p'),
00478     USBStringDescriptor_UNICODE(' '),
00479     USBStringDescriptor_UNICODE('s'),
00480     USBStringDescriptor_UNICODE('p'),
00481     USBStringDescriptor_UNICODE('e'),
00482     USBStringDescriptor_UNICODE('a'),
00483     USBStringDescriptor_UNICODE('k'),
00484     USBStringDescriptor_UNICODE('e'),
00485     USBStringDescriptor_UNICODE('r')
00486 };
00487 
00488 /** Product serial number. */
00489 const unsigned char serialNumberDescriptor[] = {
00490 
00491     USBStringDescriptor_LENGTH(4),
00492     USBGenericDescriptor_STRING,
00493     USBStringDescriptor_UNICODE('0'),
00494     USBStringDescriptor_UNICODE('1'),
00495     USBStringDescriptor_UNICODE('2'),
00496     USBStringDescriptor_UNICODE('3')
00497 };
00498 
00499 /** Array of pointers to the four string descriptors. */
00500 const unsigned char *stringDescriptors[] = {
00501 
00502     languageIdDescriptor,
00503     manufacturerDescriptor,
00504     productDescriptor,
00505     serialNumberDescriptor,
00506 };
00507 
00508 /*----------------------------------------------------------------------------
00509  *         Exported functions
00510  *----------------------------------------------------------------------------*/
00511 
00512 /** List of descriptors required by an USB audio speaker device driver. */
00513 const USBDDriverDescriptors auddSpeakerDriverDescriptors = {
00514 
00515     &deviceDescriptor,
00516     (const USBConfigurationDescriptor *) &fsConfigurationDescriptors,
00517     &qualifierDescriptor,
00518     0,
00519     0,
00520     (const USBConfigurationDescriptor *) &hsConfigurationDescriptors,
00521     &qualifierDescriptor,
00522     0,
00523     stringDescriptors, 4 /* Number of string descriptors */
00524 };
00525 
00526 /**@}*/
00527 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines