forked from PAWPAW-Mirror/lib_xua
Give UAC1 control interface a name. Swap UAC1 DFU and control interface numbers. Was typically 3 for DFU and 4 for control, now 3 for control and 4 for DFU.
This commit is contained in:
@@ -1,6 +1,12 @@
|
|||||||
sc_usb_audio Change Log
|
sc_usb_audio Change Log
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
|
7.4.2
|
||||||
|
-----
|
||||||
|
|
||||||
|
- CHANGE: Vendor specific control interface in UAC1 descriptor now has a string descriptor
|
||||||
|
so it shows up with a descriptive name in Windows Device Manager
|
||||||
|
|
||||||
7.4.1
|
7.4.1
|
||||||
-----
|
-----
|
||||||
- RESOLVED: Exception due to null chanend when using NO_USB
|
- RESOLVED: Exception due to null chanend when using NO_USB
|
||||||
|
|||||||
@@ -64,6 +64,9 @@ typedef struct
|
|||||||
#ifdef DFU
|
#ifdef DFU
|
||||||
STR_TABLE_ENTRY(dfuStr); /* iInterface for DFU interface */
|
STR_TABLE_ENTRY(dfuStr); /* iInterface for DFU interface */
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef USB_CONTROL_DESCS
|
||||||
|
STR_TABLE_ENTRY(ctrlStr);
|
||||||
|
#endif
|
||||||
#ifdef MIDI
|
#ifdef MIDI
|
||||||
STR_TABLE_ENTRY(midiOutStr); /* iJack for MIDI Out */
|
STR_TABLE_ENTRY(midiOutStr); /* iJack for MIDI Out */
|
||||||
STR_TABLE_ENTRY(midiInStr); /* iJack for MIDI In */
|
STR_TABLE_ENTRY(midiInStr); /* iJack for MIDI In */
|
||||||
@@ -334,6 +337,9 @@ StringDescTable_t g_strTable =
|
|||||||
#ifdef DFU
|
#ifdef DFU
|
||||||
.dfuStr = APPEND_VENDOR_STR(DFU),
|
.dfuStr = APPEND_VENDOR_STR(DFU),
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef USB_CONTROL_DESCS
|
||||||
|
.ctrlStr = APPEND_VENDOR_STR(Control),
|
||||||
|
#endif
|
||||||
#ifdef MIDI
|
#ifdef MIDI
|
||||||
.midiOutStr = APPEND_VENDOR_STR(MIDI Out),
|
.midiOutStr = APPEND_VENDOR_STR(MIDI Out),
|
||||||
.midiInStr = APPEND_VENDOR_STR(MIDI In),
|
.midiInStr = APPEND_VENDOR_STR(MIDI In),
|
||||||
@@ -2743,7 +2749,7 @@ unsigned char cfgDesc_Audio1[] =
|
|||||||
/* Standard DFU class Interface descriptor */
|
/* Standard DFU class Interface descriptor */
|
||||||
0x09, /* 0 bLength : Size of this descriptor, in bytes. (field size 1 bytes) */
|
0x09, /* 0 bLength : Size of this descriptor, in bytes. (field size 1 bytes) */
|
||||||
0x04, /* 1 bDescriptorType : INTERFACE descriptor. (field size 1 bytes) */
|
0x04, /* 1 bDescriptorType : INTERFACE descriptor. (field size 1 bytes) */
|
||||||
(OUTPUT_INTERFACES_A1 + INPUT_INTERFACES_A1 + 1), /* 2 bInterfaceNumber : Index of this interface. (field size 1 bytes) */
|
(OUTPUT_INTERFACES_A1 + INPUT_INTERFACES_A1 + NUM_CONTROL_INTERFACES + 1), /* 2 bInterfaceNumber : Index of this interface. (field size 1 bytes) */
|
||||||
0x00, /* 3 bAlternateSetting : Index of this setting. (field size 1 bytes) */
|
0x00, /* 3 bAlternateSetting : Index of this setting. (field size 1 bytes) */
|
||||||
0x00, /* 4 bNumEndpoints : 0 endpoints. (field size 1 bytes) */
|
0x00, /* 4 bNumEndpoints : 0 endpoints. (field size 1 bytes) */
|
||||||
0xFE, /* 5 bInterfaceClass : DFU. (field size 1 bytes) */
|
0xFE, /* 5 bInterfaceClass : DFU. (field size 1 bytes) */
|
||||||
@@ -2767,13 +2773,13 @@ unsigned char cfgDesc_Audio1[] =
|
|||||||
/* Standard DFU class Interface descriptor */
|
/* Standard DFU class Interface descriptor */
|
||||||
0x09, /* 0 bLength : Size of this descriptor, in bytes. (field size 1 bytes) */
|
0x09, /* 0 bLength : Size of this descriptor, in bytes. (field size 1 bytes) */
|
||||||
0x04, /* 1 bDescriptorType : INTERFACE descriptor. (field size 1 bytes) */
|
0x04, /* 1 bDescriptorType : INTERFACE descriptor. (field size 1 bytes) */
|
||||||
(OUTPUT_INTERFACES_A1 + INPUT_INTERFACES_A1 + DFU_INTERFACES_A1 + 1), /* 2 bInterfaceNumber */
|
(OUTPUT_INTERFACES_A1 + INPUT_INTERFACES_A1 + 1), /* 2 bInterfaceNumber */
|
||||||
0x00, /* 3 bAlternateSetting : Index of this setting. (field size 1 bytes) */
|
0x00, /* 3 bAlternateSetting : Index of this setting. (field size 1 bytes) */
|
||||||
0x00, /* 4 bNumEndpoints : 0 endpoints. (field size 1 bytes) */
|
0x00, /* 4 bNumEndpoints : 0 endpoints. (field size 1 bytes) */
|
||||||
0xFF, /* 5 bInterfaceClass : DFU. (field size 1 bytes) */
|
0xFF, /* 5 bInterfaceClass : DFU. (field size 1 bytes) */
|
||||||
0xFF, /* 6 bInterfaceSubclass : (field size 1 bytes) */
|
0xFF, /* 6 bInterfaceSubclass : (field size 1 bytes) */
|
||||||
0xFF, /* 7 bInterfaceProtocol : Unused. (field size 1 bytes) */
|
0xFF, /* 7 bInterfaceProtocol : Unused. (field size 1 bytes) */
|
||||||
0x00, /* 8 iInterface */
|
offsetof(StringDescTable_t, ctrlStr)/sizeof(char *), /* 8 iInterface */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user