From 6b454b0ebecb4e62230ccda22a359edbe1e13a31 Mon Sep 17 00:00:00 2001 From: Oscar Bailey Date: Wed, 20 Nov 2019 11:40:05 +0000 Subject: [PATCH 1/2] Fix descriptors for XUA_ADAPTIVE --- .../src/core/endpoint0/xua_ep0_descriptors.h | 64 ++++++++++++------- 1 file changed, 40 insertions(+), 24 deletions(-) diff --git a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h index 208114b5..fcc1e45b 100644 --- a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h +++ b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h @@ -1470,9 +1470,13 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= .bDescriptorType = USB_DESCTYPE_ENDPOINT, .bEndpointAddress = ENDPOINT_ADDRESS_OUT_AUDIO, #ifdef XUA_ADAPTIVE - .bmAttributes = ISO_EP_ATTRIBUTES_ADAPTIVE, /* (bitmap) */ + .bmAttributes = ISO_EP_ATTRIBUTES_ADAPTIVE, #else - .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* (bitmap) */ + #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) + .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ + #else + .bmAttributes = ISO_EP_IMPL_ATTRIBUTES_ASYNCH, /* Feedback data endpoint */ + #endif #endif .wMaxPacketSize = HS_STREAM_FORMAT_OUTPUT_1_MAXPACKETSIZE, .bInterval = 1, @@ -1552,9 +1556,13 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= .bDescriptorType = USB_DESCTYPE_ENDPOINT, .bEndpointAddress = ENDPOINT_ADDRESS_OUT_AUDIO, #ifdef XUA_ADAPTIVE - .bmAttributes = ISO_EP_ATTRIBUTES_ADAPTIVE, /* (bitmap) */ + .bmAttributes = ISO_EP_ATTRIBUTES_ADAPTIVE, #else - .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* (bitmap) */ + #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) + .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ + #else + .bmAttributes = ISO_EP_IMPL_ATTRIBUTES_ASYNCH, /* Feedback data endpoint */ + #endif #endif .wMaxPacketSize = HS_STREAM_FORMAT_OUTPUT_2_MAXPACKETSIZE, .bInterval = 1, @@ -1636,10 +1644,14 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= .bDescriptorType = USB_DESCTYPE_ENDPOINT, .bEndpointAddress = ENDPOINT_ADDRESS_OUT_AUDIO, #ifdef XUA_ADAPTIVE - .bmAttributes = ISO_EP_ATTRIBUTES_ADAPTIVE, /* (bitmap) */ + .bmAttributes = ISO_EP_ATTRIBUTES_ADAPTIVE, #else - .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* (bitmap) */ -#endif + #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) + .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ + #else + .bmAttributes = ISO_EP_IMPL_ATTRIBUTES_ASYNCH, /* Feedback data endpoint */ + #endif +#endif .wMaxPacketSize = HS_STREAM_FORMAT_OUTPUT_3_MAXPACKETSIZE, .bInterval = 1, }, @@ -1732,11 +1744,11 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= .bLength = 0x07, .bDescriptorType = USB_DESCTYPE_ENDPOINT, .bEndpointAddress = ENDPOINT_ADDRESS_IN_AUDIO, -#if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) - .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ -#else - #ifdef XUA_ADAPTIVE +#ifdef XUA_ADAPTIVE .bmAttributes = ISO_EP_ATTRIBUTES_ADAPTIVE, +#else + #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) + .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ #else .bmAttributes = ISO_EP_IMPL_ATTRIBUTES_ASYNCH, /* Feedback data endpoint */ #endif @@ -1804,11 +1816,11 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= .bLength = 0x07, .bDescriptorType = USB_DESCTYPE_ENDPOINT, .bEndpointAddress = ENDPOINT_ADDRESS_IN_AUDIO, -#if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) - .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ -#else - #ifdef XUA_ADAPTIVE +#ifdef XUA_ADAPTIVE .bmAttributes = ISO_EP_ATTRIBUTES_ADAPTIVE, +#else + #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) + .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ #else .bmAttributes = ISO_EP_IMPL_ATTRIBUTES_ASYNCH, /* Feedback data endpoint */ #endif @@ -1877,11 +1889,11 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= .bLength = 0x07, .bDescriptorType = USB_DESCTYPE_ENDPOINT, .bEndpointAddress = ENDPOINT_ADDRESS_IN_AUDIO, -#if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) - .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ -#else - #ifdef XUA_ADAPTIVE +#ifdef XUA_ADAPTIVE .bmAttributes = ISO_EP_ATTRIBUTES_ADAPTIVE, +#else + #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) + .bmAttributes = ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ #else .bmAttributes = ISO_EP_IMPL_ATTRIBUTES_ASYNCH, /* Feedback data endpoint */ #endif @@ -2642,7 +2654,11 @@ unsigned char cfgDesc_Audio1[] = #ifdef XUA_ADAPTIVE ISO_EP_ATTRIBUTES_ADAPTIVE, #else - ISO_EP_ATTRIBUTES_ASYNCH, + #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) + ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ + #else + ISO_EP_IMPL_ATTRIBUTES_ASYNCH, /* Feedback data endpoint */ + #endif #endif (FS_STREAM_FORMAT_OUTPUT_1_MAXPACKETSIZE&0xff), /* 4 wMaxPacketSize (Typically 294 bytes)*/ (FS_STREAM_FORMAT_OUTPUT_1_MAXPACKETSIZE&0xff00)>>8, /* 5 wMaxPacketSize */ @@ -2779,11 +2795,11 @@ unsigned char cfgDesc_Audio1[] = 0x09, 0x05, /* ENDPOINT */ ENDPOINT_ADDRESS_IN_AUDIO, /* EndpointAddress */ -#if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) - ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ -#else - #ifdef XUA_ADAPTIVE +#ifdef XUA_ADAPTIVE ISO_EP_ATTRIBUTES_ADAPTIVE, +#else + #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) + ISO_EP_ATTRIBUTES_ASYNCH, /* Iso, async, data endpoint */ #else ISO_EP_IMPL_ATTRIBUTES_ASYNCH, /* Feedback data endpoint */ #endif From a85cbc06b80dcd1ba2c8dd80644871e5579b9fa9 Mon Sep 17 00:00:00 2001 From: oscarbailey-xmos <40995889+oscarbailey-xmos@users.noreply.github.com> Date: Fri, 22 Nov 2019 11:27:59 +0000 Subject: [PATCH 2/2] Update CHANGELOG.rst --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 498faf1e..a1f23ede 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -7,6 +7,7 @@ lib_xua Change Log * ADDED: UAC1 HID support with simulated Voice Command detection reported every 10 seconds * ADDED: Support for USB HID Set Idle request + * FIXED: Descriptors for XUA_ADAPTIVE incorrectly defined for IN endpoint 0.2.1 -----