Added new incomplete AudioInputHost Host LowLevel demo.

Added missing Audio class control request definitions.

Added support for the Audio class GET STATUS request so that it is correctly ACKed when sent by the host.
This commit is contained in:
Dean Camera 2011-05-29 12:41:14 +00:00
parent cc9b190919
commit ea922c98d1
41 changed files with 9816 additions and 166 deletions

View file

@ -45,14 +45,14 @@ int main(void)
V2Protocol_Init();
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
sei();
GlobalInterruptEnable();
for (;;)
{
#if (BOARD == BOARD_USBTINYMKII)
/* On the USBTINY-MKII target, there is a secondary LED which indicates the current selected power
mode - either VBUS, or sourced from the VTARGET pin of the programming connectors */
LEDs_ChangeLEDs(LEDMASK_VBUSPOWER, (PIND & (1 << 0)) ? 0 : LEDMASK_VBUSPOWER);
/* On the USBTINY-MKII board target, there is a secondary LED which indicates the current selected
power mode - either VBUS, or sourced from the VTARGET pin of the programming connectors */
LEDs_ChangeLEDs(LEDS_LED3, (PIND & (1 << 0)) ? 0 : LEDS_LED3);
#endif
AVRISP_Task();
@ -63,13 +63,35 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
/* Disable clock division */
clock_prescale_set(clock_div_1);
#elif (ARCH == ARCH_UC3)
/* Select slow startup, external high frequency crystal attached to OSC0 */
AVR32_PM.OSCCTRL0.mode = 7;
AVR32_PM.OSCCTRL0.startup = 6;
AVR32_PM.MCCTRL.osc0en = true;
while (!(AVR32_PM.POSCSR.osc0rdy));
/* Switch CPU core to use OSC0 as the system clock */
AVR32_PM.MCCTRL.mcsel = 1;
/* Start PLL1 to feed into the USB generic clock module */
AVR32_PM.PLL[1].pllmul = (F_USB / F_CPU) ? (((F_USB / F_CPU) - 1) / 2) : 0;
AVR32_PM.PLL[1].plldiv = 0;
AVR32_PM.PLL[1].pllosc = 0;
AVR32_PM.PLL[1].pllen = true;
while (!(AVR32_PM.POSCSR.lock1));
/* Configure interrupt management peripheral */
// INTC_Init();
INTC_RegisterGroupHandler(AVR32_USBB_IRQ, AVR32_INTC_INT0, USB_GEN_vect);
#endif
/* Hardware Initialization */
LEDs_Init();
USB_Init();