* \section Sec_ChangeLogXXXXXX Version XXXXXX\r
*\r
* <b>New:</b>\r
- * - Added new host class drivers and matching demos to the library for rapid application development\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 stdio.h stream examples for the virtual CDC UART in the CDC host demos\r
+ * - Added new CDC/Mouse ClassDriver device demo\r
+ * - Added new Joystick Host ClassDriver and LowLevel demos\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 applications' 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
+ *\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
+ *\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
* - Added flag to the HID report parser to indicate if a device has multiple reports\r
* - Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and\r
* USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode\r
- * - Added new Endpoint_SetEndpointDirection() macro for bi-directional endpoints\r
+ * - Added new Endpoint_SetEndpointDirection() macro for bidirectional endpoints\r
* - Added new AVRISP project, a LUFA powered clone of the Atmel AVRISP-MKII programmer\r
- * - Added ShutDown functions for all hardware peripheral drivers, so that peripherals can be turned off after use\r
+ * - Added ShutDown() functions for all hardware peripheral drivers, so that peripherals can be turned off after use\r
+ * - Added new CDC_Device_Flush() command to the device mode CDC Class driver to flush Device->Host data\r
+ * - Added extra masks to the SPI driver, changed SPI_Init() so that the clock polarity and sample modes can be set\r
+ * - Added new callback to the HID report parser, so that the user application can filter only the items it is interested\r
+ * in to be stored into the HIDReportInfo structure to save RAM\r
+ * - Added support for the officially recommended external peripheral layout for the BUMBLEB board (thanks to Dave Fletcher)\r
+ * - Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen\r
+ * - Added new USB_GetHIDReportSize() function to the HID report parser to retrieve the size of a given report by its ID\r
+ * - Added new combined Mass Storage and Keyboard demo (thanks to Matthias Hullin)\r
* \r
* <b>Changed:</b>\r
* - SetIdle requests to the HID device driver with a 0 idle period (send changes only) now only affect the requested\r
* HID interface within the device, not all HID interfaces\r
- * - Added new CDC_Device_Flush() command to the device mode CDC Class driver\r
* - Added explicit attribute masks to the device mode demos' descriptors\r
* - Added return values to the CDC and MIDI class driver transmit functions\r
- * - Added extra masks to the SPI driver, changed SPI_Init() so that the clock polarity and sample modes can be set\r
* - Optimized Endpoint_Read_Word_* and Pipe_Read_Word_* macros to reduce compiled size\r
* - Added non-null function parameter pointer restrictions to USB Class drivers to improve user code reliability\r
* - Added new "Common" section to the class drivers, to hold all mode-independant definitions for clarity\r
* - Moved SCSI command/sense constants into the Mass Storage Class driver, instead of the user-code\r
* - Altered the SCSI commands in the LowLevel Mass Storage Host to save on FLASH space by reducing function calls\r
+ * - Changed the parameters and behaviour of the USB_GetDeviceConfigDescriptor() function so that it now performs size checks\r
+ * and data validations internally, to simplify user code\r
+ * - Changed HIDParser to only zero out important values in the Parsed HID Report Item Information structure to save cycles\r
+ * - The HID report parser now always processed FEATURE items - HID_ENABLE_FEATURE_PROCESSING token now has no effect\r
+ * - The HID report parser now always ignores constant-data items, HID_INCLUDE_CONSTANT_DATA_ITEMS token now has no effect\r
+ * - The Benito Programmer project now has its own unique VID/PID pair allocated from the Atmel donated LUFA VID/PID pool\r
+ * - Add in new invalid event hook check targets to project makefiles to produce compilation errors when invalid event names\r
+ * are used in a project\r
+ * - The HID Report Parser now gives information on the total length of each report within a HID interface\r
+ * - The USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token has been removed - there are now seperate USB_Descriptor_* and\r
+ * USB_StdDescriptor_* structures for both the LUFA and standardized element naming conventions so both may be used\r
*\r
* <b>Fixed:</b>\r
* - Fixed possible lockup in the CDC device class driver, when the host sends data that is a multiple of the\r
* endpoint's bank\r
- * - Fixed swapped paremeters in the HID state memory copy call while processing a HID PUSH item in the HID report parser\r
+ * - Fixed swapped parameters in the HID state memory copy call while processing a HID PUSH item in the HID report parser\r
* - Fixed memory corruption HID report parser when too many COLLECTION or PUSH items were processed\r
* - Fixed HID report parser not resetting the FEATURE item count when a REPORT ID item is encountered\r
* - Fixed USBtoSerial demos not reading in UDR1 when the USART receives data but the USB interface is not enumerated,\r
* - Fixed Device mode HID Class driver always sending IN packets, even when nothing to report\r
* - Fixed Device mode HID Class driver not explicitly initializing the ReportSize parameter to zero before calling callback\r
* routine, so that ignored callbacks don't cause incorrect data to be sent\r
+ * - Fixed StillImageHost not correctly freezing and unfreezing data pipes while waiting for a response block header\r
+ * - Fixed error in the PrinterHost demo preventing the full page data from being sent to the attached device (thanks to John Andrews)\r
+ * - Fixed CDC based demos and projects' INF driver files under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker)\r
+ * - Re-add in missing flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.)\r
+ * - Fix allowable F_CPU values comment in project makefiles to more accurately reflect the allowable values on the USB AVRs\r
+ * - Fixed DFU and CDC class bootloaders on the series 2 USB AVRs, corrected invalid signatures, added support for the new\r
+ * ATMEGAxx2 series 2 variant AVRs to the DFU bootloader\r
+ * - Fixed Low Level USBtoSerial demo not storing received characters (thanks to Michael Cooper)\r
+ * - Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker)\r
*\r
*\r
* \section Sec_ChangeLog090810 Version 090810\r
* - CDC demos now send empty packets after sending a full one to prevent buffering issues on the host\r
* - Updated demo descriptors to use VID/PID values donated by Atmel\r
* - Added DoxyGen documentation to the source files\r
- * - Fixed Serial_IsCharRecieved() definition, was previously reversed\r
+ * - Fixed Serial_IsCharReceived() definition, was previously reversed\r
* - Removed separate USB_Descriptor_Language_t descriptor, USB_Descriptor_String_t is used instead\r
* - Removed unused Device Qualifier descriptor structure\r
* - Renamed the USB_CreateEndpoints event to the more appropriate USB_ConfigurationChanged\r