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
297 const void * *
const DescriptorAddress)
299 const uint8_t DescriptorType = (wValue >> 8);
300 const uint8_t DescriptorNumber = (wValue & 0xFF);
302 const void *Address =
NULL;
305 switch (DescriptorType) {
317 switch (DescriptorNumber) {
320 Size = pgm_read_byte(&LanguageStringPtr->Header.Size);
325 Size = pgm_read_byte(&ManufacturerStringPtr->Header.Size);
330 Size = pgm_read_byte(&ProductStringPtr->Header.Size);
337 *DescriptorAddress = Address;