From 81473a0c5bb44654fc853073a04d29681fac5efb Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Thu, 20 Mar 2014 18:19:52 +0000 Subject: [PATCH] updates to pass pointer based string table to StandardRequests --- module_usb_audio/endpoint0/endpoint0.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/module_usb_audio/endpoint0/endpoint0.c b/module_usb_audio/endpoint0/endpoint0.c index 1a9456ca..6d778ee3 100755 --- a/module_usb_audio/endpoint0/endpoint0.c +++ b/module_usb_audio/endpoint0/endpoint0.c @@ -7,6 +7,7 @@ #include #include +#include #include "xud.h" /* XUD user defines and functions */ #include "usb_std_requests.h" @@ -495,9 +496,9 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, result = USB_StandardRequests(ep0_out, ep0_in, (unsigned char*)&devDesc_Audio2, sizeof(devDesc_Audio2), (unsigned char*)&cfgDesc_Audio2, sizeof(cfgDesc_Audio2), - devDesc_Audio1, sizeof(devDesc_Audio1), + (unsigned char*)&devDesc_Audio1, sizeof(devDesc_Audio1), cfgDesc_Audio1, sizeof(cfgDesc_Audio1), - strDescs, sizeof(strDescs)/sizeof(strDescs[0]), + (char(*)[])g_strTable, sizeof(g_strTable)/sizeof(char *), &sp, c_usb_test, g_curUsbSpeed); #elif FULL_SPEED_AUDIO_2 /* Return Audio 2.0 Descriptors for high_speed and full-speed */ @@ -576,18 +577,18 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, null, 0, null, 0, #ifdef __XC__ - strDescs, sizeof(strDescs)/sizeof(strDescs[0]), sp, c_usb_test, g_curUsbSpeed); + g_strTable, sizeof(g_strTable), sp, c_usb_test, g_curUsbSpeed); #else - strDescs, sizeof(strDescs)/sizeof(strDescs[0]), &sp, c_usb_test, g_curUsbSpeed); + (char(*)[])&g_strTable, sizeof(g_strTable)/sizeof(char *), &sp, c_usb_test, g_curUsbSpeed); #endif #elif (AUDIO_CLASS == 1) /* Return Audio 1.0 Descriptors in FS, should never be in HS! */ result = USB_StandardRequests(ep0_out, ep0_in, null, 0, null, 0, - devDesc_Audio1, sizeof(devDesc_Audio1), + (unsigned char*)&devDesc_Audio1, sizeof(devDesc_Audio1), cfgDesc_Audio1, sizeof(cfgDesc_Audio1), - strDescs, sizeof(strDescs)/sizeof(strDescs[0]), &sp, c_usb_test, g_curUsbSpeed); + (char(*)[])&g_strTable, sizeof(g_strTable)/sizeof(char *), &sp, c_usb_test, g_curUsbSpeed); #else /* Return Audio 2.0 Descriptors with Null device as fallback */ result = USB_StandardRequests(ep0_out, ep0_in, @@ -595,7 +596,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, (unsigned char*)&cfgDesc_Audio2, sizeof(cfgDesc_Audio2), devDesc_Null, sizeof(devDesc_Null), cfgDesc_Null, sizeof(cfgDesc_Null), - strDescs, sizeof(strDescs)/sizeof(strDescs[0]), &sp, c_usb_test, g_curUsbSpeed); + (char(*)[])&g_strTable, sizeof(g_strTable)/sizeof(char *), &sp, c_usb_test, g_curUsbSpeed); #endif #ifdef DFU } @@ -607,11 +608,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, DFUcfgDesc, sizeof(DFUcfgDesc), null, 0, /* Used same descriptors for full and high-speed */ null, 0, -#ifdef __XC__ - 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 + (char(*)[])&g_strTable, sizeof(g_strTable)/sizeof(char *), &sp, c_usb_test, g_curUsbSpeed); } #endif } @@ -646,6 +643,5 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, } #endif } - } }