Audio 2 reports restricted sample freq list if running in fs

This commit is contained in:
Ross Owen
2013-09-18 14:52:46 +01:00
parent d79d30ff24
commit e8abe94f07

View File

@@ -792,9 +792,21 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
int i = 2; int i = 2;
int currentFreq44 = 44100; int currentFreq44 = 44100;
int currentFreq48 = 48000; int currentFreq48 = 48000;
unsigned maxFreq = MAX_FREQ;
#if defined (FULL_SPEED_AUDIO_2)
unsigned usbSpeed;
asm("ldw %0, dp[g_curUsbSpeed]" : "=r" (usbSpeed) :);
if (usbSpeed == XUD_SPEED_FS)
{
maxFreq = MAX_FREQ_A1;
}
#endif
while(1) while(1)
{ {
if(currentFreq48 <= MAX_FREQ) if(currentFreq48 <= maxFreq)
{ {
/* Note i passed byref here */ /* Note i passed byref here */
storeFreq(buffer, i, currentFreq48); storeFreq(buffer, i, currentFreq48);
@@ -804,7 +816,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
num_freqs++; num_freqs++;
currentFreq44*=2; currentFreq44*=2;
} }
else if(currentFreq44 <= MAX_FREQ) else if(currentFreq44 <= maxFreq)
{ {
storeFreq(buffer, i, currentFreq44); storeFreq(buffer, i, currentFreq44);
num_freqs++; num_freqs++;