Usb Audio Device Descriptor(5) Feature Unit Descriptor

淳于玺
2023-12-01

Feature Unit Descriptor

struct usb_feature_unit_descriptor
{
    U8 bLength; /*Size of this descriptor, in bytes:
                7+(ch+1)*n*/
    U8 bDescriptorType; /*CS_INTERFACE descriptor type.*/
    U8 bDescriptorSubtype; /*FEATURE_UNIT descriptor subtype.*/
    U8 bUnitID; /*Constant uniquely identifying the Unit
                within the audio function. This value is
                used in all requests to address this Unit.*/
    U8 bSourceID; /*ID of the Unit or Terminal to which this
                    Feature Unit is connected.*/
    U8 bControlSize; /*Size in bytes of an element of the
                        bmaControls() array: n*/
    U8 *bmaControls; /* bmaControls+ 0 means A bit set to 1 indicates that the mentioned
                        Control is supported for master channel
                        0:
                        D0: Mute
                        D1: Volume
                        D2: Bass
                        D3: Mid
                        D4: Treble
                        D5: Graphic Equalizer
                        D6: Automatic Gain
                        D7: Delay
                        D8: Bass Boost
                        D9: Loudness
                        D10..(n*8-1): Reserved
                        (bmaControls + n) means A bit set to 1 indicates that the mentioned
                        Control is supported for logical channel ch.*/
    U8 iFeature; /*Index of a string descriptor, describing
                this Feature Unit.*/
};

bLength = 7+(ch+1)*n;
bDescriptorType = 0x24; 说明是 class-specific interface;
bUnitID: Unit ID, 值唯一;
bSourceID: 与之相连的Unit, Terminal ID;
bControlSize: bLength中的n值,即一个bmaControls的size;
bmaControls[0]: master channel 0 的 control,
D0: Mute
D1: Volume
D2: Bass
D3: Mid
D4: Treble
D5: Graphic Equalizer
D6: Automatic Gain
D7: Delay
D8: Bass Boost
D9: Loudness
D10..(n*8-1): Reserved;
bmaControls[1]: logical channel 1 的control

……
bmaControls[ch]: logical channel ch的control;
iFeature: string index;

 类似资料: