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.
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.
Renamed the Serial byte send/receive functions to remain consistent with the CDC driver's byte functions.
Altered the serial byte receive function to make it non-blocking.
Move out private/internal host class driver constants to the common class driver headers, so that they can be used in the Low Level host mode demos.
Ensure all demos, projects and bootloaders use the class driver constants where possible to minimise code repetition.
Add new CDC descriptor structs to the CDC class driver, so that the CDC demos can use human readable field names.
Rename prefix for Still Image Host class driver functions from "SImage_" to "SI_" to remain consistent with the rest of the driver.
Add new module source variables to the library core makefile, so that module sources can be added to a project's makefile on a per-module rather than per-file basis.
Removed the internal endpoint and pipe memory allocation macros, as this is already performed directly in the code. Simplify the endpoint and pipe reset procedure.
Fixed Still Image Host class driver not resetting the transaction ID when a new session is opened, fixed driver not sending a valid session ID to the device.
Make Mass Storage device Class driver accept resets at any time, rather than just after a command block has been processed.
Remove the HID device parser from the boot protocol Keyboard/Mouse demos.
Descriptor processing routines now pass around void pointers rather than uint8_t pointers, as their destination datatype is know well known -- they are just streams of bytes until they are cast to the correct destination type by DESCRIPTOR_CAST.
Fix up demo documentation device compatibility list to be as general as possible to reduce changes required as Atmel releases more devices within the same USB AVR series.