Added new callback to the Audio Class driver to allow for endpoint control manipulations such as data sample rates.
Modified the Class Driver AudioInput and AudioOutput demos to support multiple sample rates. Fixed KeyboardHost and KeyboardHostWithParser demos displaying incorrect values when numerical keys were pressed. Fix broken LowLevel audio demo descriptors. Minor documentation fixes.
This commit is contained in:
@@ -54,7 +54,7 @@ const USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
|
||||
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
|
||||
|
||||
.VendorID = 0x03EB,
|
||||
.ProductID = 0x2046,
|
||||
.ProductID = 0x206C,
|
||||
.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,
|
||||
@@ -200,12 +202,16 @@ 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 =
|
||||
@@ -229,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
|
||||
|
||||
Reference in New Issue
Block a user