Merge pull request #1 from xmos/removed_warnings

Removed warnings
This commit is contained in:
Ross Owen
2017-05-23 15:41:17 +01:00
committed by GitHub
4 changed files with 99 additions and 102 deletions

View File

@@ -4,6 +4,7 @@ sc_usb_audio Change Log
7.2.0
-----
- ADDED: DFU to UAC1 descriptors (guarded by DFU and FORCE_UAC1_DFU)
- RESOLVED: Removed 'reinterpretation to type of larger alignment' warnings
7.1.0
-----

View File

@@ -274,7 +274,7 @@ static void updateVol(int unitID, int channel, chanend ?c_mix_ctl)
int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, chanend c_audioControl, chanend ?c_mix_ctl, chanend ?c_clk_ctl
)
{
unsigned char buffer[128];
unsigned int buffer[32];
int unitID;
XUD_Result_t result;
unsigned datalength;
@@ -306,7 +306,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
if(sp.bmRequestType.Direction == USB_BM_REQTYPE_DIRECTION_H2D)
{
/* Get OUT data with Sample Rate into buffer*/
if((result = XUD_GetBuffer(ep0_out, buffer, datalength)) != XUD_RES_OKAY)
if((result = XUD_GetBuffer(ep0_out, (buffer, unsigned char[]), datalength)) != XUD_RES_OKAY)
{
return result;
}
@@ -315,7 +315,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
if(datalength == 4)
{
/* Re-construct Sample Freq */
int newSampleRate = buffer[0] | (buffer[1] << 8) | buffer[2] << 16 | buffer[3] << 24;
int newSampleRate = buffer[0];
/* Instruct audio thread to change sample freq (if change required) */
if(newSampleRate != g_curSamFreq)
@@ -387,22 +387,22 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
outuint(c_clk_ctl, GET_FREQ);
outuint(c_clk_ctl, CLOCK_SPDIF_INDEX);
outct(c_clk_ctl, XS1_CT_END);
(buffer, unsigned[])[0] = inuint(c_clk_ctl);
buffer[0] = inuint(c_clk_ctl);
chkct(c_clk_ctl, XS1_CT_END);
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 4, sp.wLength );
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 4, sp.wLength );
}
else
{
(buffer, unsigned[])[0] = g_curSamFreq;
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 4, sp.wLength );
buffer[0] = g_curSamFreq;
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 4, sp.wLength );
}
break;
#endif
case ID_CLKSRC_INT:
/* Always report our current operating frequency */
(buffer, unsigned[])[0] = g_curSamFreq;
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 4, sp.wLength );
buffer[0] = g_curSamFreq;
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 4, sp.wLength );
break;
default:
@@ -422,8 +422,8 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
case ID_CLKSRC_INT:
/* Internal clock always valid */
buffer[0] = 1;
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 1, sp.wLength);
(buffer, unsigned char[])[0] = 1;
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 1, sp.wLength);
break;
case ID_CLKSRC_SPDIF:
@@ -434,9 +434,9 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
outuint(c_clk_ctl, GET_VALID);
outuint(c_clk_ctl, CLOCK_SPDIF_INDEX);
outct(c_clk_ctl, XS1_CT_END);
buffer[0] = inuint(c_clk_ctl);
(buffer, unsigned char[])[0] = inuint(c_clk_ctl);
chkct(c_clk_ctl, XS1_CT_END);
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 1, sp.wLength);
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 1, sp.wLength);
}
break;
@@ -448,9 +448,9 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
outuint(c_clk_ctl, GET_VALID);
outuint(c_clk_ctl, CLOCK_ADAT_INDEX);
outct(c_clk_ctl, XS1_CT_END);
buffer[0] = inuint(c_clk_ctl);
(buffer, unsigned char[])[0] = inuint(c_clk_ctl);
chkct(c_clk_ctl, XS1_CT_END);
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 1, sp.wLength);
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 1, sp.wLength);
}
break;
@@ -477,7 +477,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
/* Direction: Host-to-device */
if(sp.bmRequestType.Direction == USB_BM_REQTYPE_DIRECTION_H2D )
{
if((result = XUD_GetBuffer(ep0_out, buffer, datalength)) != XUD_RES_OKAY)
if((result = XUD_GetBuffer(ep0_out, (buffer, unsigned char[]), datalength)) != XUD_RES_OKAY)
{
return result;
}
@@ -488,7 +488,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
if (!isnull(c_clk_ctl))
{
outuint(c_clk_ctl, SET_SEL);
outuint(c_clk_ctl, buffer[0]);
outuint(c_clk_ctl, (buffer, unsigned char[])[0]);
outct(c_clk_ctl, XS1_CT_END);
}
/* Send 0 Length as status stage */
@@ -499,15 +499,15 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
else
{
/* Direction: Device-to-host: Send Current Selection */
buffer[0] = 1;
(buffer, unsigned char[])[0] = 1;
if (!isnull(c_clk_ctl))
{
outuint(c_clk_ctl, GET_SEL);
outct(c_clk_ctl, XS1_CT_END);
buffer[0] = inuint(c_clk_ctl);
(buffer, unsigned char[])[0] = inuint(c_clk_ctl);
chkct(c_clk_ctl, XS1_CT_END);
}
return XUD_DoGetRequest( ep0_out, ep0_in, buffer, 1, sp.wLength );
return XUD_DoGetRequest( ep0_out, ep0_in, (buffer, unsigned char[]), 1, sp.wLength );
}
}
@@ -527,7 +527,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
if(sp.bmRequestType.Direction == USB_BM_REQTYPE_DIRECTION_H2D)
{
/* Expect OUT here (with volume) */
if((result = XUD_GetBuffer(ep0_out, buffer, datalength)) != XUD_RES_OKAY)
if((result = XUD_GetBuffer(ep0_out, (buffer, unsigned char[]), datalength)) != XUD_RES_OKAY)
{
return result;
}
@@ -536,7 +536,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
{
if ((sp.wValue & 0xff) <= NUM_USB_CHAN_OUT)
{
volsOut[ sp.wValue&0xff ] = buffer[0] | (((int) (signed char) buffer[1]) << 8);
volsOut[ sp.wValue&0xff ] = (buffer, unsigned char[])[0] | (((int) (signed char) (buffer, unsigned char[])[1]) << 8);
updateVol( unitID, ( sp.wValue & 0xff ), c_mix_ctl );
return XUD_DoSetRequestStatus(ep0_in);
}
@@ -545,7 +545,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
{
if ((sp.wValue & 0xff) <= NUM_USB_CHAN_IN)
{
volsIn[ sp.wValue&0xff ] = buffer[0] | (((int) (signed char) buffer[1]) << 8);
volsIn[ sp.wValue&0xff ] = (buffer, unsigned char[])[0] | (((int) (signed char) (buffer, unsigned char[])[1]) << 8);
updateVol( unitID, ( sp.wValue & 0xff ), c_mix_ctl );
return XUD_DoSetRequestStatus(ep0_in);
}
@@ -557,18 +557,18 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
{
if ((sp.wValue & 0xff) <= NUM_USB_CHAN_OUT)
{
buffer[0] = volsOut[ sp.wValue&0xff ];
buffer[1] = volsOut[ sp.wValue&0xff ] >> 8;
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 2, sp.wLength);
(buffer, unsigned char[])[0] = volsOut[ sp.wValue&0xff ];
(buffer, unsigned char[])[1] = volsOut[ sp.wValue&0xff ] >> 8;
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 2, sp.wLength);
}
}
else
{
if ((sp.wValue & 0xff) <= NUM_USB_CHAN_IN)
{
buffer[0] = volsIn[ sp.wValue&0xff ];
buffer[1] = volsIn[ sp.wValue&0xff ] >> 8;
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 2, sp.wLength);
(buffer, unsigned char[])[0] = volsIn[ sp.wValue&0xff ];
(buffer, unsigned char[])[1] = volsIn[ sp.wValue&0xff ] >> 8;
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 2, sp.wLength);
}
}
}
@@ -579,7 +579,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
if(sp.bmRequestType.Direction == USB_BM_REQTYPE_DIRECTION_H2D)
{
/* Expect OUT here with mute */
if((result = XUD_GetBuffer(ep0_out, buffer, datalength)) != XUD_RES_OKAY)
if((result = XUD_GetBuffer(ep0_out, (buffer, unsigned char[]), datalength)) != XUD_RES_OKAY)
{
return result;
}
@@ -588,7 +588,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
{
if ((sp.wValue & 0xff) <= NUM_USB_CHAN_OUT)
{
mutesOut[sp.wValue & 0xff] = buffer[0];
mutesOut[sp.wValue & 0xff] = (buffer, unsigned char[])[0];
updateVol( unitID, ( sp.wValue & 0xff ), c_mix_ctl);
return XUD_DoSetRequestStatus(ep0_in);
}
@@ -597,7 +597,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
{
if((sp.wValue & 0xff) <= NUM_USB_CHAN_IN)
{
mutesIn[ sp.wValue&0xff ] = buffer[0];
mutesIn[ sp.wValue&0xff ] = (buffer, unsigned char[])[0];
updateVol( unitID, ( sp.wValue & 0xff ), c_mix_ctl);
return XUD_DoSetRequestStatus(ep0_in);
}
@@ -609,16 +609,16 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
{
if ((sp.wValue & 0xff) <= NUM_USB_CHAN_OUT)
{
buffer[0] = mutesOut[sp.wValue&0xff];
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, sp.wLength, sp.wLength);
(buffer, unsigned char[])[0] = mutesOut[sp.wValue&0xff];
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), sp.wLength, sp.wLength);
}
}
else
{
if((sp.wValue & 0xff) <= NUM_USB_CHAN_IN)
{
buffer[0] = mutesIn[ sp.wValue&0xff ];
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, sp.wLength, sp.wLength);
(buffer, unsigned char[])[0] = mutesIn[ sp.wValue&0xff ];
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), sp.wLength, sp.wLength);
}
}
}
@@ -641,12 +641,12 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
int c = sp.wValue & 0xff;
if((result = XUD_GetBuffer(ep0_out, buffer, datalength)) != XUD_RES_OKAY)
if((result = XUD_GetBuffer(ep0_out, (buffer, unsigned char[]), datalength)) != XUD_RES_OKAY)
{
return result;
}
channelMapAud[c] = buffer[0] | buffer[1] << 8;
channelMapAud[c] = (buffer, unsigned char[])[0] | (buffer, unsigned char[])[1] << 8;
if (!isnull(c_mix_ctl))
{
@@ -664,10 +664,10 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
}
else
{
buffer[0] = channelMapAud[sp.wValue & 0xff];
buffer[1] = 0;
(buffer, unsigned char[])[0] = channelMapAud[sp.wValue & 0xff];
(buffer, unsigned char[])[1] = 0;
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, sp.wLength, sp.wLength);
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), sp.wLength, sp.wLength);
}
}
@@ -679,12 +679,12 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
unsigned volume = 0;
int c = sp.wValue & 0xff;
if((result = XUD_GetBuffer(ep0_out, buffer, datalength)) != XUD_RES_OKAY)
if((result = XUD_GetBuffer(ep0_out, (buffer, unsigned char[]), datalength)) != XUD_RES_OKAY)
{
return result;
}
channelMapUsb[c] = buffer[0] | buffer[1] << 8;
channelMapUsb[c] = (buffer, unsigned char[])[0] | (buffer, unsigned char[])[1] << 8;
if (c < NUM_USB_CHAN_IN)
{
@@ -701,9 +701,9 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
else
{
/* Direction: Device-to-host */
buffer[0] = channelMapUsb[sp.wValue & 0xff];
buffer[1] = 0;
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, sp.wLength, sp.wLength);
(buffer, unsigned char[])[0] = channelMapUsb[sp.wValue & 0xff];
(buffer, unsigned char[])[1] = 0;
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), sp.wLength, sp.wLength);
}
break;
@@ -716,7 +716,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
if(sp.bmRequestType.Direction == USB_BM_REQTYPE_DIRECTION_H2D)
{
/* Direction: Host-to-device */ /* Host-to-device */
if((result = XUD_GetBuffer(ep0_out, buffer, datalength)) != XUD_RES_OKAY)
if((result = XUD_GetBuffer(ep0_out, (buffer, unsigned char[]), datalength)) != XUD_RES_OKAY)
{
return result;
}
@@ -731,13 +731,13 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
if(cs < (MAX_MIX_COUNT + 1))
{
/* Check for "off" - update local state */
if(buffer[0] == 0xFF)
if((buffer, unsigned char[])[0] == 0xFF)
{
mixSel[cs][cn] = (NUM_USB_CHAN_OUT + NUM_USB_CHAN_IN + MAX_MIX_COUNT);
}
else
{
mixSel[cs][cn] = buffer[0];
mixSel[cs][cn] = (buffer, unsigned char[])[0];
}
if(cs == 0)
@@ -770,7 +770,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
else
{
/* Direction: Device-to-Host (GET) */
buffer[0] = 0;
(buffer, unsigned char[])[0] = 0;
/* Channel Number bounds check for safety */
if(cn < MIX_INPUTS)
@@ -779,8 +779,8 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
/* TODO ideally have a return for cs = 0. I.e all mix maps */
if((cs > 0) && (cs < (MAX_MIX_COUNT+1)))
{
buffer[0] = mixSel[cs-1][cn];
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 1, 1 );
(buffer, unsigned char[])[0] = mixSel[cs-1][cn];
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 1, 1 );
}
}
}
@@ -794,12 +794,12 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
unsigned volume = 0;
/* Expect OUT here with mute */
if((result = XUD_GetBuffer(ep0_out, buffer, datalength)) != XUD_RES_OKAY)
if((result = XUD_GetBuffer(ep0_out, (buffer, unsigned char[]), datalength)) != XUD_RES_OKAY)
{
return result;
}
mixer1Weights[sp.wValue & 0xff] = buffer[0] | buffer[1] << 8;
mixer1Weights[sp.wValue & 0xff] = (buffer, unsigned char[])[0] | (buffer, unsigned char[])[1] << 8;
if (mixer1Weights[sp.wValue & 0xff] == 0x8000)
{
@@ -824,10 +824,10 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
else
{
short weight = mixer1Weights[sp.wValue & 0xff];
buffer[0] = weight & 0xff;
buffer[1] = (weight >> 8) & 0xff;
(buffer, unsigned char[])[0] = weight & 0xff;
(buffer, unsigned char[])[1] = (weight >> 8) & 0xff;
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, sp.wLength, sp.wLength);
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), sp.wLength, sp.wLength);
}
break;
@@ -882,7 +882,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
{
if((lowSampleRateList[k] >= MIN_FREQ) && (lowSampleRateList[k] <= MAX_FREQ))
{
storeFreq(buffer, i, lowSampleRateList[k]);
storeFreq((buffer, unsigned char[]), i, lowSampleRateList[k]);
num_freqs++;
}
}
@@ -894,7 +894,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
{
if((currentFreq44 <= maxFreq) && (currentFreq44 >= MIN_FREQ))
{
storeFreq(buffer, i, currentFreq44);
storeFreq((buffer, unsigned char[]), i, currentFreq44);
num_freqs++;
currentFreq44*=2;
}
@@ -902,7 +902,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
if((currentFreq48 <= maxFreq))
{
/* Note i passed byref here */
storeFreq(buffer, i, currentFreq48);
storeFreq((buffer, unsigned char[]), i, currentFreq48);
num_freqs++;
currentFreq48*=2;
}
@@ -915,14 +915,14 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
unsigned srList[] = {SAMPLE_RATE_LIST};
for(int j = 0; j < sizeof(srList)/(sizeof(srList[0])); j++)
{
storeFreq(buffer, i, srList[j]);
storeFreq((buffer, unsigned char[]), i, srList[j]);
num_freqs++;
}
#endif
storeShort(buffer, 0, num_freqs);
storeShort((buffer, unsigned char[]), 0, num_freqs);
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, i, sp.wLength);
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), i, sp.wLength);
}
break;
@@ -943,11 +943,11 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
/* Volume control, send back same range for all channels (i.e. ignore CN) */
case FU_VOLUME_CONTROL:
storeShort(buffer, 0, 1);
storeShort(buffer, 2, MIN_VOLUME);
storeShort(buffer, 4, MAX_VOLUME);
storeShort(buffer, 6, VOLUME_RES);
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, sp.wLength, sp.wLength);
storeShort((buffer, unsigned char[]), 0, 1);
storeShort((buffer, unsigned char[]), 2, MIN_VOLUME);
storeShort((buffer, unsigned char[]), 4, MAX_VOLUME);
storeShort((buffer, unsigned char[]), 6, VOLUME_RES);
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), sp.wLength, sp.wLength);
break;
default:
@@ -960,11 +960,11 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
#ifdef MIXER
/* Mixer Unit */
case ID_MIXER_1:
storeShort(buffer, 0, 1);
storeShort(buffer, 2, MIN_MIXER_VOLUME);
storeShort(buffer, 4, MAX_MIXER_VOLUME);
storeShort(buffer, 6, VOLUME_RES_MIXER);
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, sp.wLength, sp.wLength);
storeShort((buffer, unsigned char[]), 0, 1);
storeShort((buffer, unsigned char[]), 2, MIN_MIXER_VOLUME);
storeShort((buffer, unsigned char[]), 4, MAX_MIXER_VOLUME);
storeShort((buffer, unsigned char[]), 6, VOLUME_RES_MIXER);
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), sp.wLength, sp.wLength);
break;
#endif
@@ -1006,12 +1006,12 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
outuint(c_mix_ctl, GET_STREAM_LEVELS);
outuint(c_mix_ctl, i);
outct(c_mix_ctl, XS1_CT_END);
storeShort(buffer, i*2, (inuint(c_mix_ctl) >> 15));
storeShort((buffer, unsigned char[]), i*2, (inuint(c_mix_ctl) >> 15));
chkct(c_mix_ctl, XS1_CT_END);
}
else
{
storeShort(buffer, i*2, 0);
storeShort((buffer, unsigned char[]), i*2, 0);
}
}
else
@@ -1021,12 +1021,12 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
outuint(c_mix_ctl, GET_INPUT_LEVELS);
outuint(c_mix_ctl, (i - NUM_USB_CHAN_OUT));
outct(c_mix_ctl, XS1_CT_END);
storeShort(buffer, i*2, (inuint(c_mix_ctl) >> 15));
storeShort((buffer, unsigned char[]), i*2, (inuint(c_mix_ctl) >> 15));
chkct(c_mix_ctl, XS1_CT_END);
}
else
{
storeShort(buffer, i*2, 0);
storeShort((buffer, unsigned char[]), i*2, 0);
}
}
}
@@ -1043,18 +1043,18 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
outuint(c_mix_ctl, GET_OUTPUT_LEVELS);
outuint(c_mix_ctl, i);
outct(c_mix_ctl, XS1_CT_END);
storeShort(buffer, i*2, (inuint(c_mix_ctl) >> 15));
storeShort((buffer, unsigned char[]), i*2, (inuint(c_mix_ctl) >> 15));
chkct(c_mix_ctl, XS1_CT_END);
}
else
{
storeShort(buffer, i*2, 0);
storeShort((buffer, unsigned char[]), i*2, 0);
}
}
break;
}
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, length, sp.wLength);
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), length, sp.wLength);
}
break;
}
@@ -1078,7 +1078,7 @@ int AudioEndpointRequests_1(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp
*/
XUD_Result_t result;
unsigned char buffer[128];
unsigned int buffer[32];
unsigned length;
/* Host to Device */
@@ -1092,7 +1092,7 @@ int AudioEndpointRequests_1(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp
/* Check Control Selector */
unsigned short controlSelector = sp.wValue>>8;
if((result != XUD_GetBuffer(ep0_out, buffer, length)) != XUD_RES_OKAY)
if((result != XUD_GetBuffer(ep0_out, (buffer, unsigned char[]), length)) != XUD_RES_OKAY)
{
return result;
}
@@ -1103,7 +1103,7 @@ int AudioEndpointRequests_1(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp
if((sp.wLength == 3) && (length == 3))
{
/* Recontruct sample-freq */
int newSampleRate = buffer[0] | (buffer [1] << 8) | (buffer[2] << 16);
int newSampleRate = (buffer, unsigned char[])[0] | ((buffer, unsigned char[])[1] << 8) | ((buffer, unsigned char[])[2] << 16);
if(newSampleRate != g_curSamFreq)
{
@@ -1130,11 +1130,11 @@ int AudioEndpointRequests_1(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp
FeedbackStabilityDelay();
}
}
return XUD_SetBuffer(ep0_in, buffer, 0);
return XUD_SetBuffer(ep0_in, (buffer, unsigned char[]), 0);
}
}
#else
return XUD_SetBuffer(ep0_in, buffer, 0);
return XUD_SetBuffer(ep0_in, (buffer, unsigned char[]), 0);
#endif
}
break;
@@ -1145,8 +1145,8 @@ int AudioEndpointRequests_1(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp
switch(sp.bRequest)
{
case UAC_B_REQ_GET_CUR:
(buffer, unsigned[])[0] = g_curSamFreq;
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, 3, sp.wLength);
buffer[0] = g_curSamFreq;
return XUD_DoGetRequest(ep0_out, ep0_in, (buffer, unsigned char[]), 3, sp.wLength);
break;
}
}

View File

@@ -2280,10 +2280,6 @@ const unsigned num_freqs_a1 = MAX(3, (0
#define STREAMING_INTERFACES (INPUT_INTERFACES_A1 + OUTPUT_INTERFACES_A1)
/* Number of interfaces for Audio 1.0 (+1 for control ) */
/* Note, this is different that INTERFACE_COUNT since we dont support items such as MIDI, iAP etc in UAC1 mode */
#define NUM_INTERFACES_A1 (1+INPUT_INTERFACES_A1 + OUTPUT_INTERFACES_A1+NUM_CONTROL_INTERFACES)
//#if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP)
//#define CFG_TOTAL_LENGTH_A1 (18 + AC_TOTAL_LENGTH + (INPUT_INTERFACES_A1 * (49 + num_freqs_a1 * 3)) + (OUTPUT_INTERFACES_A1 * (58 + num_freqs_a1 * 3)) + CONTROL_INTERFACE_BYTES + DFU_INTERFACE_BYTES)
//#endif

View File

@@ -80,7 +80,7 @@ static unsigned int g_midi_from_host_buffer[MAX_USB_MIDI_PACKET_SIZE/4];
unsigned char gc_zero_buffer[4];
#endif
unsigned char fb_clocks[16];
unsigned int fb_clocks[4];
//#define FB_TOLERANCE_TEST
#define FB_TOLERANCE 0x100
@@ -239,7 +239,7 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in,
SET_SHARED_GLOBAL(g_aud_to_host_flag, 1);
#endif
(fb_clocks, unsigned[])[0] = 0;
fb_clocks[0] = 0;
/* Mark OUT endpoints ready to receive data from host */
#ifdef MIDI
@@ -261,7 +261,7 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in,
#if (AUDIO_CLASS == 1)
#if (NUM_USB_CHAN_IN == 0) || defined (UAC_FORCE_FEEDBACK_EP)
/* In UAC1 we dont use a stream start event (and we are always FS) so mark FB EP ready now */
XUD_SetReady_In(ep_aud_fb, fb_clocks, 3);
XUD_SetReady_In(ep_aud_fb, (fb_clocks, unsigned char[]), 3);
#endif
#endif
@@ -390,11 +390,11 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in,
if (busSpeed == XUD_SPEED_HS)
{
XUD_SetReady_In(ep_aud_fb, fb_clocks, 4);
XUD_SetReady_In(ep_aud_fb, (fb_clocks, unsigned char[]), 4);
}
else
{
XUD_SetReady_In(ep_aud_fb, fb_clocks, 3);
XUD_SetReady_In(ep_aud_fb, (fb_clocks, unsigned char[]), 3);
}
#endif
}
@@ -468,11 +468,11 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in,
if (usb_speed == XUD_SPEED_HS)
{
(fb_clocks, unsigned[])[0] = clocks;
fb_clocks[0] = clocks;
}
else
{
(fb_clocks, unsigned[])[0] = clocks>>2;
fb_clocks[0] = clocks>>2;
}
}
#ifdef FB_TOLERANCE_TEST
@@ -535,11 +535,11 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in,
if (usb_speed == XUD_SPEED_HS)
{
(fb_clocks, unsigned[])[0] = clocks;
fb_clocks[0] = clocks;
}
else
{
(fb_clocks, unsigned[])[0] = clocks >> 2;
fb_clocks[0] = clocks >> 2;
}
}
#ifdef FB_TOLERANCE_TEST
@@ -578,11 +578,11 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in,
if (busSpeed == XUD_SPEED_HS)
{
XUD_SetReady_In(ep_aud_fb, fb_clocks, 4);
XUD_SetReady_In(ep_aud_fb, (fb_clocks, unsigned char[]), 4);
}
else
{
XUD_SetReady_In(ep_aud_fb, fb_clocks, 3);
XUD_SetReady_In(ep_aud_fb, (fb_clocks, unsigned char[]), 3);
}
}
break;