Change over Printer_GetDeviceID() to require a pointer to the destination buffer plus the buffer size, rather than using a pointer to a special structure.
Make new Printer_SendData() function to hide the implementation of sending data to an attached printer, cleaning up the main demo source file body.
Added new USE_FLASH_DESCRIPTORS compile time option. By default, descriptors can now lie in mixed memory spaces (specified by a new parameter to the CALLBACK_USB_GetDescriptor() function) unless one of the USE_*_DESCRIPTORS compile time option is specified.
Documented FAST_STREAM_TRANSFERS compile time option.
Reduced the TCP window size for the RNDIS demos (Class and LowLevel) to make them compatible with the AT90USB64x.
Seperated out Lib components of the incomplete BluetoothHost demo application out into a seperate Lib subfolder.
Changed F_CLOCK entries in project makefiles to alias to F_CPU by default, as this is the most common case.
Added parameter directions to function parameter documentation.
Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput).
Remove all Host mode class demos other than the CDCHost class driver demo, so that they can be re-added as they are made once the host mode class framework is designed.
Fixed USB_Host_SendControlRequest() not re-suspending the USB bus when initial device ready-wait fails.
Fixed USB Pad regulator not being disabled on some AVR models when the USB_OPT_REG_DISABLED option is used.
Changed Pipe stream functions to automatically set the pipe token, allowing them to be used on bidirectional pipes without having to explicitly call Pipe_SetPipeToken() beforehand.
Added new USB_Host_GetDeviceDescriptor() convenience function to retrieve the attached device's Device descriptor.
Make Pipe_ConfigurePipe() mask the given endpoint number against PIPE_EPNUM_MASK to ensure the endpoint IN direction bit is cleared to prevent endpoint type corruption.
Fix documentation mentioning Pipe_GetCurrentToken() function when real name is Pipe_GetPipeToken().
Split out common defines/types from class drivers into a seperate common class driver directory.
Make central USB Class driver dispatch headers, used for both device and host modes.
Removed scheduler and memory allocation libraries.
Added new EVENT_USB_StartOfFrame event in the library to indicate the start of each USB frame (when generated).
Removed Tx interrupt from the USBtoSerial demo; now sends characters via polling to ensure more time for the Rx interrupt.
Fixed incorrect ENDPOINT_EPNUM_MASK mask preventing endpoints above EP3 from being selected (thanks to Jonathan Oakley).
Removed STREAM_CALLBACK() macro - callbacks now use regular function definitions to clarify user code.
Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code.
Remove the saving of the USB_GetNextDescriptorComp() return value in all host demos, since it went unused anyway; replaced with a simple check against the success error code for clarity.