Added new callback to the Audio Class driver to allow for endpoint control manipulati...
[pub/USBasp.git] / Demos / Device / ClassDriver / AudioInput / Descriptors.c
index bd31bdb..6fffd05 100644 (file)
@@ -54,7 +54,7 @@ const USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
        .Endpoint0Size          = FIXED_CONTROL_ENDPOINT_SIZE,
 
        .VendorID               = 0x03EB,
-       .ProductID              = 0x2047,
+       .ProductID              = 0x206B,
        .ReleaseNumber          = VERSION_BCD(00.01),
 
        .ManufacturerStrIndex   = 0x01,
@@ -191,7 +191,9 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 
        .Audio_AudioFormat =
                {
-                       .Header                   = {.Size = sizeof(USB_Audio_Descriptor_Format_t), .Type = DTYPE_CSInterface},
+                       .Header                   = {.Size = sizeof(USB_Audio_Descriptor_Format_t) +
+                                                            sizeof(ConfigurationDescriptor.Audio_AudioFormatSampleRates),
+                                                    .Type = DTYPE_CSInterface},
                        .Subtype                  = AUDIO_DSUBTYPE_CSInterface_FormatType,
 
                        .FormatType               = 0x01,
@@ -199,12 +201,17 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 
                        .SubFrameSize             = 0x02,
                        .BitResolution            = 16,
-                       .TotalDiscreteSampleRates = 1,
+
+                       .TotalDiscreteSampleRates = (sizeof(ConfigurationDescriptor.Audio_AudioFormatSampleRates) / sizeof(USB_Audio_SampleFreq_t))
                },
        
        .Audio_AudioFormatSampleRates =
                {
-                       AUDIO_SAMPLE_FREQ(AUDIO_SAMPLE_FREQUENCY)
+                       AUDIO_SAMPLE_FREQ(8000),
+                       AUDIO_SAMPLE_FREQ(11025),
+                       AUDIO_SAMPLE_FREQ(22050),
+                       AUDIO_SAMPLE_FREQ(44100),
+                       AUDIO_SAMPLE_FREQ(48000),
                },
 
        .Audio_StreamEndpoint =
@@ -228,7 +235,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
                        .Header                   = {.Size = sizeof(USB_Audio_Descriptor_StreamEndpoint_Spc_t), .Type = DTYPE_CSEndpoint},
                        .Subtype                  = AUDIO_DSUBTYPE_CSEndpoint_General,
 
-                       .Attributes               = AUDIO_EP_ACCEPTS_SMALL_PACKETS,
+                       .Attributes               = (AUDIO_EP_ACCEPTS_SMALL_PACKETS | AUDIO_EP_SAMPLE_FREQ_CONTROL),
 
                        .LockDelayUnits           = 0x00,
                        .LockDelay                = 0x0000