diff --git a/README.rst b/README.rst
index b261e7fa..e2485713 100644
--- a/README.rst
+++ b/README.rst
@@ -1,7 +1,7 @@
USB Audio Shared
................
-:Latest release: 6.4.0beta4
+:Latest release: 6.5.0beta0
:Maintainer: xross
:Description: USB Audio Shared Components. For use in the XMOS USB Audio Refererence Designs.
diff --git a/module_dfu/src/dfu.h b/module_dfu/src/dfu.h
index 810f502f..4ca6876b 100644
--- a/module_dfu/src/dfu.h
+++ b/module_dfu/src/dfu.h
@@ -87,7 +87,7 @@ unsigned char DFUcfgDesc[] = {
};
int DFUReportResetState(NULLABLE_RESOURCE(chanend , c_user_cmd));
-int DFUDeviceRequests(XUD_ep c_ep0_out, NULLABLE_REFERENCE_PARAM(XUD_ep, ep0_in), REFERENCE_PARAM(USB_SetupPacket_t, sp),
+int DFUDeviceRequests(XUD_ep c_ep0_out, NULLABLE_REFERENCE_PARAM(XUD_ep, ep0_in), REFERENCE_PARAM(USB_SetupPacket_t, sp),
NULLABLE_RESOURCE(chanend, c_user_cmd), unsigned int altInterface, unsigned int user_reset);
/* Helper function for C */
diff --git a/module_usb_audio/commands.h b/module_usb_audio/commands.h
index c0339859..c08f6ded 100644
--- a/module_usb_audio/commands.h
+++ b/module_usb_audio/commands.h
@@ -26,7 +26,7 @@
#define SET_SAMPLE_FREQ 4
#define SET_DSD_MODE 7
#define SET_STREAM_FORMAT_OUT 8
-#define SET_STREAM_FORMAT_IN 9
+#define SET_STREAM_FORMAT_IN 9
#include "dsd_support.h"
diff --git a/module_usb_audio/devicedefines.h b/module_usb_audio/devicedefines.h
index afca5619..f9af62fb 100644
--- a/module_usb_audio/devicedefines.h
+++ b/module_usb_audio/devicedefines.h
@@ -295,7 +295,7 @@
/* Device release number in BCD: 0xJJMN */
#define BCD_DEVICE_J 6
-#define BCD_DEVICE_M 4
+#define BCD_DEVICE_M 5
#define BCD_DEVICE_N 0
#ifndef BCD_DEVICE
@@ -316,7 +316,7 @@
#error only OUTPUT_FORMAT_COUNT of 3 or less supported
#endif
-#if defined(NATIVE_DSD) && (OUTPUT_FORMAT_COUNT == 1)
+#if defined(NATIVE_DSD) && (OUTPUT_FORMAT_COUNT == 1)
#error OUTPUT_FORMAT_COUNT should be >= 2 when NATIVE_DSD enabled
#endif
@@ -353,31 +353,31 @@
/* Default resolutions for HS */
#ifndef HS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS
- #define HS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS
+ #define HS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS
#endif
#ifndef HS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS
- #define HS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS
+ #define HS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS
#endif
#ifndef HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS
- #define HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS
+ #define HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS
#endif
/* Default resolutions for FS (same as HS) */
#ifndef FS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS
- #define FS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS
+ #define FS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS
#endif
#ifndef FS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS
- #define FS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS
+ #define FS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS
#endif
#ifndef FS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS
- #define FS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS
+ #define FS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS
#endif
-/* Setup default subslot size based on resolution
+/* Setup default subslot size based on resolution
* Catch special 24bit case where 4 byte subslot is nicer for our 32-bit machine.
* Typically do not care about this extra bus overhead at High-speed */
#ifndef HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES
@@ -386,7 +386,7 @@
#else
#define HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES (HS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS/8)
#endif
-#endif
+#endif
#ifndef HS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES
#if (HS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS == 24)
@@ -394,7 +394,7 @@
#else
#define HS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES (HS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS/8)
#endif
-#endif
+#endif
#ifndef HS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES
#if (HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS == 24)
@@ -402,18 +402,18 @@
#else
#define HS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES (HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS/8)
#endif
-#endif
+#endif
/* Setup default FS subslot sizes - make as small as possible */
-#ifndef FS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES
+#ifndef FS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES
#define FS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES (FS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS/8)
#endif
-#ifndef FS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES
+#ifndef FS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES
#define FS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES (FS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS/8)
#endif
-#ifndef FS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES
+#ifndef FS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES
#define FS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES (FS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS/8)
#endif
@@ -443,23 +443,23 @@
#endif
/* Some stream format checks */
-#if (OUTPUT_FORMAT_COUNT > 0)
+#if (OUTPUT_FORMAT_COUNT > 0)
#if !defined(HS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS) || \
!defined(HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES) || \
!defined(STREAM_FORMAT_OUTPUT_1_DATAFORMAT)
#error HS_OUTPUT_STREAM_1 not properly defined
- #endif
-#endif
-
-#if (OUTPUT_FORMAT_COUNT > 1)
+ #endif
+#endif
+
+#if (OUTPUT_FORMAT_COUNT > 1)
#if !defined(HS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS) || \
!defined(HS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES) || \
!defined(STREAM_FORMAT_OUTPUT_2_DATAFORMAT)
#error HS_OUTPUT_STREAM_2 not properly defined
- #endif
-#endif
-
-#if (OUTPUT_FORMAT_COUNT > 2)
+ #endif
+#endif
+
+#if (OUTPUT_FORMAT_COUNT > 2)
#if !defined(HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS) || \
!defined(HS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES) || \
!defined(STREAM_FORMAT_OUTPUT_3_DATAFORMAT)
@@ -521,12 +521,12 @@
/* Default resolutions for HS */
#ifndef HS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS
- #define HS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS STREAM_FORMAT_INPUT_1_RESOLUTION_BITS
+ #define HS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS STREAM_FORMAT_INPUT_1_RESOLUTION_BITS
#endif
/* Default resolutions for FS (same as HS) */
#ifndef FS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS
- #define FS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS STREAM_FORMAT_INPUT_1_RESOLUTION_BITS
+ #define FS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS STREAM_FORMAT_INPUT_1_RESOLUTION_BITS
#endif
/* Setup default subslot sized based on resolution */
@@ -536,10 +536,10 @@
#else
#define HS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES (HS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS/8)
#endif
- #endif
+ #endif
/* Setup default FS subslot sizes */
- #ifndef FS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES
+ #ifndef FS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES
#define FS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES (FS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS/8)
#endif
@@ -549,7 +549,7 @@
#endif
/* Useful for dropping lower part of macs in volume processing... */
- #if (FS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS > 24) || (FS_STREAM_FORMAT_INPUT_2_RESOLUTION_BITS > 24)
+ #if (FS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS > 24) || (FS_STREAM_FORMAT_INPUT_2_RESOLUTION_BITS > 24)
#define STREAM_FORMAT_INPUT_RESOLUTION_32BIT_USED 1
#else
#define STREAM_FORMAT_INPUT_RESOLUTION_32BIT_USED 0
diff --git a/module_usb_audio/endpoint0/descriptors.h b/module_usb_audio/endpoint0/descriptors.h
index c8119355..3c174b1e 100644
--- a/module_usb_audio/endpoint0/descriptors.h
+++ b/module_usb_audio/endpoint0/descriptors.h
@@ -200,7 +200,7 @@ enum {
};
#ifdef HID_CONTROLS
-unsigned char hidReportDescriptor[] =
+unsigned char hidReportDescriptor[] =
{
0x05, 0x0c, /* Usage Page (Consumer Device) */
0x09, 0x01, /* Usage (Consumer Control) */
@@ -230,7 +230,7 @@ unsigned char hidReportDescriptor[] =
#define MAX_PACKET_SIZE_MULT_OUT_HS ((((MAX_FREQ+7999)/8000)+1) * NUM_USB_CHAN_OUT)
#define MAX_PACKET_SIZE_MULT_OUT_FS ((((MAX_FREQ_FS+999)/1000)+1) * NUM_USB_CHAN_OUT_FS)
#define MAX_PACKET_SIZE_MULT_IN_HS ((((MAX_FREQ+7999)/8000)+1) * NUM_USB_CHAN_IN)
-#define MAX_PACKET_SIZE_MULT_IN_FS ((((MAX_FREQ_FS+999)/1000)+1) * NUM_USB_CHAN_IN_FS)
+#define MAX_PACKET_SIZE_MULT_IN_FS ((((MAX_FREQ_FS+999)/1000)+1) * NUM_USB_CHAN_IN_FS)
#define HS_STREAM_FORMAT_OUTPUT_1_MAXPACKETSIZE (MAX_PACKET_SIZE_MULT_OUT_HS * HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES)
#define HS_STREAM_FORMAT_OUTPUT_2_MAXPACKETSIZE (MAX_PACKET_SIZE_MULT_OUT_HS * HS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES)
@@ -240,19 +240,19 @@ unsigned char hidReportDescriptor[] =
#define FS_STREAM_FORMAT_OUTPUT_2_MAXPACKETSIZE (MAX_PACKET_SIZE_MULT_OUT_FS * FS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES)
#define FS_STREAM_FORMAT_OUTPUT_3_MAXPACKETSIZE (MAX_PACKET_SIZE_MULT_OUT_FS * FS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES)
-#define HS_STREAM_FORMAT_INPUT_1_MAXPACKETSIZE (MAX_PACKET_SIZE_MULT_IN_HS * HS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES)
-#define FS_STREAM_FORMAT_INPUT_1_MAXPACKETSIZE (MAX_PACKET_SIZE_MULT_IN_FS * FS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES)
+#define HS_STREAM_FORMAT_INPUT_1_MAXPACKETSIZE (MAX_PACKET_SIZE_MULT_IN_HS * HS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES)
+#define FS_STREAM_FORMAT_INPUT_1_MAXPACKETSIZE (MAX_PACKET_SIZE_MULT_IN_FS * FS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES)
-typedef struct
+typedef struct
{
/* Class Specific Audio Control Interface Header Descriptor */
- UAC_Descriptor_Interface_AC_t Audio_ClassControlInterface;
+ UAC_Descriptor_Interface_AC_t Audio_ClassControlInterface;
USB_Descriptor_Audio_ClockSource_t Audio_ClockSource;
USB_Descriptor_Audio_ClockSelector_t Audio_ClockSelector;
#ifdef OUTPUT
/* Output path */
USB_Descriptor_Audio_InputTerminal_t Audio_Out_InputTerminal;
- USB_Descriptor_Audio_FeatureUnit_Out_t Audio_Out_FeatureUnit;
+ USB_Descriptor_Audio_FeatureUnit_Out_t Audio_Out_FeatureUnit;
USB_Descriptor_Audio_OutputTerminal_t Audio_Out_OutputTerminal;
#endif
#ifdef INPUT
@@ -264,16 +264,16 @@ typedef struct
} __attribute__((packed)) USB_CfgDesc_Audio2_CS_Control_Int;
typedef struct
-{
+{
/* Configuration header */
USB_Descriptor_Configuration_Header_t Config;
/* Audio Control */
USB_Descriptor_Interface_Association_t Audio_InterfaceAssociation;
USB_Descriptor_Interface_t Audio_StdControlInterface; /* Standard Audio Control Interface Header Descriptor */
-
+
USB_CfgDesc_Audio2_CS_Control_Int Audio_CS_Control_Int;
-#ifdef OUTPUT
+#ifdef OUTPUT
/* Audio streaming: Output stream */
USB_Descriptor_Interface_t Audio_Out_StreamInterface_Alt0; /* Zero bandwith alternative */
USB_Descriptor_Interface_t Audio_Out_StreamInterface_Alt1;
@@ -326,7 +326,7 @@ typedef struct
#ifdef IAP_INT_EP
USB_Descriptor_Endpoint_t iAP_Interrupt_Endpoint;
#endif
-#endif
+#endif
#ifdef HID_CONTROLS
USB_Descriptor_Interface_t HID_Interface;
@@ -337,38 +337,38 @@ typedef struct
}__attribute__((packed)) USB_Config_Descriptor_Audio2_t;
#if 1
-USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
+USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
{
- .Config =
+ .Config =
{
- .bLength = sizeof(USB_Descriptor_Configuration_Header_t),
- .bDescriptorType = USB_DESCTYPE_CONFIGURATION,
- .wTotalLength = sizeof(USB_Config_Descriptor_Audio2_t),
+ .bLength = sizeof(USB_Descriptor_Configuration_Header_t),
+ .bDescriptorType = USB_DESCTYPE_CONFIGURATION,
+ .wTotalLength = sizeof(USB_Config_Descriptor_Audio2_t),
.bNumInterfaces = NUM_INTERFACES,
.bConfigurationValue = 0x01,
.iConfiguration = 0x00,
#ifdef SELF_POWERED
.bmAttributes = 192,
#else
- .bmAttributes = 128,
-#endif
- .bMaxPower = BMAX_POWER,
- },
+ .bmAttributes = 128,
+#endif
+ .bMaxPower = BMAX_POWER,
+ },
- .Audio_InterfaceAssociation =
+ .Audio_InterfaceAssociation =
{
.bLength = sizeof(USB_Descriptor_Interface_Association_t),
.bDescriptorType = USB_DESCTYPE_INTERFACE_ASSOCIATION,
- .bFirstInterface = 0x00,
+ .bFirstInterface = 0x00,
.bInterfaceCount = AUDIO_INTERFACES,
.bFunctionClass = AUDIO_FUNCTION,
.bFunctionSubClass = FUNCTION_SUBCLASS_UNDEFINED,
.bFunctionProtocol = UAC_FUNC_PROTOCOL_AF_VERSION_02_00,
.iFunction = 0x00,
},
-
+
/* Standard Audio Control Interface Descriptor (Note: Must be first with lowest interface number)r */
- .Audio_StdControlInterface =
+ .Audio_StdControlInterface =
{
.bLength = sizeof(USB_Descriptor_Interface_t),
.bDescriptorType = USB_DESCTYPE_INTERFACE,
@@ -379,20 +379,20 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
#else
.bNumEndpoints = 0x00,
#endif
- .bInterfaceClass = USB_CLASS_AUDIO,
- .bInterfaceSubClass = UAC_INT_SUBCLASS_AUDIOCONTROL,
- .bInterfaceProtocol = UAC_INT_PROTOCOL_IP_VERSION_02_00,
+ .bInterfaceClass = USB_CLASS_AUDIO,
+ .bInterfaceSubClass = UAC_INT_SUBCLASS_AUDIOCONTROL,
+ .bInterfaceProtocol = UAC_INT_PROTOCOL_IP_VERSION_02_00,
.iInterface = PRODUCT_STR_INDEX_A2,
- },
+ },
- .Audio_CS_Control_Int =
+ .Audio_CS_Control_Int =
{
/* Class Specific Audio Control Interface Header Descriptor: */
.Audio_ClassControlInterface =
{
- .bLength = sizeof(UAC_Descriptor_Interface_AC_t),
- .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE,
- .bDescriptorSubtype = UAC_CS_AC_INTERFACE_SUBTYPE_HEADER,
+ .bLength = sizeof(UAC_Descriptor_Interface_AC_t),
+ .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE,
+ .bDescriptorSubtype = UAC_CS_AC_INTERFACE_SUBTYPE_HEADER,
.bcdADC = 0x0200,
.bCatagory = UAC_FUNCTION_IO_BOX, /*(Primary use of audio function) */
.wTotalLength = sizeof(USB_CfgDesc_Audio2_CS_Control_Int),
@@ -403,9 +403,9 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
.Audio_ClockSource =
{
.bLength = sizeof(USB_Descriptor_Audio_ClockSource_t),
- .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE,
- .bDescriptorSubType = UAC_CS_AC_INTERFACE_SUBTYPE_CLOCK_SOURCE,
- .bClockID = ID_CLKSRC_INT,
+ .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE,
+ .bDescriptorSubType = UAC_CS_AC_INTERFACE_SUBTYPE_CLOCK_SOURCE,
+ .bClockID = ID_CLKSRC_INT,
.bmAttributes = 0x03, /* D[1:0] :
00: External Clock
01: Internal Fixed Clock
@@ -417,7 +417,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
D[1:0] : Clock Freq Control
D[3:2] : Clock Validity Control
D[7:4] : Reserved (0) */
- .bAssocTerminal = 0x00,
+ .bAssocTerminal = 0x00,
.iClockSource = INTERNAL_CLOCK_STRING_INDEX,
},
@@ -425,10 +425,10 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
.Audio_ClockSelector =
{
.bLength = sizeof(USB_Descriptor_Audio_ClockSelector_t),
- .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE,
- .bDescriptorSubType = UAC_CS_AC_INTERFACE_SUBTYPE_CLOCK_SELECTOR,
- .bClockID = ID_CLKSEL,
- .bNrPins = NUM_CLOCKS,
+ .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE,
+ .bDescriptorSubType = UAC_CS_AC_INTERFACE_SUBTYPE_CLOCK_SELECTOR,
+ .bClockID = ID_CLKSEL,
+ .bNrPins = NUM_CLOCKS,
.baCSourceId[0] = ID_CLKSRC_INT,
#ifdef SPDIF_RX
ID_CLKSRC_EXT,
@@ -436,13 +436,13 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
#ifdef ADAT_RX
ID_CLKSRC_ADAT,
#endif
- .bmControl = 0x03,
+ .bmControl = 0x03,
.iClockSelector = 13, /* TODO Shoudn't be hard-coded */
},
#ifdef OUTPUT
/* Input Terminal Descriptor (USB Input Terminal) */
- .Audio_Out_InputTerminal =
+ .Audio_Out_InputTerminal =
{
.bLength = sizeof(USB_Descriptor_Audio_InputTerminal_t),
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType */
@@ -459,8 +459,8 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
/* Feature Unit Descriptor */
- .Audio_Out_FeatureUnit =
- {
+ .Audio_Out_FeatureUnit =
+ {
.bLength = sizeof(USB_Descriptor_Audio_FeatureUnit_Out_t), /* 0 bLength: 6+(ch + 1)*4 */
0x24, /* 1 bDescriptorType: CS_INTERFACE */
0x06, /* 2 bDescriptorSubType: FEATURE_UNIT */
@@ -531,11 +531,11 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
#endif
},
0, /* 60 iFeature */
- },
+ },
/* Output Terminal Descriptor (Audio) */
- .Audio_Out_OutputTerminal =
- {
+ .Audio_Out_OutputTerminal =
+ {
0x0C, /* 0 bLength */
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: 0x24 */
UAC_CS_AC_INTERFACE_SUBTYPE_OUTPUT_TERMINAL, /* 2 bDescriptorSubType: OUTPUT_TERMINAL */
@@ -550,23 +550,23 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
#endif
#ifdef INPUT
/* Input Terminal Descriptor (Analogue Input Terminal) */
- .Audio_In_InputTerminal =
+ .Audio_In_InputTerminal =
{
.bLength = sizeof(USB_Descriptor_Audio_InputTerminal_t),
- .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE,
- .bDescriptorSubtype = UAC_CS_AC_INTERFACE_SUBTYPE_INPUT_TERMINAL,
+ .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE,
+ .bDescriptorSubtype = UAC_CS_AC_INTERFACE_SUBTYPE_INPUT_TERMINAL,
.bTerminalID = ID_IT_AUD,
- .wTerminalType = UAC_TT_INPUT_TERMTYPE_MICROPHONE,
+ .wTerminalType = UAC_TT_INPUT_TERMTYPE_MICROPHONE,
.bAssocTerminal = 0x00,
.bCSourceID = ID_CLKSEL,
- .bNrChannels = NUM_USB_CHAN_IN,
+ .bNrChannels = NUM_USB_CHAN_IN,
.bmChannelConfig = 0x00000000,
- .iChannelNames = INPUT_INTERFACE_STRING_INDEX,
+ .iChannelNames = INPUT_INTERFACE_STRING_INDEX,
.bmControls = 0x0000,
- .iTerminal = 0,
+ .iTerminal = 0,
},
- .Audio_In_FeatureUnit =
+ .Audio_In_FeatureUnit =
{
.bLength = sizeof(USB_Descriptor_Audio_FeatureUnit_In_t),
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: CS_INTERFACE */
@@ -638,9 +638,9 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
#endif
},
0, /* 60 iFeature */
- },
-
- .Audio_In_OutputTerminal =
+ },
+
+ .Audio_In_OutputTerminal =
{
/* Output Terminal Descriptor (USB Streaming) */
0x0C, /* 0 bLength */
@@ -660,7 +660,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
#ifdef OUTPUT
/* Zero bandwith alternative 0 */
/* Standard AS Interface Descriptor (4.9.1) */
- .Audio_Out_StreamInterface_Alt0 =
+ .Audio_Out_StreamInterface_Alt0 =
{
0x09, /* 0 bLength: (in bytes, 9) */
USB_DESCTYPE_INTERFACE, /* 1 bDescriptorType: INTERFACE */
@@ -675,7 +675,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
/* Alternative 1 */
/* Standard AS Interface Descriptor (4.9.1) (Alt) */
- .Audio_Out_StreamInterface_Alt1 =
+ .Audio_Out_StreamInterface_Alt1 =
{
0x09, /* 0 bLength: (in bytes, 9) */
USB_DESCTYPE_INTERFACE, /* 1 bDescriptorType: INTERFACE */
@@ -689,7 +689,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
/* STREAMING_OUTPUT_ALT1_OFFSET: */
/* Class Specific AS Interface Descriptor */
- .Audio_Out_ClassStreamInterface =
+ .Audio_Out_ClassStreamInterface =
{
0x10, /* 0 bLength: 16 */
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: 0x24 */
@@ -704,29 +704,29 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
/* Type 1 Format Type Descriptor */
- .Audio_Out_Format =
+ .Audio_Out_Format =
{
0x06, /* 0 bLength (in bytes): 6 */
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: 0x24 */
UAC_CS_AS_INTERFACE_SUBTYPE_FORMAT_TYPE, /* 2 bDescriptorSubtype: FORMAT_TYPE */
UAC_FORMAT_TYPE_I, /* 3 bFormatType: FORMAT_TYPE_1 */
- .bSubslotSize = HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES,
+ .bSubslotSize = HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES,
.bBitResolution = HS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS,
- },
-
+ },
+
/* Standard AS Isochronous Audio Data Endpoint Descriptor (4.10.1.1) */
- .Audio_Out_Endpoint =
+ .Audio_Out_Endpoint =
{
.bLength = sizeof(USB_Descriptor_Endpoint_t),
.bDescriptorType = USB_DESCTYPE_ENDPOINT,
.bEndpointAddress = 0x01, /* (D7: 0:out, 1:in) */
.bmAttributes = 0x05, /* (bitmap) */
.wMaxPacketSize = HS_STREAM_FORMAT_OUTPUT_1_MAXPACKETSIZE,
- .bInterval = 1,
+ .bInterval = 1,
},
/* Class-Specific AS Isochronous Audio Data Endpoint Descriptor (4.10.1.2) */
- .Audio_Out_ClassEndpoint =
+ .Audio_Out_ClassEndpoint =
{
0x08, /* 0 bLength */
UAC_CS_DESCTYPE_ENDPOINT, /* 1 bDescriptorType */
@@ -737,7 +737,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
0x0008, /* 6:7 bLockDelay */
},
- .Audio_Out_Fb_Endpoint =
+ .Audio_Out_Fb_Endpoint =
{
0x07, /* 0 bLength: 7 */
USB_DESCTYPE_ENDPOINT, /* 1 bDescriptorType: ENDPOINT */
@@ -748,7 +748,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
#if (OUTPUT_FORMAT_COUNT > 1)
/* Standard AS Interface Descriptor (4.9.1) (Alt) */
- .Audio_Out_StreamInterface_Alt2 =
+ .Audio_Out_StreamInterface_Alt2 =
{
0x09, /* 0 bLength: (in bytes, 9) */
USB_DESCTYPE_INTERFACE, /* 1 bDescriptorType: INTERFACE */
@@ -762,7 +762,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
/* Class Specific AS Interface Descriptor */
- .Audio_Out_ClassStreamInterface_2 =
+ .Audio_Out_ClassStreamInterface_2 =
{
0x10, /* 0 bLength: 16 */
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: 0x24 */
@@ -777,28 +777,28 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
/* Type 1 Format Type Descriptor */
- .Audio_Out_Format_2 =
+ .Audio_Out_Format_2 =
{
0x06, /* 0 bLength (in bytes): 6 */
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: 0x24 */
UAC_CS_AS_INTERFACE_SUBTYPE_FORMAT_TYPE,/* 2 bDescriptorSubtype: FORMAT_TYPE */
UAC_FORMAT_TYPE_I, /* 3 bFormatType: FORMAT_TYPE_1 */
- .bSubslotSize = HS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES,
+ .bSubslotSize = HS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES,
.bBitResolution = HS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS,
- },
+ },
/* Standard AS Isochronous Audio Data Endpoint Descriptor (4.10.1.1) */
- .Audio_Out_Endpoint_2 =
+ .Audio_Out_Endpoint_2 =
{
.bLength = sizeof(USB_Descriptor_Endpoint_t),
- .bDescriptorType = USB_DESCTYPE_ENDPOINT,
- .bEndpointAddress = 0x01,
- .bmAttributes = 0x05,
- .wMaxPacketSize = HS_STREAM_FORMAT_OUTPUT_2_MAXPACKETSIZE,
- .bInterval = 1,
+ .bDescriptorType = USB_DESCTYPE_ENDPOINT,
+ .bEndpointAddress = 0x01,
+ .bmAttributes = 0x05,
+ .wMaxPacketSize = HS_STREAM_FORMAT_OUTPUT_2_MAXPACKETSIZE,
+ .bInterval = 1,
},
/* Class-Specific AS Isochronous Audio Data Endpoint Descriptor (4.10.1.2) */
- .Audio_Out_ClassEndpoint_2 =
+ .Audio_Out_ClassEndpoint_2 =
{
0x08, /* 0 bLength */
UAC_CS_DESCTYPE_ENDPOINT, /* 1 bDescriptorType */
@@ -809,7 +809,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
0x0008, /* 6:7 bLockDelay */
},
- .Audio_Out_Fb_Endpoint_2 =
+ .Audio_Out_Fb_Endpoint_2 =
{
0x07, /* 0 bLength: 7 */
USB_DESCTYPE_ENDPOINT, /* 1 bDescriptorType: ENDPOINT */
@@ -821,7 +821,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
#endif
#if (OUTPUT_FORMAT_COUNT > 2)
/* Standard AS Interface Descriptor (4.9.1) (Alt) */
- .Audio_Out_StreamInterface_Alt3 =
+ .Audio_Out_StreamInterface_Alt3 =
{
0x09, /* 0 bLength: (in bytes, 9) */
USB_DESCTYPE_INTERFACE, /* 1 bDescriptorType: INTERFACE */
@@ -835,7 +835,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
/* Class Specific AS Interface Descriptor */
- .Audio_Out_ClassStreamInterface_3 =
+ .Audio_Out_ClassStreamInterface_3 =
{
0x10, /* 0 bLength: 16 */
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: 0x24 */
@@ -850,7 +850,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
/* Type 1 Format Type Descriptor */
- .Audio_Out_Format_3 =
+ .Audio_Out_Format_3 =
{
0x06, /* 0 bLength (in bytes): 6 */
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: 0x24 */
@@ -858,10 +858,10 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
UAC_FORMAT_TYPE_I, /* 3 bFormatType: FORMAT_TYPE_1 */
.bSubslotSize = HS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES,
.bBitResolution = HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS,
- },
-
+ },
+
/* Standard AS Isochronous Audio Data Endpoint Descriptor (4.10.1.1) */
- .Audio_Out_Endpoint_3 =
+ .Audio_Out_Endpoint_3 =
{
0x07, /* 0 bLength: 7 */
USB_DESCTYPE_ENDPOINT, /* 1 bDescriptorType: ENDPOINT */
@@ -872,7 +872,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
/* Class-Specific AS Isochronous Audio Data Endpoint Descriptor (4.10.1.2) */
- .Audio_Out_ClassEndpoint_3 =
+ .Audio_Out_ClassEndpoint_3 =
{
0x08, /* 0 bLength */
UAC_CS_DESCTYPE_ENDPOINT, /* 1 bDescriptorType */
@@ -883,7 +883,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
0x0008, /* 6:7 bLockDelay */
},
- .Audio_Out_Fb_Endpoint_3 =
+ .Audio_Out_Fb_Endpoint_3 =
{
0x07, /* 0 bLength: 7 */
USB_DESCTYPE_ENDPOINT, /* 1 bDescriptorType: ENDPOINT */
@@ -895,7 +895,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
#endif /* OUTPUT_FORMAT_COUNT > 2 */
#endif /* OUTPUT */
#ifdef INPUT
-
+
/* Zero bandwith alternative 0 */
/* Standard AS Interface Descriptor (4.9.1) */
.Audio_In_StreamInterface_Alt0 =
@@ -913,7 +913,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
/* Alternative 1 */
/* Standard AS Interface Descriptor (4.9.1) (Alt) */
- .Audio_In_StreamInterface_Alt1 =
+ .Audio_In_StreamInterface_Alt1 =
{
0x09, /* 0 bLength: (in bytes, 9) */
USB_DESCTYPE_INTERFACE, /* 1 bDescriptorType: INTERFACE */
@@ -927,7 +927,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
},
/* Class Specific AS Interface Descriptor */
- .Audio_In_ClassStreamInterface =
+ .Audio_In_ClassStreamInterface =
{
0x10, /* 0 bLength: 16 */
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: 0x24 */
@@ -939,10 +939,10 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
NUM_USB_CHAN_IN, /* 11 bNrChannels */
0x00000000, /* 12:14: bmChannelConfig */
INPUT_INTERFACE_STRING_INDEX, /* 15 iChannelNames */
- },
+ },
/* Type 1 Format Type Descriptor */
- .Audio_In_Format =
+ .Audio_In_Format =
{
0x06, /* 0 bLength (in bytes): 6 */
UAC_CS_DESCTYPE_INTERFACE, /* 1 bDescriptorType: 0x24 */
@@ -950,28 +950,28 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
UAC_FORMAT_TYPE_I, /* 3 bFormatType: FORMAT_TYPE_1 */
.bSubslotSize = HS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES, /* 4 bSubslotSize (Number of bytes per subslot) */
.bBitResolution = HS_STREAM_FORMAT_INPUT_1_RESOLUTION_BITS,
- },
-
+ },
+
/* Standard AS Isochronous Audio Data Endpoint Descriptor (4.10.1.1) */
- .Audio_In_Endpoint =
- {
+ .Audio_In_Endpoint =
+ {
0x07, /* 0 bLength: 7 */
USB_DESCTYPE_ENDPOINT, /* 1 bDescriptorType: ENDPOINT */
0x82, /* 2 bEndpointAddress (D7: 0:out, 1:in) */
5, /* 3 bmAttributes (bitmap) */
.wMaxPacketSize = HS_STREAM_FORMAT_INPUT_1_MAXPACKETSIZE,
- .bInterval = 0x01,
+ .bInterval = 0x01,
},
/* Class-Specific AS Isochronous Audio Data Endpoint Descriptor (4.10.1.2) */
- .Audio_In_ClassEndpoint =
+ .Audio_In_ClassEndpoint =
{
.bLength = sizeof(USB_Descriptor_Audio_Class_AS_Endpoint_t),
- .bDescriptorType = UAC_CS_DESCTYPE_ENDPOINT,
+ .bDescriptorType = UAC_CS_DESCTYPE_ENDPOINT,
.bDescriptorSubtype = UAC_CS_ENDPOINT_SUBTYPE_EP_GENERAL,
.bmAttributes = 0x00,
- .bmControls = 0x00,
- .bLockDelayUnits = 0x02,
+ .bmControls = 0x00,
+ .bLockDelayUnits = 0x02,
.wLockDelay = 0x0008,
},
#endif
@@ -1131,25 +1131,25 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
#ifdef IAP
/* Interface descriptor */
- .iAP_Interface =
+ .iAP_Interface =
{
.bLength = sizeof(USB_Descriptor_Interface_t),
- .bDescriptorType = USB_DESCTYPE_INTERFACE,
- .bInterfaceNumber = (INPUT_INTERFACES+OUTPUT_INTERFACES+MIDI_INTERFACES+DFU_INTERFACES+1),
- .bAlternateSetting = 0x00,
+ .bDescriptorType = USB_DESCTYPE_INTERFACE,
+ .bInterfaceNumber = (INPUT_INTERFACES+OUTPUT_INTERFACES+MIDI_INTERFACES+DFU_INTERFACES+1),
+ .bAlternateSetting = 0x00,
#ifdef IAP_INT_EP
- .bNumEndpoints = 0x03,
+ .bNumEndpoints = 0x03,
#else
.bNumEndpoints = 0x02,
#endif
- .bInterfaceClass = USB_CLASS_VENDOR_SPECIFIC,
- .bInterfaceSubClass = 0xF0, /* MFI Accessory (Table 38-1) */
+ .bInterfaceClass = USB_CLASS_VENDOR_SPECIFIC,
+ .bInterfaceSubClass = 0xF0, /* MFI Accessory (Table 38-1) */
.bInterfaceProtocol = 0x00,
.iInterface = IAP_INTERFACE_STRING_INDEX, /* Note, string is important! */
- },
+ },
/* iAP Bulk OUT Endpoint Descriptor */
- .iAP_Out_Endpoint =
+ .iAP_Out_Endpoint =
{
0x07, /* 0 bLength : Size of this descriptor, in bytes. (field size 1 bytes) */
0x05, /* 1 bDescriptorType : ENDPOINT descriptor. (field size 1 bytes) */
@@ -1157,10 +1157,10 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
0x02, /* 3 bmAttributes : Bulk, not shared. (field size 1 bytes) */
0x0200, /* 4 wMaxPacketSize : Has to be 0x200 for compliance*/
0x00, /* 6 bInterval : Ignored for Bulk. Set to zero. (field size 1 bytes) */
- },
+ },
/* iAP Bulk IN Endpoint Descriptor */
- .iAP_In_Endpoint =
+ .iAP_In_Endpoint =
{
0x07, /* 0 bLength : Size of this descriptor, in bytes. (field size 1 bytes) */
0x05, /* 1 bDescriptorType : ENDPOINT descriptor. (field size 1 bytes) */
@@ -1168,11 +1168,11 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
0x02, /* 3 bmAttributes : Bulk, not shared. (field size 1 bytes) */
0x0200, /* 4 wMaxPacketSize : Has to be 0x200 for compliance*/
0x00, /* 6 bInterval : Ignored for Bulk. Set to zero. (field size 1 bytes) */
- },
+ },
#ifdef IAP_INT_EP
/* iAP Interrupt IN Endpoint Descriptor. Note, its usage is now deprecated */
- .iAP_Interrupt_Endpoint =
+ .iAP_Interrupt_Endpoint =
{
0x07, /* 0 bLength : Size of this descriptor, in bytes. (field size 1 bytes) */
0x05, /* 1 bDescriptorType : ENDPOINT descriptor. (field size 1 bytes) */
diff --git a/module_usb_audio/endpoint0/endpoint0.c b/module_usb_audio/endpoint0/endpoint0.c
index fed6d871..7541a959 100755
--- a/module_usb_audio/endpoint0/endpoint0.c
+++ b/module_usb_audio/endpoint0/endpoint0.c
@@ -100,15 +100,15 @@ XUD_BusSpeed_t g_curUsbSpeed = 0;
unsigned g_dsdMode = 0;
#endif
-const unsigned g_subSlot_Out_HS[OUTPUT_FORMAT_COUNT] = {HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES,
+const unsigned g_subSlot_Out_HS[OUTPUT_FORMAT_COUNT] = {HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES,
HS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES,
HS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES};
-const unsigned g_subSlot_Out_FS[OUTPUT_FORMAT_COUNT] = {FS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES,
+const unsigned g_subSlot_Out_FS[OUTPUT_FORMAT_COUNT] = {FS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES,
FS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES,
FS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES};
-const unsigned g_dataFormat_Out[OUTPUT_FORMAT_COUNT] = {STREAM_FORMAT_OUTPUT_1_DATAFORMAT,
+const unsigned g_dataFormat_Out[OUTPUT_FORMAT_COUNT] = {STREAM_FORMAT_OUTPUT_1_DATAFORMAT,
STREAM_FORMAT_OUTPUT_2_DATAFORMAT,
STREAM_FORMAT_OUTPUT_3_DATAFORMAT};
@@ -116,12 +116,12 @@ const unsigned g_subSlot_In_HS[INPUT_FORMAT_COUNT] = {HS_STREAM_FORMAT_INPUT_1_S
const unsigned g_subSlot_In_FS[INPUT_FORMAT_COUNT] = {FS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES};
-const unsigned g_dataFormat_In[INPUT_FORMAT_COUNT] = {STREAM_FORMAT_INPUT_1_DATAFORMAT};
+const unsigned g_dataFormat_In[INPUT_FORMAT_COUNT] = {STREAM_FORMAT_INPUT_1_DATAFORMAT};
/* Endpoint 0 function. Handles all requests to the device */
void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
- NULLABLE_RESOURCE(chanend, c_mix_ctl),
- NULLABLE_RESOURCE(chanend, c_clk_ctl),
+ NULLABLE_RESOURCE(chanend, c_mix_ctl),
+ NULLABLE_RESOURCE(chanend, c_clk_ctl),
NULLABLE_RESOURCE(chanend, c_usb_test))
{
USB_SetupPacket_t sp;
@@ -143,7 +143,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
#ifdef MIXER
/* Set up mixer default state */
- for (int i = 0; i < 18*8; i++)
+ for (int i = 0; i < 18*8; i++)
{
mixer1Weights[i] = 0x8001; //-inf
}
@@ -276,7 +276,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
/* Send format of data onto buffering */
outuint(c_audioControl, SET_STREAM_FORMAT_OUT);
outuint(c_audioControl, g_dataFormat_Out[sp.wValue-1]); /* Data format (PCM/DSD) */
-
+
if(g_curUsbSpeed == XUD_SPEED_HS)
{
outuint(c_audioControl, NUM_USB_CHAN_OUT); /* Channel count */
@@ -287,7 +287,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
outuint(c_audioControl, NUM_USB_CHAN_OUT_FS);
outuint(c_audioControl, g_subSlot_Out_FS[sp.wValue-1]);
}
-
+
/* Handshake */
chkct(c_audioControl, XS1_CT_END);
}
@@ -304,7 +304,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
/* Send format of data onto buffering */
outuint(c_audioControl, SET_STREAM_FORMAT_IN);
outuint(c_audioControl, g_dataFormat_In[sp.wValue-1]); /* Data format (PCM/DSD) */
-
+
if(g_curUsbSpeed == XUD_SPEED_HS)
{
outuint(c_audioControl, NUM_USB_CHAN_IN); /* Channel count */
@@ -315,7 +315,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
outuint(c_audioControl, NUM_USB_CHAN_IN_FS);
outuint(c_audioControl, g_subSlot_In_FS[sp.wValue-1]);
}
-
+
/* Handshake */
chkct(c_audioControl, XS1_CT_END);
}
@@ -356,7 +356,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
//TODO - we should stall out of range requests
-
+
} /* if(sp.bRequest == SET_INTERFACE) */
break; /* BMREQ_H2D_STANDARD_INT */
@@ -406,7 +406,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
/* Consider host active with valid driver at this point */
UserHostActive(1);
}
-
+
///* No data stage for this request, just do status stage */
//result = XUD_DoSetRequestStatus(ep0_in);
@@ -472,12 +472,12 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
#ifdef __XC__
/* This will return 1 if reset requested */
if (DFUDeviceRequests(ep0_out, ep0_in, sp, null, g_interfaceAlt[sp.wIndex], 1))
-#else
+#else
/* This will return 1 if reset requested */
if (DFUDeviceRequests(ep0_out, &ep0_in, &sp, null, g_interfaceAlt[sp.wIndex], 1))
-#endif
- {
- DFUDelay(50000000);
+#endif
+ {
+ DFUDelay(50000000);
device_reboot(c_audioControl);
}
@@ -580,7 +580,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
#endif
}
else
- {
+ {
/* Modify Audio Class 2.0 Config descriptor for Full-speed operation */
#if (NUM_USB_CHAN_OUT > 0)
cfgDesc_Audio2.Audio_CS_Control_Int.Audio_Out_InputTerminal.bNrChannels = NUM_USB_CHAN_OUT_FS;
@@ -620,7 +620,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
null, 0,
#ifdef __XC__
strDescs, sizeof(strDescs)/sizeof(strDescs[0]), sp, c_usb_test, g_curUsbSpeed);
-#else
+#else
strDescs, sizeof(strDescs)/sizeof(strDescs[0]), &sp, c_usb_test, g_curUsbSpeed);
#endif
#elif (AUDIO_CLASS == 1)
@@ -654,7 +654,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
strDescs, sizeof(strDescs)/sizeof(strDescs[0]), sp, c_usb_test, g_curUsbSpeed);
#else
strDescs, sizeof(strDescs)/sizeof(strDescs[0]), &sp, c_usb_test, g_curUsbSpeed);
-#endif
+#endif
}
#endif
}
@@ -663,7 +663,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
{
#ifdef __XC__
g_curUsbSpeed = XUD_ResetEndpoint(ep0_out, ep0_in);
-#else
+#else
g_curUsbSpeed = XUD_ResetEndpoint(ep0_out, &ep0_in);
#endif
g_currentConfig = 0;
diff --git a/module_usb_audio/endpoint0/vendorrequests.h b/module_usb_audio/endpoint0/vendorrequests.h
index e571ba92..99662fd1 100644
--- a/module_usb_audio/endpoint0/vendorrequests.h
+++ b/module_usb_audio/endpoint0/vendorrequests.h
@@ -12,8 +12,8 @@
* */
int VendorAudioRequests(XUD_ep ep0_out, XUD_ep ep0_in, unsigned char bRequest, unsigned char cs, unsigned char cn,
- unsigned short unitId, unsigned char direction, chanend c_audioControl,
- NULLABLE_RESOURCE(chanend, c_mix_ctl),
+ unsigned short unitId, unsigned char direction, chanend c_audioControl,
+ NULLABLE_RESOURCE(chanend, c_mix_ctl),
NULLABLE_RESOURCE(chanend, c_clk_ctL));
#endif
diff --git a/module_usb_audio/main.xc b/module_usb_audio/main.xc
index c26fdd03..91085311 100755
--- a/module_usb_audio/main.xc
+++ b/module_usb_audio/main.xc
@@ -93,10 +93,10 @@ on tile[AUDIO_IO_TILE] : buffered in port:32 p_i2s_adc[I2S_WIRES_ADC] =
#if (XUD_SERIES_SUPPORT == XUD_L_SERIES) && (AUDIO_IO_TILE == XUD_TILE)
/* Note: L series ref clocked clocked from USB clock when USB enabled - use another clockblock for MIDI
- * if MIDI and XUD on same tile. See XUD documentation.
+ * if MIDI and XUD on same tile. See XUD documentation.
+ *
+ * This is a clash with S/PDIF Tx but simultaneous S/PDIF and MIDI not currently supported on single tile device
*
- * This is a clash with S/PDIF Tx but simultaneous S/PDIF and MIDI not currently supported on single tile device
- *
*/
#define CLKBLK_MIDI XS1_CLKBLK_1;
#else
diff --git a/module_usb_audio/usb_buffer/decouple.xc b/module_usb_audio/usb_buffer/decouple.xc
index 5832703c..d5e2459a 100644
--- a/module_usb_audio/usb_buffer/decouple.xc
+++ b/module_usb_audio/usb_buffer/decouple.xc
@@ -187,7 +187,7 @@ __builtin_unreachable();
g_aud_to_host_dptr+=2;
}
break;
-
+
case 4:
{
#if (STREAM_FORMAT_INPUT_SUBSLOT_4_USED == 1)
@@ -320,7 +320,7 @@ __builtin_unreachable();
{
switch(g_curSubSlot_out)
{
-
+
case 2:
#if (STREAM_FORMAT_OUTPUT_SUBSLOT_2_USED == 0)
__builtin_unreachable();
@@ -433,7 +433,7 @@ __builtin_unreachable();
}
break;
-
+
default:
__builtin_unreachable();
break;
@@ -617,15 +617,15 @@ static inline void SetupZerosSendBuffer(XUD_ep aud_to_host_usb_ep, unsigned samp
{
mid *= NUM_USB_CHAN_IN_FS * slotSize;
}
-
+
asm("stw %0, %1[0]"::"r"(mid),"r"(g_aud_to_host_zeros));
-
+
/* Mark EP ready with the zero buffer. Note this will simply update the packet size
* if it is already ready */
GET_SHARED_GLOBAL(p, g_aud_to_host_buffer);
XUD_SetReady_InPtr(aud_to_host_usb_ep, p+4, mid);
}
-
+
unsigned char tmpBuffer[1026];
@@ -670,7 +670,7 @@ void decouple(chanend c_mix_out,
/* Setup pointer to In stream 0 buffer. Note, length will be innited to 0
* However, this should be over-written on first stream start (assuming host
- properly sends a SetInterface() before streaming. In any case we will send
+ properly sends a SetInterface() before streaming. In any case we will send
0 length packets, which is reasonable behaviour */
t = array_to_xc_ptr(inZeroBuff);
g_aud_to_host_zeros = t;
@@ -697,7 +697,7 @@ void decouple(chanend c_mix_out,
asm("stw %0, %1[%2]"::"r"(MAX_VOL),"r"(p_multIn),"r"(i));
}
#endif
-
+
set_interrupt_handler(handle_audio_request, 200, 1, c_mix_out, 0);
/* Wait for usb_buffer() to set up globals for us to use
@@ -777,7 +777,7 @@ void decouple(chanend c_mix_out,
SET_SHARED_GLOBAL(g_aud_to_host_buffer,g_aud_to_host_zeros);
/* Update size of zeros buffer */
- SetupZerosSendBuffer(aud_to_host_usb_ep, sampFreq, g_curSubSlot_in);
+ SetupZerosSendBuffer(aud_to_host_usb_ep, sampFreq, g_curSubSlot_in);
/* Reset OUT buffer state */
outUnderflow = 1;
@@ -810,11 +810,11 @@ void decouple(chanend c_mix_out,
/* Change in IN channel count */
DISABLE_INTERRUPTS();
SET_SHARED_GLOBAL(g_freqChange_flag, 0);
-
- GET_SHARED_GLOBAL(g_numUsbChanIn, g_formatChange_NumChans);
+
+ GET_SHARED_GLOBAL(g_numUsbChanIn, g_formatChange_NumChans);
GET_SHARED_GLOBAL(g_curSubSlot_in, g_formatChange_SubSlot);
GET_SHARED_GLOBAL(dataFormat, g_formatChange_DataFormat); /* Not currently used for input stream */
-
+
/* Reset IN buffer state */
inOverflow = 0;
inUnderflow = 1;
@@ -827,7 +827,7 @@ void decouple(chanend c_mix_out,
SET_SHARED_GLOBAL(g_aud_to_host_buffer, g_aud_to_host_zeros);
/* Update size of zeros buffer */
- SetupZerosSendBuffer(aud_to_host_usb_ep, sampFreq, g_curSubSlot_in);
+ SetupZerosSendBuffer(aud_to_host_usb_ep, sampFreq, g_curSubSlot_in);
GET_SHARED_GLOBAL(usbSpeed, g_curUsbSpeed);
if (usbSpeed == XUD_SPEED_HS)
@@ -841,7 +841,7 @@ void decouple(chanend c_mix_out,
SET_SHARED_GLOBAL(g_freqChange, 0);
asm("outct res[%0],%1"::"r"(buffer_aud_ctl_chan),"r"(XS1_CT_END));
-
+
ENABLE_INTERRUPTS();
}
else if(tmp == SET_STREAM_FORMAT_OUT)
@@ -852,7 +852,7 @@ void decouple(chanend c_mix_out,
/* Change in OUT channel count - note we expect this on every stream start event */
DISABLE_INTERRUPTS();
SET_SHARED_GLOBAL(g_freqChange_flag, 0);
- GET_SHARED_GLOBAL(g_numUsbChanOut, g_formatChange_NumChans);
+ GET_SHARED_GLOBAL(g_numUsbChanOut, g_formatChange_NumChans);
GET_SHARED_GLOBAL(g_curSubSlot_out, g_formatChange_SubSlot);
GET_SHARED_GLOBAL(dataFormat, g_formatChange_DataFormat);
@@ -869,14 +869,14 @@ void decouple(chanend c_mix_out,
XUD_SetReady_OutPtr(aud_from_host_usb_ep, aud_from_host_fifo_start+4);
outOverflow = 0;
}
-
-#ifdef NATIVE_DSD
+
+#ifdef NATIVE_DSD
/* TODO only send when there is a change */
if(dataFormat == UAC_FORMAT_TYPEI_RAW_DATA)
{
dsdMode = DSD_MODE_NATIVE;
}
-
+
/* Wait for the audio code to request samples and respond with command */
inuint(c_mix_out);
outct(c_mix_out, SET_DSD_MODE);
diff --git a/module_usb_audio/usb_buffer/usb_buffer.xc b/module_usb_audio/usb_buffer/usb_buffer.xc
index 3297b648..137cf49c 100644
--- a/module_usb_audio/usb_buffer/usb_buffer.xc
+++ b/module_usb_audio/usb_buffer/usb_buffer.xc
@@ -240,11 +240,11 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, chanend c_aud
else
{
unsigned cmd = inuint(c_aud_ctl);
-
+
if(cmd == SET_SAMPLE_FREQ)
{
sampleFreq = inuint(c_aud_ctl);
-
+
/* Don't update things for DFU command.. */
if(sampleFreq != AUDIO_STOP_FOR_DFU)
{
@@ -262,17 +262,17 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, chanend c_aud
/* Ideally we want to wait for handshake (and pass back up) here. But we cannot keep this
* core locked, it must stay responsive to packets (MIDI etc) and SOFs. So, set a flag and check for
* handshake elsewhere */
- SET_SHARED_GLOBAL(g_freqChange_sampFreq, sampleFreq);
+ SET_SHARED_GLOBAL(g_freqChange_sampFreq, sampleFreq);
}
else if(cmd == SET_STREAM_FORMAT_IN)
{
unsigned formatChange_SubSlot, formatChange_NumChans, formatChange_DataFormat;
-
+
formatChange_DataFormat = inuint(c_aud_ctl);
- formatChange_NumChans = inuint(c_aud_ctl);
+ formatChange_NumChans = inuint(c_aud_ctl);
formatChange_SubSlot = inuint(c_aud_ctl);
- SET_SHARED_GLOBAL(g_formatChange_NumChans, formatChange_NumChans);
+ SET_SHARED_GLOBAL(g_formatChange_NumChans, formatChange_NumChans);
SET_SHARED_GLOBAL(g_formatChange_SubSlot, formatChange_SubSlot);
SET_SHARED_GLOBAL(g_formatChange_DataFormat, formatChange_DataFormat);
}
@@ -281,15 +281,15 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, chanend c_aud
XUD_BusSpeed_t busSpeed;
unsigned formatChange_SubSlot, formatChange_NumChans, formatChange_DataFormat;
formatChange_DataFormat = inuint(c_aud_ctl);
- formatChange_NumChans = inuint(c_aud_ctl);
+ formatChange_NumChans = inuint(c_aud_ctl);
formatChange_SubSlot = inuint(c_aud_ctl);
- SET_SHARED_GLOBAL(g_formatChange_NumChans, formatChange_NumChans);
+ SET_SHARED_GLOBAL(g_formatChange_NumChans, formatChange_NumChans);
SET_SHARED_GLOBAL(g_formatChange_SubSlot, formatChange_SubSlot);
SET_SHARED_GLOBAL(g_formatChange_DataFormat, formatChange_DataFormat);
-
- /* Host is starting up the output stream. Setup (or potentially resize) feedback packet based on bus-speed
- * This is only really important on inital start up (when bus-speed
+
+ /* Host is starting up the output stream. Setup (or potentially resize) feedback packet based on bus-speed
+ * This is only really important on inital start up (when bus-speed
was unknown) and when changing bus-speeds */
GET_SHARED_GLOBAL(busSpeed, g_curUsbSpeed);
@@ -409,7 +409,7 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, chanend c_aud
case XUD_SetData_Select(c_aud_fb, ep_aud_fb, result):
{
XUD_BusSpeed_t busSpeed;
-
+
GET_SHARED_GLOBAL(busSpeed, g_curUsbSpeed);
if (busSpeed == XUD_SPEED_HS)
@@ -438,7 +438,7 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, chanend c_aud
#ifdef MIDI
case XUD_GetData_Select(c_midi_from_host, ep_midi_from_host, length, result):
-
+
if((result == XUD_RES_OKAY) && (length > 0))
{
/* Get buffer data from host - MIDI OUT from host always into a single buffer */
@@ -483,7 +483,7 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, chanend c_aud
#ifdef IAP
/* IAP OUT from host. Datalength writen to tmp */
case XUD_GetData_Select(c_iap_from_host, ep_iap_from_host, length, result):
-
+
if((result == XUD_RES_OKAY) && (length > 0))
{
iap_data_remaining_to_device = length;
@@ -530,7 +530,7 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, chanend c_aud
#ifdef IAP_INT_EP
case XUD_SetData_Select(c_iap_to_host_int, ep_iap_to_host_int, result):
-
+
/* Do nothing.. */
/* Note, could get a reset notification here, but deal with it in the case above */
break;
@@ -664,7 +664,7 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, chanend c_aud
result1 = XUD_SetReady_In(ep_iap_to_host_int, gc_zero_buffer, 0);
#endif
result2 = XUD_SetReady_In(ep_iap_to_host, iap_to_host_buffer, iap_data_collected_from_device);
-
+
if((result1 == XUD_RES_RST) || (result2 == XUD_RES_RST))
{
#ifdef IAP_INT_EP
@@ -674,9 +674,9 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, chanend c_aud
iap_send_reset(c_iap);
iap_draining_chan = 1; // Drain c_iap until a reset is sent back
iap_data_remaining_to_device = -1;
- iap_from_host_rdptr = 0;
+ iap_from_host_rdptr = 0;
}
-
+
iap_data_collected_from_device = 0;
iap_expected_data_length = 0;
}
diff --git a/xpd.xml b/xpd.xml
index effe0933..2095a9c5 100644
--- a/xpd.xml
+++ b/xpd.xml
@@ -20,8 +20,8 @@
- module_queue
module_xassert
+ module_queue
MIDI
@@ -48,6 +48,7 @@
+
XM-004720-SM
XMOS