* added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code\r
* - Added new DATAFLASH_CHIP_MASK() macro to the Dataflash driver, which returns the Dataflash select mask for the given chip index\r
* - Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%\r
+ * - Added new HOST_STATE_WaitForDeviceRemoval host state machine state for non-blocking disabling of device communications until the\r
+ * device has been removed (for use when an error occurs or communications with the device have completed)\r
+ * - Added new FAST_STREAM_TRANSFERS compile time option for faster stream transfers via multiple bytes copied per stream loop\r
+ * - Added stdio stream demo code to the low-level CDC demo, to show how to create standard streams out of the virtual serial ports\r
+ * - Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions\r
+ * - Added new USE_FLASH_DESCRIPTORS and TOTAL_NUM_CONFIGURATIONS compile time options\r
+ * - Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models\r
+ * - Added new PrinterHost demo (thanks to John Andrews)\r
* \r
* <b>Changed:</b>\r
* - Deprecated psuedo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)\r
* - Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning,\r
* no need to call Dataflash_ToggleSelectedChipCS() afterwards\r
* - Changed F_CLOCK entries in project makefiles to alias to F_CPU by default, as this is the most common case\r
+ * - The device-mode CALLBACK_USB_GetDescriptor() function now has an extra parameter so that the memory space in which the requested\r
+ * descriptor is located can be specified. This means that descriptors can now be located in multiple memory spaces within a device.\r
+ * - Host mode demos now use sane terminal escape codes, so that text is always readable and events/program output is visually distinguished\r
+ * from oneanother using foreground colours\r
*\r
* <b>Fixed:</b>\r
* - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed to fix\r
* bootloaders on some of the USB AVR devices where avr-libc erronously defines RAMPZ\r
* - Fixes to MassStorageHost for better device compatibility (increase command timeout, change MassStore_WaitForDataReceived()\r
- * to only unfreeze and check one data pipe at a time) to prevent incorrect enumerations and freezes\r
+ * to only unfreeze and check one data pipe at a time) to prevent incorrect device enumerations and freezes while trasferring data\r
* - Make Pipe_ConfigurePipe() mask the given endpoint number against PIPE_EPNUM_MASK to ensure the endpoint IN direction bit is\r
* cleared to prevent endpoint type corruption\r
* - Fix documentation mentioning Pipe_GetCurrentToken() function when real name is Pipe_GetPipeToken()\r
* - Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command\r
* - Fixed USB_Host_SendControlRequest() not re-suspending the USB bus when initial device ready-wait fails\r
* - Fixed USB Pad regulator not being disabled on some AVR models when the USB_OPT_REG_DISABLED option is used\r
+ * - Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected\r
+ * - Fixed Mouse/Keyboard demos not performing the correct arithmetic on the Idle period at the right times (thanks to Brian Dickman)\r
+ * - Fixed GenericHID failing HID class tests due to incorrect Logical Minimum and Logical Maximum values (thanks to Søren Greiner)\r
+ * - Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews)\r
*\r
*\r
* \section Sec_ChangeLog090605 Version 090605\r