forked from PAWPAW-Mirror/lib_xua
simplified sample freq list
This commit is contained in:
@@ -787,50 +787,33 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
|
|||||||
case CS_SAM_FREQ_CONTROL:
|
case CS_SAM_FREQ_CONTROL:
|
||||||
|
|
||||||
/* Currently always return all freqs for all clocks */
|
/* Currently always return all freqs for all clocks */
|
||||||
//switch(unitID)
|
|
||||||
//{
|
|
||||||
// case ID_CLKSRC_INT:
|
|
||||||
// case ID_CLKSRC_EXT:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
int num_freqs = 0;
|
int num_freqs = 0;
|
||||||
int i = 2;
|
int i = 2;
|
||||||
|
int currentFreq44 = 44100;
|
||||||
#if MAX_FREQ >= 44100
|
int currentFreq48 = 48000;
|
||||||
storeFreq(buffer, i, 44100);
|
while(1)
|
||||||
|
{
|
||||||
|
if(currentFreq48 <= MAX_FREQ)
|
||||||
|
{
|
||||||
|
/* Note i passed byref here */
|
||||||
|
storeFreq(buffer, i, currentFreq48);
|
||||||
num_freqs++;
|
num_freqs++;
|
||||||
#endif
|
currentFreq48*=2;
|
||||||
#if MAX_FREQ >= 48000
|
storeFreq(buffer, i, currentFreq44);
|
||||||
storeFreq(buffer, i, 48000);
|
|
||||||
num_freqs++;
|
num_freqs++;
|
||||||
#endif
|
currentFreq44*=2;
|
||||||
#if MAX_FREQ >= 88200
|
}
|
||||||
storeFreq(buffer, i, 88200);
|
else if(currentFreq44 <= MAX_FREQ)
|
||||||
|
{
|
||||||
|
storeFreq(buffer, i, currentFreq44);
|
||||||
num_freqs++;
|
num_freqs++;
|
||||||
#endif
|
currentFreq44*=2;
|
||||||
#if MAX_FREQ >= 96000
|
}
|
||||||
storeFreq(buffer, i, 96000);
|
else
|
||||||
num_freqs++;
|
break;
|
||||||
#endif
|
}
|
||||||
#if MAX_FREQ >= 176400
|
|
||||||
storeFreq(buffer, i, 176400);
|
|
||||||
num_freqs++;
|
|
||||||
#endif
|
|
||||||
#if MAX_FREQ >= 192000
|
|
||||||
storeFreq(buffer, i, 192000);
|
|
||||||
num_freqs++;
|
|
||||||
#endif
|
|
||||||
#if MAX_FREQ >= 352800
|
|
||||||
storeFreq(buffer, i, 352800);
|
|
||||||
num_freqs++;
|
|
||||||
#endif
|
|
||||||
#if MAX_FREQ >= 384000
|
|
||||||
storeFreq(buffer, i, 384000);
|
|
||||||
num_freqs++;
|
|
||||||
#endif
|
|
||||||
storeShort(buffer, 0, num_freqs);
|
storeShort(buffer, 0, num_freqs);
|
||||||
// break;
|
|
||||||
//}
|
|
||||||
|
|
||||||
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, i, sp.wLength);
|
return XUD_DoGetRequest(ep0_out, ep0_in, buffer, i, sp.wLength);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user