diff --git a/module_usb_aud_shared/endpoint0/endpoint0.xc b/module_usb_aud_shared/endpoint0/endpoint0.xc index 51d3c687..ba897759 100755 --- a/module_usb_aud_shared/endpoint0/endpoint0.xc +++ b/module_usb_aud_shared/endpoint0/endpoint0.xc @@ -133,8 +133,8 @@ static unsigned char strDesc_langIDs[] = DESC_STR_LANGIDS; void VendorAudioRequestsInit(chanend c_audioControl, chanend ?c_mix_ctl, chanend ?c_clk_ctl); /* Endpoint 0 function. Handles all requests to the device */ -void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, chanend ?c_mix_ctl, chanend ?c_clk_ctl -) +void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, + chanend ?c_mix_ctl, chanend ?c_clk_ctl, chanend ?c_usb_test) { unsigned char buffer[512]; SetupPacket sp; @@ -286,7 +286,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha cfgDesc_Audio2, sizeof(cfgDesc_Audio2), devQualDesc_Audio1, sizeof(devQualDesc_Audio1), cfgDesc_Audio1, sizeof(cfgDesc_Audio1), - strDescs_Audio2, sp); + strDescs_Audio2, sp, c_usb_test); #else /* Return Audio 2.0 Descriptors */ cfgDesc_Audio2[1] = CONFIGURATION; @@ -297,7 +297,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha cfgDesc_Audio2, sizeof(cfgDesc_Audio2), devQualDesc_Null, sizeof(devQualDesc_Null), cfgDesc_Null, sizeof(cfgDesc_Null), - strDescs_Audio2, sp); + strDescs_Audio2, sp, c_usb_test); #endif } else @@ -312,7 +312,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha cfgDesc_Audio1, sizeof(cfgDesc_Audio1), devQualDesc_Audio2, sizeof(devQualDesc_Audio2), cfgDesc_Audio2, sizeof(cfgDesc_Audio2), - strDescs_Audio1, sp); + strDescs_Audio1, sp, c_usb_test); #else cfgDesc_Null[1] = CONFIGURATION; @@ -323,7 +323,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha cfgDesc_Null, sizeof(cfgDesc_Null), devQualDesc_Audio2, sizeof(devQualDesc_Audio2), cfgDesc_Audio2, sizeof(cfgDesc_Audio2), - strDescs_Audio2, sp); + strDescs_Audio2, sp, c_usb_test); #endif } @@ -343,7 +343,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha cfgDesc_Audio2, sizeof(cfgDesc_Audio2), devQualDesc_Audio1, sizeof(devQualDesc_Audio1), cfgDesc_Audio1, sizeof(cfgDesc_Audio1), - strDescs_Audio2, sp); + strDescs_Audio2, sp, c_usb_test); #else /* Return Audio 2.0 Descriptors with Null device as fallback */ cfgDesc_Audio2[1] = CONFIGURATION; @@ -354,7 +354,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha cfgDesc_Audio2, sizeof(cfgDesc_Audio2), devQualDesc_Null, sizeof(devQualDesc_Null), cfgDesc_Null, sizeof(cfgDesc_Null), - strDescs_Audio2, sp); + strDescs_Audio2, sp, c_usb_test); #endif } @@ -370,7 +370,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha cfgDesc_Audio1, sizeof(cfgDesc_Audio1), devQualDesc_Audio2, sizeof(devQualDesc_Audio2), cfgDesc_Audio2, sizeof(cfgDesc_Audio2), - strDescs_Audio1, sp); + strDescs_Audio1, sp, c_usb_test); #else cfgDesc_Null[1] = CONFIGURATION; cfgDesc_Audio2[1] = OTHER_SPEED_CONFIGURATION; @@ -380,7 +380,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha cfgDesc_Null, sizeof(cfgDesc_Null), devQualDesc_Audio2, sizeof(devQualDesc_Audio2), cfgDesc_Audio2, sizeof(cfgDesc_Audio2), - strDescs_Audio2, sp); + strDescs_Audio2, sp, c_usb_test); #endif } @@ -393,7 +393,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha DFUcfgDesc, sizeof(DFUcfgDesc), DFUdevQualDesc, sizeof(DFUdevQualDesc), DFUoSpeedCfgDesc, sizeof(DFUoSpeedCfgDesc), - strDescs_Audio2, sp); + strDescs_Audio2, sp, c_usb_test); } #endif @@ -733,9 +733,12 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, cha /* TODO we should not make the assumption that all DFU requests are handled */ retVal = 0; } - /* Check for: Audio interface request - always 0, note we check for DFU first - * Audio endpoint request */ + /* Check for: - Audio CONTROL interface request - always 0, note we check for DFU first + * - Audio STREAMING interface request + * - Audio endpoint request + */ else if(((request == CLASS_INTERFACE_REQUEST) && (interfaceNum == 0)) + || ((request == CLASS_INTERFACE_REQUEST) && (interfaceNum == 1 || interfaceNum == 2)) || (request == CLASS_ENDPOINT_REQUEST && ((interfaceNum == 0x82) || (interfaceNum == 0x01)))) { #endif