changed global variables to be accessed by APIs

This commit is contained in:
Keith Au
2020-02-04 15:04:38 +08:00
parent a46c8b134a
commit 03b5dd6319
2 changed files with 23 additions and 23 deletions

View File

@@ -64,6 +64,13 @@ extern void device_reboot(void);
#include "xua_hid.h"
#endif
#if((defined USB_CMD_CFG_SAMP_FREQ) || (defined USB_DESCRIPTOR_OVERRIDE_RATE_RES))
unsigned int xua_lite_curAudOutFreq(void);
unsigned int xua_lite_curAudInFreq(void);
unsigned int xua_lite_curUSB_Res_In(void);
unsigned int xua_lite_curUSB_Res_Out(void);
#endif
unsigned int DFU_mode_active = 0; // 0 - App active, 1 - DFU active
/* Global volume and mute tables */
@@ -89,13 +96,6 @@ int min(int x, int y);
extern unsigned char g_currentConfig;
#if((defined USB_CMD_CFG_SAMP_FREQ) || (defined USB_DESCRIPTOR_OVERRIDE_RATE_RES))
extern unsigned int g_curAudOut_SamFreq;
extern unsigned int g_curAudIn_SamFreq;
extern unsigned int g_BitResolution_In;
extern unsigned int g_BitResolution_Out;
#endif
/* Global endpoint status arrays - declared in usb_device.xc */
extern unsigned char g_interfaceAlt[];
@@ -789,32 +789,32 @@ void XUA_Endpoint0_loop(XUD_Result_t result, USB_SetupPacket_t sp, chanend c_ep0
#ifdef USB_DESCRIPTOR_OVERRIDE_RATE_RES //change USB descriptor frequencies and bit resolution values here
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_SUB_FRAME] = g_BitResolution_In >> 3; //sub frame rate = bit rate /8
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_SUB_FRAME + 1] = (g_BitResolution_In & 0xff); //bit resolution
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_SUB_FRAME] = xua_lite_curUSB_Res_In() >> 3; //sub frame rate = bit rate /8
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_SUB_FRAME + 1] = (xua_lite_curUSB_Res_In() & 0xff); //bit resolution
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_SUB_FRAME] = g_BitResolution_Out >> 3; //sub frame rate = bit rate /8
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_SUB_FRAME + 1] = (g_BitResolution_Out & 0xff); //bit resolution
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_SUB_FRAME] = xua_lite_curUSB_Res_Out() >> 3; //sub frame rate = bit rate /8
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_SUB_FRAME + 1] = (xua_lite_curUSB_Res_Out() & 0xff); //bit resolution
int i=0;
for(i=0;i<3;i++)
{
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i] = g_curAudOut_SamFreq & 0xff;
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i + 1] = (g_curAudOut_SamFreq & 0xff00)>> 8;
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i + 2] = (g_curAudOut_SamFreq & 0xff0000)>> 16;
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i] = xua_lite_curAudOutFreq() & 0xff;
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i + 1] = (xua_lite_curAudOutFreq() & 0xff00)>> 8;
cfgDesc_Audio1[USB_AS_IN_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i + 2] = (xua_lite_curAudOutFreq() & 0xff0000)>> 16;
}
for(i=0;i<3;i++)
{
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i] = g_curAudIn_SamFreq & 0xff;
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i + 1] = (g_curAudIn_SamFreq & 0xff00)>> 8;
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i + 2] = (g_curAudIn_SamFreq & 0xff0000)>> 16;
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i] = xua_lite_curAudInFreq() & 0xff;
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i + 1] = (xua_lite_curAudInFreq() & 0xff00)>> 8;
cfgDesc_Audio1[USB_AS_OUT_INTERFACE_DESCRIPTOR_OFFSET_FREQ + 3*i + 2] = (xua_lite_curAudInFreq() & 0xff0000)>> 16;
}
cfgDesc_Audio1[USB_AS_IN_EP_DESCRIPTOR_OFFSET_MAXPACKETSIZE] = ((g_BitResolution_In >> 3) * MAX_PACKET_SIZE_MULT_IN_FS) & 0xff; //max packet size
cfgDesc_Audio1[USB_AS_IN_EP_DESCRIPTOR_OFFSET_MAXPACKETSIZE + 1] = (((g_BitResolution_In >> 3) * MAX_PACKET_SIZE_MULT_IN_FS) & 0xff00) >> 8; //max packet size
cfgDesc_Audio1[USB_AS_IN_EP_DESCRIPTOR_OFFSET_MAXPACKETSIZE] = ((xua_lite_curUSB_Res_In() >> 3) * MAX_PACKET_SIZE_MULT_IN_FS) & 0xff; //max packet size
cfgDesc_Audio1[USB_AS_IN_EP_DESCRIPTOR_OFFSET_MAXPACKETSIZE + 1] = (((xua_lite_curUSB_Res_In() >> 3) * MAX_PACKET_SIZE_MULT_IN_FS) & 0xff00) >> 8; //max packet size
cfgDesc_Audio1[USB_AS_OUT_EP_DESCRIPTOR_OFFSET_MAXPACKETSIZE] = ((g_BitResolution_Out >> 3) * MAX_PACKET_SIZE_MULT_OUT_FS) & 0xff; //max packet size
cfgDesc_Audio1[USB_AS_OUT_EP_DESCRIPTOR_OFFSET_MAXPACKETSIZE + 1] = (((g_BitResolution_Out >> 3) * MAX_PACKET_SIZE_MULT_OUT_FS) & 0xff00) >> 8; //max packet size
cfgDesc_Audio1[USB_AS_OUT_EP_DESCRIPTOR_OFFSET_MAXPACKETSIZE] = ((xua_lite_curUSB_Res_Out() >> 3) * MAX_PACKET_SIZE_MULT_OUT_FS) & 0xff; //max packet size
cfgDesc_Audio1[USB_AS_OUT_EP_DESCRIPTOR_OFFSET_MAXPACKETSIZE + 1] = (((xua_lite_curUSB_Res_Out() >> 3) * MAX_PACKET_SIZE_MULT_OUT_FS) & 0xff00) >> 8; //max packet size
#endif

View File

@@ -60,8 +60,8 @@ extern unsigned int g_curAudIn_SamFreq;
/* Global var for current frequency, set to default freq */
#ifdef USB_CMD_CFG_SAMP_FREQ
#define g_curUSBin_SamFreq g_curAudOut_SamFreq
#define g_curUSBout_SamFreq g_curAudIn_SamFreq
#define g_curUSBin_SamFreq xua_lite_curAudOutFreq()
#define g_curUSBout_SamFreq xua_lite_curAudInFreq()
unsigned int g_curSamFreq = DEFAULT_FREQ; // should no longer be used
#else