Added new USB_Host_ConfigurationNumber global variable to indicate the selected configuration in an attached device.
Renamed global state variables that are specific to a certain USB mode to clearly indicate which mode the variable relates to, by changing the USB_* prefix to USB_Device_* or USB_Host_*.
Removed the HOST_STATE_WaitForDeviceRemoval and HOST_STATE_Suspended host state machine states, as these are no longer required.
Altered the USB_Host_SetDeviceConfiguration() function to update the new USB_Host_ConfigurationNumber global as required.
Moved out the Host mode standard request convenience/helper functions from the architecture specific Host driver files to the architecture agnostic HostStandardReq.c driver file.
Fix errors in the new Audio Host mode Class Driver, which would have prevented data from being sent or received properly by the device.
Add microphone/square wave generation compile time switch to the Low Level AudioOutput Host demo.
Modified the Class Driver AudioInput and AudioOutput demos to support multiple sample rates.
Fixed KeyboardHost and KeyboardHostWithParser demos displaying incorrect values when numerical keys were pressed.
Fix broken LowLevel audio demo descriptors.
Minor documentation fixes.
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.
Minor code cleanups to add const and reformat where missing, as well as abstract out the internal device signature start address into a macro, so that it can be altered to suit particular devices within a single architecture if needed.
Add missing documentation to the USB_Device_States_t enum.
Switch to using -1 on the UC3 target to obtain a register mask with all bits set (for clearing interrupts and status flags).
Fix incorrect USB controller mode on the UC3 when a fixed mode is specified as a compile time option due to AVR32_USBB.USBCON.uide being set by default.
Make USB_Descriptor_String_t use a uint16_t for Unicode strings on all targets except the AVR8 (retained for backwards compatibility).
Replace all calls and references to _delay_ms() in the code with the architecture-agnostic Delay_MS() function.
Improve code generation for the Delay_MS() function on the AVR8 architecture when called with a constant input.
Remove use of avr-libc specific ATOMIC_BLOCK, replace with a new per-architecture set of inline functions to retrieve and manipulate the global interrupt enable bit for each architecture.
Add in documentation for the USB controller common interrupt routine which must be linked to the interrupt controller in the user application on the AVR32 UC3 architecture.