56 .ManufacturerStrIndex = 0x01,
57 .ProductStrIndex = 0x02,
75 .ConfigurationNumber = 1,
83 .Audio_ControlInterface = {
98 .Audio_ControlInterface_SPC = {
108 .InterfaceNumber = 1,
111 .Audio_InputTerminal = {
126 .Audio_OutputTerminal = {
139 .Audio_StreamInterface_Alt0 = {
154 .Audio_StreamInterface_Alt1 = {
169 .Audio_StreamInterface_SPC = {
179 .Audio_AudioFormat = {
188 .SubFrameSize = 0x02,
191 .TotalDiscreteSampleRates =
195 .Audio_AudioFormatSampleRates = {
203 .Audio_StreamEndpoint = {
217 .Audio_StreamEndpoint_SPC = {
224 .LockDelayUnits = 0x00,
227 .Audio_Termination = 0x00
296 const void * *
const DescriptorAddress)
298 const uint8_t DescriptorType = (wValue >> 8);
299 const uint8_t DescriptorNumber = (wValue & 0xFF);
301 const void *Address =
NULL;
304 switch (DescriptorType) {
316 switch (DescriptorNumber) {
319 Size = pgm_read_byte(&LanguageStringPtr->Header.Size);
324 Size = pgm_read_byte(&ManufacturerStringPtr->Header.Size);
329 Size = pgm_read_byte(&ProductStringPtr->Header.Size);
336 *DescriptorAddress = Address;