57 .ManufacturerStrIndex = 0x01,
58 .ProductStrIndex = 0x02,
78 .ConfigurationNumber = 1,
86 .Audio_ControlInterface =
102 .Audio_ControlInterface_SPC =
113 .InterfaceNumber = 1,
116 .Audio_InputTerminal =
132 .Audio_OutputTerminal =
146 .Audio_StreamInterface_Alt0 =
162 .Audio_StreamInterface_Alt1 =
178 .Audio_StreamInterface_SPC =
199 .SubFrameSize = 0x02,
205 .Audio_AudioFormatSampleRates =
214 .Audio_StreamEndpoint =
230 .Audio_StreamEndpoint_SPC =
237 .LockDelayUnits = 0x00,
240 .Audio_Termination = 0x00
314 const void**
const DescriptorAddress)
316 const uint8_t DescriptorType = (wValue >> 8);
317 const uint8_t DescriptorNumber = (wValue & 0xFF);
319 const void* Address =
NULL;
322 switch (DescriptorType)
333 switch (DescriptorNumber)
337 Size = pgm_read_byte(&LanguageStringPtr->Header.Size);
341 Size = pgm_read_byte(&ManufacturerStringPtr->Header.Size);
345 Size = pgm_read_byte(&ProductStringPtr->Header.Size);
352 *DescriptorAddress = Address;