+ * - Added TPI programming support for 6-pin ATTINY to the AVRISP programmer project\r
+ * - Added command timeout counter to the AVRISP project so that the device no longer freezes when incorrectly connected\r
+ * to a target\r
+ *\r
+ * <b>Changed:</b>\r
+ * - Slowed down bit-banged PDI programming in the AVRISP project slightly to prevent transmission errors\r
+ * - Renamed the AVRISP project folder to AVRISP-MKII to reduce confusion\r
+ *\r
+ * <b>Fixed:</b>\r
+ * - Fixed AVRISP project not able to enter programming mode when ISP protocol is used\r
+ *\r
+ * \section Sec_ChangeLog091223 Version 091223\r
+ *\r
+ * <b>New:</b>\r
+ * - Added activity LED indicators to the AVRISP project to indicate when the device is busy processing a command\r
+ * - The USB target family and allowable USB mode tokens are now public and documented (USB_CAN_BE_*, USB_SERIES_*_AVR)\r
+ * - Added new XPLAIN USB to Serial Bridge project (thanks to John Steggall for initial proof-of-concept, David Prentice\r
+ * and Peter Danneger for revised software USART code)\r
+ * - Added new RNDIS Ethernet Host LowLevel demo\r
+ * - Added new RNDIS Ethernet Host Class Driver\r
+ * - Added new RNDIS Ethernet Host ClassDriver demo\r
+ * - Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device\r
+ * - Added PDI programming support for XMEGA devices to the AVRISP programmer project (thanks to Justin Mattair)\r
+ * - Added support for the XPLAIN board Dataflash, with new XPLAIN_REV1 board target for the different dataflash used\r
+ * on the first revision boards compared to the one mounted on later revisions\r
+ * - Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype\r
+ * - Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values\r
+ * - Added new EVK527 board target\r
+ * - Added new USB_Host_GetDeviceStringDescriptor() convenience function\r
+ * - Added new LEDNotification project to the library, to give a visual LED notification on new events from the host\r
+ * - Added new NO_DEVICE_REMOTE_WAKEUP and NO_DEVICE_SELF_POWER compile time options\r
+ *\r
+ * <b>Changed:</b>\r
+ * - Removed code in the Keyboard demos to send zeroed reports between two reports with differing numbers of keycodes\r
+ * as this relied on non-standard OS driver behaviour to repeat key groups\r
+ * - The SCSI_Request_Sense_Response_t and SCSI_Inquiry_Response_t type defines are now part of the Mass Storage Class\r
+ * driver common defines, rather than being defined in the Host mode Class driver section only\r
+ * - The USB_MODE_HOST token is now defined even when host mode is not available\r
+ * - The CALLBACK_HID_Device_CreateHIDReport() HID Device Class driver callback now has a new ReportType parameter to\r
+ * indicate the report type to generate\r
+ * - All Class Drivers now return false or the "DeviceDisconnected" error code of their respective error enums when a function\r
+ * is called when no host/device is connected where possible\r
+ * - The HOST_SENDCONTROL_DeviceDisconnect enum value has been renamed to HOST_SENDCONTROL_DeviceDisconnected to be in line\r
+ * with the rest of the library errorcodes\r
+ * - Make MIDI device demos also turn off the on board LEDs if MIDI Note On messages are sent with a velocity of zero,\r
+ * which some devices use instead of Note Off messages (thanks to Robin Green)\r
+ * - The CDC demos are now named "VirtualSerial" instead to indicate the demos' function rather than its implemented USB class,\r
+ * to reduce confusion and to be in line with the rest of the LUFA demos\r
+ * - The SImage_Host_SendBlockHeader() and SImage_Host_ReceiveBlockHeader() Still Image Host Class driver functions are now public\r
+ *\r
+ * <b>Fixed:</b>\r
+ * - Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver\r
+ * - Fixed incorrect values for REPORT_ITEM_TYPE_* enum values causing corrupt data in the HID Host Parser\r
+ * - Fixed misnamed SI_Host_USBTask() and SI_Host_ConfigurePipes() functions\r
+ * - Fixed broken USB_GetNextDescriptor() function causing the descriptor to jump ahead double the expected amount\r
+ * - Fixed Pipe_IsEndpointBound() not masking the given Endpoint Address against PIPE_EPNUM_MASK\r
+ * - Fixed host state machine not enabling Auto VBUS mode when HOST_DEVICE_SETTLE_DELAY_MS is set to zero\r
+ * - Fixed misnamed Pipe_SetPipeToken() macro for setting a pipe's direction\r
+ * - Fixed CDCHost failing on devices with bidirectional endpoints\r
+ * - Fixed USB driver failing to define the PLL prescaler mask for the ATMEGA8U2 and ATMEGA16U2\r
+ * - Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items\r
+ * - Fixed Mass Storage Host Class driver and Low Level demo not clearing the error condition if an attached device returns a\r
+ * STALL to a GET MAX LUN request (thanks to Martin Luxen)\r
+ * - Fixed TeensyHID bootloader not properly shutting down the USB interface to trigger a disconnection on the host before resetting\r
+ * - Fixed MassStorageHost Class driver demo not having USB_STREAM_TIMEOUT_MS compile time option set properly to prevent slow \r
+ * devices from timing out the data pipes\r
+ * - Fixed the definition of the Endpoint_BytesInEndpoint() macro for the U4 series AVR parts\r
+ * - Fixed MIDI host Class driver MIDI_Host_SendEventPacket() routine not properly checking for Pipe ready before writing\r
+ * - Fixed use of deprecated struct initializers, removed library unused parameter warnings when compiled with -Wextra enabled\r
+ * - Fixed Still Image Host Class driver truncating the PIMA response code (thanks to Daniel Seibert)\r
+ * - Fixed USB_CurrentMode not being reset to USB_MODE_NONE when the USB interface is shut down and both Host and Device modes can be\r
+ * used (thanks to Daniel Levy)\r
+ * - Fixed TeensyHID bootloader not enumerating to the host correctly\r
+ * - Fixed AVRISP project timeouts not checking for the correct timeout period (thanks to Carl Ott)\r
+ *\r
+ * \section Sec_ChangeLog091122 Version 091122\r
+ *\r
+ * <b>New:</b>\r
+ * - Added new Dual Role Keyboard/Mouse demo\r
+ * - Added new HID_HOST_BOOT_PROTOCOL_ONLY compile time token to reduce the size of the HID Host Class driver when\r
+ * Report protocol is not needed\r
+ * - Added new MIDI LowLevel and ClassDriver Host demo, add new MIDI Host Class driver\r
+ * - Added new CDC/Mouse ClassDriver device demo\r
+ * - Added new Joystick Host ClassDriver and LowLevel demos\r
+ * - Added new Printer Host mode Class driver\r
+ * - Added new Printer Host mode ClassDriver demo\r
+ * - Added optional support for double banked endpoints and pipes in the Device and Host mode Class drivers\r
+ * - Added new stream creation function to the CDC Class drivers, to easily make standard I/O streams from CDC Class driver instances\r
+ *\r
+ * <b>Changed:</b>\r
+ * - Removed mostly useless "TestApp" demo, as it was mainly useful only for checking for sytax errors in the library\r
+ * - MIDI device demos now receive MIDI events from the host and display note ON messages via the board LEDs\r
+ * - Cleanups to the Device mode Mass Storage demo application SCSI routines\r
+ * - Changed Audio Class driver sample read/write functions to be inline, to reduce the number of cycles needed to transfer\r
+ * samples to and from the device (allowing more time for sample processing and output)\r
+ * - Audio class Device mode demos now work at both 16MHz and 8MHz, rather than just at 8MHz\r
+ * - The previous USBtoSerial demo has been moved into the projects directory, as it was just a modified CDC demo\r
+ * - The Endpoint/Pipe functions now use the const qualifier on the input buffer\r
+ * - Changed the CALLBACK_HIDParser_FilterHIDReportItem() callback to pass a HID_ReportItem_t rather than just the current\r
+ * item's attributes, to expose more information on the item (including it's type, collection path, etc.)\r
+ * - Changed MouseHostWithParser demos to check that the report items have a Mouse usage collection as a parent at some point,\r
+ * to prevent Joysticks from enumerating with the demo\r
+ * - Corrected the name of the misnamed USB_GetDeviceConfigDescriptor() function to USB_Host_GetDeviceConfigDescriptor().\r
+ * - Keyboard LowLevel/ClassDriver demos now support multiple simultaneous keypresses (up to 6) per report\r
+ *\r
+ * <b>Fixed:</b>\r
+ * - Fixed PrinterHost demo returning invalid Device ID data when the attached device does not have a\r
+ * device ID (thanks to Andrei Krainev)\r
+ * - Changed LUFA_VERSION_INTEGER define to use BCD values, to make comparisons eaiser\r
+ * - Fixed issue in the HID Host class driver's HID_Host_SendReportByID() routine using the incorrect mode (control/pipe)\r
+ * to send report to the attached device\r
+ * - Fixed ClassDriver AudioOutput device demo not selecting an audio output mode\r
+ * - Fixed incorrect SampleFrequencyType value in the AudioInput and AudioOutput ClassDriver demos' descriptors\r
+ * - Fixed incorrect event name rule in demo/project/bootloader makefiles\r
+ * - Fixed HID device class driver not reselecting the correct endpoint once the user callback routines have been called\r
+ * - Corrected HID descriptor in the Joystick Device demos - buttons should be placed outside the pointer collection\r
+ * - Fixed HID report parser collection paths invalid due to misplaced semicolon in the free path item search loop\r
+ * - Fixed HID host Class driver report send/receive report broken when issued through the control pipe\r
+ * - Fixed HOST_STATE_AS_GPIOR compile time option being ignored when in host mode (thanks to David Lyons)\r
+ * - Fixed LowLevel Keyboard demo not saving the issues report only after it has been sent to the host\r
+ * - Fixed Endpoint_Write_Control_Stream_* functions not sending a terminating IN when given data Length is zero\r
+ *\r
+ * \section Sec_ChangeLog090924 Version 090924\r
+ *\r
+ * <b>New:</b>\r
+ * - Added new host mode class drivers and matching demos to the library for rapid application development\r