'Release: 6.5.1beta0'

This commit is contained in:
Ross Owen
2014-03-25 13:12:37 +00:00
parent 64f4225084
commit 1488353b8d
7 changed files with 114 additions and 113 deletions

View File

@@ -1,7 +1,7 @@
USB Audio Shared
................
:Latest release: 6.5.0beta2
:Latest release: 6.5.1beta0
:Maintainer: xross
:Description: USB Audio Shared Components. For use in the XMOS USB Audio Refererence Designs.

View File

@@ -296,7 +296,7 @@
/* Device release number in BCD: 0xJJMN */
#define BCD_DEVICE_J 6
#define BCD_DEVICE_M 5
#define BCD_DEVICE_N 0
#define BCD_DEVICE_N 1
#ifndef BCD_DEVICE
#define BCD_DEVICE ((BCD_DEVICE_J << 8) | ((BCD_DEVICE_M & 0xF) << 4) | (BCD_DEVICE_N & 0xF))
@@ -834,8 +834,8 @@
#define DFU_PID PID_AUDIO_2
#define DFU_VENDOR_ID VENDOR_ID
#define DFU_BCD_DEVICE BCD_DEVICE
#define DFU_MANUFACTURER_STR_INDEX offsetof(StringDescTable_t, vendorStr)/sizeof(char *)
#define DFU_PRODUCT_STR_INDEX offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *)
#define DFU_MANUFACTURER_STR_INDEX offsetof(StringDescTable_t, vendorStr)/sizeof(char *)
#define DFU_PRODUCT_STR_INDEX offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *)
#endif
/* USB test mode support enabled by default (Required for compliance testing) */

View File

@@ -24,22 +24,22 @@
typedef struct
{
STR_TABLE_ENTRY(langID);
STR_TABLE_ENTRY(langID);
STR_TABLE_ENTRY(vendorStr);
STR_TABLE_ENTRY(serialStr);
/* Audio 2.0 Strings */
/* Audio 2.0 Strings */
STR_TABLE_ENTRY(productStr_Audio2); /* Product string for Audio 2 */
STR_TABLE_ENTRY(outputInterfaceStr_Audio2); /* iInterface for streaming intefaces */
STR_TABLE_ENTRY(inputInterfaceStr_Audio2); /* iInterface for streaming intefaces */
STR_TABLE_ENTRY(outputInterfaceStr_Audio2); /* iInterface for streaming intefaces */
STR_TABLE_ENTRY(inputInterfaceStr_Audio2); /* iInterface for streaming intefaces */
STR_TABLE_ENTRY(usbInputTermStr_Audio2); /* Users sees as output from host */
STR_TABLE_ENTRY(usbOutputTermStr_Audio2); /* User sees as input to host */
#if defined (AUDIO_CLASS_FALLBACK) || (AUDIO_CLASS == 1)
/* Audio 1.0 Strings */
STR_TABLE_ENTRY(productStr_Audio1); /* Product string for Audio 1 */
STR_TABLE_ENTRY(outputInterfaceStr_Audio1); /* iInterface for streaming intefaces */
STR_TABLE_ENTRY(inputInterfaceStr_Audio1); /* iInterface for streaming intefaces */
STR_TABLE_ENTRY(outputInterfaceStr_Audio1); /* iInterface for streaming intefaces */
STR_TABLE_ENTRY(inputInterfaceStr_Audio1); /* iInterface for streaming intefaces */
STR_TABLE_ENTRY(usbInputTermStr_Audio1); /* Users sees as output from host */
STR_TABLE_ENTRY(usbOutputTermStr_Audio1); /* User sees as input to host */
#endif
@@ -62,52 +62,52 @@ typedef struct
STR_TABLE_ENTRY(outputChanStr_1);
#endif
#if (NUM_USB_CHAN_OUT > 1)
STR_TABLE_ENTRY(outputChanStr_2);
STR_TABLE_ENTRY(outputChanStr_2);
#endif
#if (NUM_USB_CHAN_OUT > 2)
STR_TABLE_ENTRY(outputChanStr_3);
STR_TABLE_ENTRY(outputChanStr_3);
#endif
#if (NUM_USB_CHAN_OUT > 3)
STR_TABLE_ENTRY(outputChanStr_4);
STR_TABLE_ENTRY(outputChanStr_4);
#endif
#if (NUM_USB_CHAN_OUT > 4)
STR_TABLE_ENTRY(outputChanStr_5);
STR_TABLE_ENTRY(outputChanStr_5);
#endif
#if (NUM_USB_CHAN_OUT > 5)
STR_TABLE_ENTRY(outputChanStr_6);
STR_TABLE_ENTRY(outputChanStr_6);
#endif
#if (NUM_USB_CHAN_OUT > 6)
STR_TABLE_ENTRY(outputChanStr_7);
STR_TABLE_ENTRY(outputChanStr_7);
#endif
#if (NUM_USB_CHAN_OUT > 7)
STR_TABLE_ENTRY(outputChanStr_8);
STR_TABLE_ENTRY(outputChanStr_8);
#endif
#if (NUM_USB_CHAN_OUT > 8)
STR_TABLE_ENTRY(outputChanStr_9);
STR_TABLE_ENTRY(outputChanStr_9);
#endif
#if (NUM_USB_CHAN_OUT > 9)
STR_TABLE_ENTRY(outputChanStr_10);
STR_TABLE_ENTRY(outputChanStr_10);
#endif
#if (NUM_USB_CHAN_OUT > 10)
STR_TABLE_ENTRY(outputChanStr_11);
STR_TABLE_ENTRY(outputChanStr_11);
#endif
#if (NUM_USB_CHAN_OUT > 11)
STR_TABLE_ENTRY(outputChanStr_12);
STR_TABLE_ENTRY(outputChanStr_12);
#endif
#if (NUM_USB_CHAN_OUT > 12)
STR_TABLE_ENTRY(outputChanStr_13);
STR_TABLE_ENTRY(outputChanStr_13);
#endif
#if (NUM_USB_CHAN_OUT > 13)
STR_TABLE_ENTRY(outputChanStr_14);
STR_TABLE_ENTRY(outputChanStr_14);
#endif
#if (NUM_USB_CHAN_OUT > 14)
STR_TABLE_ENTRY(outputChanStr_15);
STR_TABLE_ENTRY(outputChanStr_15);
#endif
#if (NUM_USB_CHAN_OUT > 15)
STR_TABLE_ENTRY(outputChanStr_16);
STR_TABLE_ENTRY(outputChanStr_16);
#endif
#if (NUM_USB_CHAN_OUT > 16)
STR_TABLE_ENTRY(outputChanStr_17);
STR_TABLE_ENTRY(outputChanStr_17);
#endif
#if (NUM_USB_CHAN_OUT > 17)
STR_TABLE_ENTRY(outputChanStr_18);
@@ -120,52 +120,52 @@ typedef struct
STR_TABLE_ENTRY(inputChanStr_1);
#endif
#if (NUM_USB_CHAN_IN > 1)
STR_TABLE_ENTRY(inputChanStr_2);
STR_TABLE_ENTRY(inputChanStr_2);
#endif
#if (NUM_USB_CHAN_IN > 2)
STR_TABLE_ENTRY(inputChanStr_3);
STR_TABLE_ENTRY(inputChanStr_3);
#endif
#if (NUM_USB_CHAN_IN > 3)
STR_TABLE_ENTRY(inputChanStr_4);
STR_TABLE_ENTRY(inputChanStr_4);
#endif
#if (NUM_USB_CHAN_IN > 4)
STR_TABLE_ENTRY(inputChanStr_5);
STR_TABLE_ENTRY(inputChanStr_5);
#endif
#if (NUM_USB_CHAN_IN > 5)
STR_TABLE_ENTRY(inputChanStr_6);
STR_TABLE_ENTRY(inputChanStr_6);
#endif
#if (NUM_USB_CHAN_IN > 6)
STR_TABLE_ENTRY(inputChanStr_7);
STR_TABLE_ENTRY(inputChanStr_7);
#endif
#if (NUM_USB_CHAN_IN > 7)
STR_TABLE_ENTRY(inputChanStr_8);
STR_TABLE_ENTRY(inputChanStr_8);
#endif
#if (NUM_USB_CHAN_IN > 8)
STR_TABLE_ENTRY(inputChanStr_9);
STR_TABLE_ENTRY(inputChanStr_9);
#endif
#if (NUM_USB_CHAN_IN > 9)
STR_TABLE_ENTRY(inputChanStr_10);
STR_TABLE_ENTRY(inputChanStr_10);
#endif
#if (NUM_USB_CHAN_IN > 10)
STR_TABLE_ENTRY(inputChanStr_11);
STR_TABLE_ENTRY(inputChanStr_11);
#endif
#if (NUM_USB_CHAN_IN > 11)
STR_TABLE_ENTRY(inputChanStr_12);
STR_TABLE_ENTRY(inputChanStr_12);
#endif
#if (NUM_USB_CHAN_IN > 12)
STR_TABLE_ENTRY(inputChanStr_13);
STR_TABLE_ENTRY(inputChanStr_13);
#endif
#if (NUM_USB_CHAN_IN > 13)
STR_TABLE_ENTRY(inputChanStr_14);
STR_TABLE_ENTRY(inputChanStr_14);
#endif
#if (NUM_USB_CHAN_IN > 14)
STR_TABLE_ENTRY(inputChanStr_15);
STR_TABLE_ENTRY(inputChanStr_15);
#endif
#if (NUM_USB_CHAN_IN > 15)
STR_TABLE_ENTRY(inputChanStr_16);
STR_TABLE_ENTRY(inputChanStr_16);
#endif
#if (NUM_USB_CHAN_IN > 16)
STR_TABLE_ENTRY(inputChanStr_17);
STR_TABLE_ENTRY(inputChanStr_17);
#endif
#if (NUM_USB_CHAN_IN > 17)
STR_TABLE_ENTRY(inputChanStr_18);
@@ -179,7 +179,7 @@ typedef struct
} StringDescTable_t;
StringDescTable_t g_strTable =
StringDescTable_t g_strTable =
{
.langID = "\x09\x04", /* US English */
.vendorStr = VENDOR_STR,
@@ -189,9 +189,9 @@ StringDescTable_t g_strTable =
.inputInterfaceStr_Audio2 = APPEND_PRODUCT_STR_A2(Input),
.usbInputTermStr_Audio2 = APPEND_PRODUCT_STR_A2(Output),
.usbOutputTermStr_Audio2 = APPEND_PRODUCT_STR_A2(Input),
#if defined (AUDIO_CLASS_FALLBACK) || (AUDIO_CLASS == 1)
.productStr_Audio1 = PRODUCT_STR_A1,
.productStr_Audio1 = PRODUCT_STR_A1,
.outputInterfaceStr_Audio1 = APPEND_PRODUCT_STR_A1(Output),
.inputInterfaceStr_Audio1 = APPEND_PRODUCT_STR_A1(Input),
.usbInputTermStr_Audio1 = APPEND_PRODUCT_STR_A1(Output),
@@ -228,7 +228,7 @@ StringDescTable_t g_strTable =
#else
.outputChanStr_2 = "S/PDIF 1",
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 0)
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 0)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_2 = "Analogue 2/SPDIF 2",
#else
@@ -244,8 +244,8 @@ StringDescTable_t g_strTable =
.outputChanStr_3 = "Analogue 3/SPDIF 1",
#else
.outputChanStr_3 = "S/PDIF 1",
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 1)
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 1)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_3 = "Analogue 3/SPDIF 2",
#else
@@ -261,8 +261,8 @@ StringDescTable_t g_strTable =
.outputChanStr_4 = "Analogue 4/SPDIF 1",
#else
.outputChanStr_4 = "S/PDIF 1",
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 2)
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 2)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_4 = "Analogue 4/SPDIF 2",
#else
@@ -279,7 +279,7 @@ StringDescTable_t g_strTable =
.outputChanStr_5 = "Analogue 5/SPDIF 1",
#else
.outputChanStr_5 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 3)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_5 = "Analogue 5/SPDIF 2",
@@ -297,7 +297,7 @@ StringDescTable_t g_strTable =
.outputChanStr_6 = "Analogue 6/SPDIF 1",
#else
.outputChanStr_6 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 4)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_6 = "Analogue 6/SPDIF 2",
@@ -315,8 +315,8 @@ StringDescTable_t g_strTable =
.outputChanStr_7 = "Analogue 7/SPDIF 1",
#else
.outputChanStr_7 = "S/PDIF 1",
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 5)
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 5)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_7 = "Analogue 7/SPDIF 2",
#else
@@ -333,7 +333,7 @@ StringDescTable_t g_strTable =
.outputChanStr_8 = "Analogue 8/SPDIF 1",
#else
.outputChanStr_8 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 6)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_8 = "Analogue 8/SPDIF 2",
@@ -351,7 +351,7 @@ StringDescTable_t g_strTable =
.outputChanStr_9 = "Analogue 9/SPDIF 1",
#else
.outputChanStr_9 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 7)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_9 = "Analogue 9/SPDIF 2",
@@ -369,7 +369,7 @@ StringDescTable_t g_strTable =
.outputChanStr_10 = "Analogue 10/SPDIF 1",
#else
.outputChanStr_10 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 8)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_10 = "Analogue 10/SPDIF 2",
@@ -387,7 +387,7 @@ StringDescTable_t g_strTable =
.outputChanStr_11 = "Analogue 11/SPDIF 1",
#else
.outputChanStr_11 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 9)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_11 = "Analogue 11/SPDIF 2",
@@ -405,7 +405,7 @@ StringDescTable_t g_strTable =
.outputChanStr_12 = "Analogue 12/SPDIF 1",
#else
.outputChanStr_12 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 10)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_12 = "Analogue 12/SPDIF 2",
@@ -423,7 +423,7 @@ StringDescTable_t g_strTable =
.outputChanStr_13 = "Analogue 13/SPDIF 1",
#else
.outputChanStr_13 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 11)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_13 = "Analogue 13/SPDIF 2",
@@ -441,7 +441,7 @@ StringDescTable_t g_strTable =
.outputChanStr_14 = "Analogue 14/SPDIF 1",
#else
.outputChanStr_14 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 12)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_14 = "Analogue 14/SPDIF 2",
@@ -459,7 +459,7 @@ StringDescTable_t g_strTable =
.outputChanStr_15 = "Analogue 15/SPDIF 1",
#else
.outputChanStr_15 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 13)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_15 = "Analogue 15/SPDIF 2",
@@ -477,7 +477,7 @@ StringDescTable_t g_strTable =
.outputChanStr_16 = "Analogue 16/SPDIF 1",
#else
.outputChanStr_16 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 14)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_16 = "Analogue 16/SPDIF 2",
@@ -495,7 +495,7 @@ StringDescTable_t g_strTable =
.outputChanStr_17 = "Analogue 17/SPDIF 1",
#else
.outputChanStr_17 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 15)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_17 = "Analogue 17/SPDIF 2",
@@ -513,7 +513,7 @@ StringDescTable_t g_strTable =
.outputChanStr_18 = "Analogue 18/SPDIF 1",
#else
.outputChanStr_18 = "S/PDIF 1",
#endif
#endif
#elif defined(SPDIF) && (SPDIF_TX_INDEX == 16)
#if(SPDIF_TX_INDEX < I2S_CHANS_DAC)
.outputChanStr_18 = "Analogue 18/SPDIF 2",
@@ -551,7 +551,7 @@ StringDescTable_t g_strTable =
#if (NUM_USB_CHAN_IN > 6)
.inputChanStr_7 = "Analogue 7",
#endif
#if (NUM_USB_CHAN_IN > 7)
#if (NUM_USB_CHAN_IN > 7)
.inputChanStr_8 = "Analogue 8",
#endif
#if (NUM_USB_CHAN_IN > 8)
@@ -589,7 +589,7 @@ StringDescTable_t g_strTable =
#endif
.iAPInterfaceStr = "iAP Interface",
};
};
/***** Device Descriptors *****/
@@ -598,20 +598,20 @@ StringDescTable_t g_strTable =
/* Device Descriptor for Audio Class 1.0 (Assumes Full-Speed) */
USB_Descriptor_Device_t devDesc_Audio1 =
{
.bLength = sizeof(USB_Descriptor_Device_t),
.bDescriptorType = USB_DESCTYPE_DEVICE,
.bLength = sizeof(USB_Descriptor_Device_t),
.bDescriptorType = USB_DESCTYPE_DEVICE,
.bcdUSB = 0x0200,
.bDeviceClass = 0,
.bDeviceSubClass = 0,
.bDeviceProtocol = 0,
.bMaxPacketSize0 = 64,
.bDeviceClass = 0,
.bDeviceSubClass = 0,
.bDeviceProtocol = 0,
.bMaxPacketSize0 = 64,
.idVendor = VENDOR_ID,
.idProduct = PID_AUDIO_1,
.bcdDevice = BCD_DEVICE,
.iManufacturer = offsetof(StringDescTable_t, vendorStr)/sizeof(char *),
.iProduct = offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *),
.idProduct = PID_AUDIO_1,
.bcdDevice = BCD_DEVICE,
.iManufacturer = offsetof(StringDescTable_t, vendorStr)/sizeof(char *),
.iProduct = offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *),
.iSerialNumber = 0,
.bNumConfigurations = 1
.bNumConfigurations = 1
};
#endif
@@ -628,8 +628,8 @@ USB_Descriptor_Device_t devDesc_Audio2 =
.idVendor = VENDOR_ID,
.idProduct = PID_AUDIO_2,
.bcdDevice = BCD_DEVICE,
.iManufacturer = offsetof(StringDescTable_t, vendorStr)/sizeof(char *),
.iProduct = offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *),
.iManufacturer = offsetof(StringDescTable_t, vendorStr)/sizeof(char *),
.iProduct = offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *),
.iSerialNumber = 0,
.bNumConfigurations = 0x02 /* Set to 2 such that windows does not load composite driver */
};
@@ -651,8 +651,8 @@ unsigned char devDesc_Null[] =
(PID_AUDIO_2 >> 8), /* 11 idProduct */
(BCD_DEVICE & 0xFF), /* 12 bcdDevice : Device release number */
(BCD_DEVICE >> 8), /* 13 bcdDevice : Device release number */
offsetof(StringDescTable_t, vendorStr)/sizeof(char *),
offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *),
offsetof(StringDescTable_t, vendorStr)/sizeof(char *),
offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *),
0, /* 16 iSerialNumber : Index of serial number decriptor */
0x01 /* 17 bNumConfigurations : Number of possible configs */
};
@@ -910,7 +910,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
.bInterfaceClass = USB_CLASS_AUDIO,
.bInterfaceSubClass = UAC_INT_SUBCLASS_AUDIOCONTROL,
.bInterfaceProtocol = UAC_INT_PROTOCOL_IP_VERSION_02_00,
.iInterface = offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *),
.iInterface = offsetof(StringDescTable_t, productStr_Audio2)/sizeof(char *),
},
.Audio_CS_Control_Int =
@@ -946,7 +946,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
D[3:2] : Clock Validity Control
D[7:4] : Reserved (0) */
.bAssocTerminal = 0x00,
.iClockSource = offsetof(StringDescTable_t, internalClockSourceStr)/sizeof(char *),
.iClockSource = offsetof(StringDescTable_t, internalClockSourceStr)/sizeof(char *),
},
/* Clock Selector Descriptor (4.7.2.2) */
@@ -981,7 +981,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
ID_CLKSEL, /* 7 bCSourceID: ID of Clock Entity */
NUM_USB_CHAN_OUT, /* 8 bNrChannels */
0x00000000, /* 9 bmChannelConfig TODO. Set me! */
.iChannelNames = offsetof(StringDescTable_t, outputChanStr_1)/sizeof(char *),
.iChannelNames = offsetof(StringDescTable_t, outputChanStr_1)/sizeof(char *),
0x0000, /* 14 bmControls */
6, /* 16 iTerminal */
},
@@ -1089,7 +1089,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
.bCSourceID = ID_CLKSEL,
.bNrChannels = NUM_USB_CHAN_IN,
.bmChannelConfig = 0x00000000,
.iChannelNames = offsetof(StringDescTable_t, inputChanStr_1)/sizeof(char *),
.iChannelNames = offsetof(StringDescTable_t, inputChanStr_1)/sizeof(char *),
.bmControls = 0x0000,
.iTerminal = 0,
},
@@ -1228,7 +1228,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
STREAM_FORMAT_OUTPUT_1_DATAFORMAT,/* 6:10 bmFormats (note this is a bitmap) */
NUM_USB_CHAN_OUT, /* 11 bNrChannels */
0x00000000, /* 12:14: bmChannelConfig */
.iChannelNames = offsetof(StringDescTable_t, outputChanStr_1)/sizeof(char *),
.iChannelNames = offsetof(StringDescTable_t, outputChanStr_1)/sizeof(char *),
},
/* Type 1 Format Type Descriptor */
@@ -1382,7 +1382,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
{
.bLength = 0x06,
.bDescriptorType = UAC_CS_DESCTYPE_INTERFACE,
.bDescriptorSubtype = UAC_CS_AS_INTERFACE_SUBTYPE_FORMAT_TYPE,
.bDescriptorSubtype = UAC_CS_AS_INTERFACE_SUBTYPE_FORMAT_TYPE,
.bFormatType = UAC_FORMAT_TYPE_I,
.bSubslotSize = HS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES,
.bBitResolution = HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS,
@@ -1391,10 +1391,10 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
/* Standard AS Isochronous Audio Data Endpoint Descriptor (4.10.1.1) */
.Audio_Out_Endpoint_3 =
{
.bLength = 0x07,
.bDescriptorType = USB_DESCTYPE_ENDPOINT,
.bEndpointAddress = 0x01,
.bmAttributes = 0x05,
.bLength = 0x07,
.bDescriptorType = USB_DESCTYPE_ENDPOINT,
.bEndpointAddress = 0x01,
.bmAttributes = 0x05,
.wMaxPacketSize = HS_STREAM_FORMAT_OUTPUT_3_MAXPACKETSIZE,
.bInterval = 1,
},
@@ -1402,10 +1402,10 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
/* Class-Specific AS Isochronous Audio Data Endpoint Descriptor (4.10.1.2) */
.Audio_Out_ClassEndpoint_3 =
{
.bLength = 0x08,
.bDescriptorType = UAC_CS_DESCTYPE_ENDPOINT,
.bDescriptorSubtype = 0x01,
.bmAttributes = 0x00,
.bLength = 0x08,
.bDescriptorType = UAC_CS_DESCTYPE_ENDPOINT,
.bDescriptorSubtype = 0x01,
.bmAttributes = 0x00,
.bmControls = 0x00, /* (Bitmap: Pitch control, over/underun etc) */
.bLockDelayUnits = 0x02, /* Decoded PCM samples */
.wLockDelay = 0x0008,
@@ -1413,11 +1413,11 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
.Audio_Out_Fb_Endpoint_3 =
{
.bLength = 0x07,
.bDescriptorType = USB_DESCTYPE_ENDPOINT,
.bEndpointAddress = 0x81,
.bLength = 0x07,
.bDescriptorType = USB_DESCTYPE_ENDPOINT,
.bEndpointAddress = 0x81,
.bmAttributes = 17, /* (bitmap) */
.wMaxPacketSize = 0x0004,
.wMaxPacketSize = 0x0004,
.bInterval = 4, /* Only values <= 1 frame (4) supported by MS */
},
#endif /* OUTPUT_FORMAT_COUNT > 2 */
@@ -1466,7 +1466,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
UAC_FORMAT_TYPEI_PCM,/* 6:10 bmFormats (note this is a bitmap) */
NUM_USB_CHAN_IN, /* 11 bNrChannels */
0x00000000, /* 12:14: bmChannelConfig */
.iChannelNames = offsetof(StringDescTable_t, inputChanStr_1)/sizeof(char *),
.iChannelNames = offsetof(StringDescTable_t, inputChanStr_1)/sizeof(char *),
},
/* Type 1 Format Type Descriptor */
@@ -1632,7 +1632,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
0xFE, /* 5 bInterfaceClass : DFU. (field size 1 bytes) */
0x01, /* 6 bInterfaceSubclass : (field size 1 bytes) */
0x01, /* 7 bInterfaceProtocol : Unused. (field size 1 bytes) */
offsetof(StringDescTable_t, dfuStr)/sizeof(char *), /* 8 iInterface */
offsetof(StringDescTable_t, dfuStr)/sizeof(char *), /* 8 iInterface */
#if 0
/* DFU 1.0 Run-Time DFU Functional Descriptor */
@@ -1901,7 +1901,7 @@ unsigned char cfgDesc_Audio1[] =
0x01, /* controlSize - 1 */
0x00, /* bmaControls(0) */
0x03, /* bmaControls(1) */
0x03, /* bmaControls(2) */
0x03, /* bmaControls(2) */
0x00, /* String table index */
#endif

View File

@@ -367,7 +367,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
UserHostActive(1);
}
/* We want to run USB_StandardsRequests() implementation also. Don't modify result
/* We want to run USB_StandardsRequests() implementation also. Don't modify result
* and don't call XUD_DoSetRequestStatus() */
break;

View File

@@ -17,9 +17,9 @@
**/
void usb_midi(
#if (MIDI_RX_PORT_WIDTH == 4)
buffered in port:4 ?p_midi_in,
#else
buffered in port:1 ?p_midi_in,
buffered in port:4 ?p_midi_in,
#else
buffered in port:1 ?p_midi_in,
#endif
port ?p_midi_out,
clock ?clk_midi,

View File

@@ -55,9 +55,9 @@ timer iAPTimer;
void usb_midi(
#if (MIDI_RX_PORT_WIDTH == 4)
buffered in port:4 ?p_midi_in,
#else
buffered in port:1 ?p_midi_in,
buffered in port:4 ?p_midi_in,
#else
buffered in port:1 ?p_midi_in,
#endif
port ?p_midi_out,
clock ?clk_midi,

View File

@@ -7,7 +7,7 @@
</component>
<component description = "queue" type = "demoCode" scope = "General Use" path = "module_queue" local = "false" id = "module_queue" name = "Queing Module For USB Audio Framwwork">
<board></board>
<componentDependency repo = "git://github.com/xcore/sc_util" version = "1.0.3">module_xassert</componentDependency>
<componentDependency repo = "git://github.com/xcore/sc_util" version = "1.0.4">module_xassert</componentDependency>
<keyword>UAC2</keyword>
</component>
<component description = "Core USB Audio Module" type = "demoCode" scope = "General Use" path = "module_usb_audio" local = "false" id = "module_usb_audio" name = "USB AUDIO MODULE">
@@ -20,8 +20,8 @@
</component>
<component description = "MIDI" type = "demoCode" scope = "General Use" path = "module_usb_midi" local = "false" id = "module_usb_midi" name = "MIDI Module for USB Audio Framework">
<board></board>
<componentDependency repo = "git://github.com/xcore/sc_util" version = "1.0.3">module_xassert</componentDependency>
<componentDependency version = "6.5.0">module_queue</componentDependency>
<componentDependency repo = "git://github.com/xcore/sc_util" version = "1.0.4">module_xassert</componentDependency>
<keyword>MIDI</keyword>
</component>
</components>
@@ -51,6 +51,7 @@
<release parenthash = "bee14703105874475756abeaefe2fbfc42f6b035" version = "6.5.0beta0" githash = "9c5e0a1dd8b18cad1b7394260d67bcfc5b290834"></release>
<release parenthash = "0e120103c1b48d237420a462b68207fbd146acfa" version = "6.5.0beta1" githash = "1e31c9e51847fad9950d03d80dba86a9a8505bee"></release>
<release parenthash = "acd4fb35da412a9fbba8776d32a6a7d6fe57d9b4" version = "6.5.0beta2" githash = "8a6be40889401c5fc5815f3075185819a21cf871"></release>
<release parenthash = "64f42250848119c3ffddf41021a1a8edf6ab30f3" version = "6.5.1beta0"></release>
<subpartnumber>XM-004720-SM</subpartnumber>
<vendor>XMOS</vendor>
<version_defines>