Offset | Field | Size | Value | Description |
0 | bLength | 1 | 0x0C | Size of this descriptor, in bytes. |
1 | bDescriptorType | 1 | 0x24 | CS_INTERFACE descriptor (AUDGenericDescriptor_INTERFACE). |
2 | bDescriptorSubType | 1 | 0x03 | INPUT_TERMINAL subtype (AUDGenericDescriptor_INPUTTERMINAL). |
3 | bTerminalID | 1 | 0x03 | ID of this Input Terminal (AUDDSpeakerDriverDescriptors_INPUTTERMINAL_REC). |
4 | wTerminalType | 2 | 0x0403 | Terminal is Speaker Phone (AUDInputTerminalDescriptor_SPEAKERPHONE). |
6 | bAssocTerminal | 1 | 0x04 | Associated to Output Terminal (AUDDSpeakerDriverDescriptors_OUTPUTTERMINAL_REC). |
7 | bNrChannels | 1 | 0x02 | Two channel. |
8 | wChannelConfig | 2 | 0x0003 | Left plus right front channel. |
10 | iChannelNames | 1 | 0x00 | Unused. |
11 | iTerminal | 1 | 0x00 | Unused. |
Offset | Field | Size | Value | Description |
0 | bLength | 1 | 0x09 | Size of this descriptor, in bytes. |
1 | bDescriptorType | 1 | 0x24 | CS_INTERFACE descriptor (AUDGenericDescriptor_INTERFACE). |
2 | bDescriptorSubType | 1 | 0x04 | OUTPUT_TERMINAL subtype (AUDGenericDescriptor_OUTPUTTERMINAL). |
3 | bTerminalID | 1 | 0x04 | ID of this Output Terminal (AUDDSpeakerDriverDescriptors_OUTPUTTERMINAL_REC). |
4 | wTerminalType | 2 | 0x0301 | Terminal is USB stream (AUDOutputTerminalDescriptor_USBTREAMING). |
6 | bAssocTerminal | 1 | 0x03 | Associated to Input Terminal (AUDDSpeakerDriverDescriptors_INPUTTERMINAL_REC). |
7 | bSourceID | 1 | 0x05 | From Feature Unit (AUDDSpeakerDriverDescriptors_FEATUREUNIT_REC). |
8 | iTerminal | 1 | 0x00 | Unused. |
Offset | Field | Size | Value | Description |
0 | bLength | 1 | 0x0A | Size of this descriptor, in bytes. |
1 | bDescriptorType | 1 | 0x24 | CS_INTERFACE descriptor (AUDGenericDescriptor_INTERFACE). |
2 | bDescriptorSubType | 1 | 0x02 | FEATURE_UNIT subtype (AUDGenericDescriptor_FEATUREUNIT). |
3 | bUnitID | 1 | 0x05 | ID of this Feature Unit (AUDDSpeakerDriverDescriptors_FEATUREUNIT_REC). |
4 | bSourceID | 1 | 0x03 | From Input Terminal (AUDDSpeakerDriverDescriptors_INPUTTERMINAL_REC). |
5 | bControlSize | 1 | 0x01 | 1 byte per channel for controls |
6 | bmaControls | 3 | 0x000001 | Master channel mute control, no other controls. |
9 | iFeature | 1 | 0x00 | Unused. |
Offset | Field | Size | Value | Description |
0 | bLength | 1 | 0x09 | Size of this descriptor, in bytes. |
1 | bDescriptorType | 1 | 0x04 | INTERFACE descriptor (USBGenericDescriptor_INTERFACE). |
2 | bInterfaceNumber | 1 | 0x02 | Index of this interface. |
3 | bAlternateSetting | 1 | 0x00 | Index of this setting. |
4 | bNumEndpoints | 1 | 0x00 | 0 endpoint. |
5 | bInterfaceClass | 1 | 0x01 | AUDIO (AUDStreamingInterfaceDescriptor_CLASS). |
6 | bInterfaceSubClass | 1 | 0x02 | AUDIO_STREAMING (AUDStreamingInterfaceDescriptor_SUBCLASS). |
7 | bInterfaceProtocol | 1 | 0x00 | Unused (AUDStreamingInterfaceDescriptor_PROTOCOL). |
8 | iInterface | 1 | 0x00 | Unused. |
Offset | Field | Size | Value | Description |
0 | bLength | 1 | 0x09 | Size of USBInterfaceDescriptor in bytes. |
1 | bDescriptorType | 1 | 0x04 | INTERFACE descriptor (USBGenericDescriptor_INTERFACE). |
2 | bInterfaceNumber | 1 | 0x02 | Index of this interface. |
3 | bAlternateSetting | 1 | 0x01 | Index of this setting. |
4 | bNumEndpoints | 1 | 0x01 | 1 endpoint. |
5 | bInterfaceClass | 1 | 0x01 | AUDIO (AUDStreamingInterfaceDescriptor_CLASS). |
6 | bInterfaceSubClass | 1 | 0x02 | AUDIO_STREAMING (AUDStreamingInterfaceDescriptor_SUBCLASS). |
7 | bInterfaceProtocol | 1 | 0x00 | Unused (AUDStreamingInterfaceDescriptor_PROTOCOL). |
8 | iInterface | 1 | 0x00 | Unused. |
Offset | Field | Size | Value | Description |
0 | bLength | 1 | 0x06 | Size of AUDStreamingInterfaceDescriptor in bytes. |
1 | bDescriptorType | 1 | 0x24 | CS_INTERFACE descriptor (AUDGenericDescriptor_INTERFACE). |
2 | bDescriptorSubType | 1 | 0x01 | GENERAL subtype (AUDStreamingInterfaceDescriptor_GENERAL). |
3 | bTerminalLink | 1 | 0x02 | Unit ID of the Input Terminal (AUDDSpeakerDriverDescriptors_INPUTTERMINAL). |
4 | bDelay | 1 | 0x00 | No interface delay. |
5 | wFormatTag | 2 | 0x0001 | PCM Format (AUDFormatTypeOneDescriptor_PCM). |
Offset | Field | Size | Value | Description |
0 | bLength | 1 | 0x0B | Size of AUDFormatTypeOneDescriptor1 in bytes. |
1 | bDescriptorType | 1 | 0x24 | CS_INTERFACE descriptor (AUDGenericDescriptor_INTERFACE). |
2 | bDescriptorSubType | 1 | 0x02 | FORMAT_TYPE subtype (AUDStreamingInterfaceDescriptor_FORMATTYPE). |
3 | bFormatType | 1 | 0x01 | FORMAT_TYPE_I (AUDFormatTypeOneDescriptor_FORMATTYPEONE). |
4 | bNrChannels | 1 | 0x02 | 2 channels (AUDDSpeakerDriver_NUMCHANNELS). |
5 | bSubFrameSize | 1 | 0x02 | Two bytes per audio subframe (AUDDSpeakerDriver_BYTESPERSAMPLE). |
6 | bBitResolution | 1 | 0x10 | 16 bits per sample (AUDDSpeakerDriver_BYTESPERSAMPLE * 2). |
7 | bSamFreqType | 1 | 0x01 | One frequency supported. |
8 | tSamFreq | 3 | 4800 | 4800Hz (AUDDSpeakerDriver_SAMPLERATE). |
Offset | Field | Size | Value | Description |
0 | bLength | 1 | 0x09 | Size of AUDFormatTypeOneDescriptor1 in bytes. |
1 | bDescriptorType | 1 | 0x24 | ENDPOINT descriptor (USBGenericDescriptor_ENDPOINT). |
2 | bEndpointAddress | 1 | 0x85 | IN endpoint 5 USBEndpointDescriptor_ADDRESS() AUDDSpeakerDriverDescriptors_DATAIN |
3 | bmAttributes | 1 | 0x01 | Isochronous, not shared (USBEndpointDescriptor_ISOCHRONOUS). |
4 | wMaxPacketSize | 2 | 0x???? | BOARD_USB_ENDPOINTS_MAXPACKETSIZE(5). |
6 | bInterval | 1 | 0x01 | One packet per frame. |
7 | bRefresh | 1 | 0x00 | Unused. |
8 | bSynchAddress | 1 | 0x00 | Unused. |
Offset | Field | Size | Value | Description |
0 | bLength | 1 | 0x07 | Size of AUDDataEndpointDescriptor in bytes. |
1 | bDescriptorType | 1 | 0x25 | CS_ENDPOINT descriptor (AUDGenericDescriptor_ENDPOINT). |
2 | bDescriptorSubType | 1 | 0x01 | GENERAL subtype (AUDDataEndpointDescriptor_SUBTYPE). |
3 | bmAttributes | 1 | 0x00 | No sampling frequency control no pitch control no packet padding |
4 | bLockDelayUnits | 1 | 0x00 | Unused. |
5 | wLockDelay | 2 | 0x0000 | Unused. |