* \section Sec_ChangeLogXXXXXX Version XXXXXX\r
*\r
* <b>New:</b>\r
+ * - Added incomplete MIDIToneGenerator project\r
+ * - Added new Relay Controller Board project (thanks to OBinou)\r
+ * - Added board hardware driver support for the Teensy, USBTINY MKII, Benito and JM-DB-U2 lines of third party USB AVR boards\r
+ * - Added new ATTR_NO_INIT variable attribute\r
+ *\r
+ * <b>Changed:</b>\r
+ * - AVRISP programmer project now has a more robust timeout system, allowing for an increase of the software USART speed\r
+ * for PDI and TPI programming\r
+ * - Added a timeout value to the TWI_StartTransmission() function, within which the addressed device must respond\r
+ * - Webserver project now uses the board LEDs to indicate the current IP configuration state\r
+ * - Added ENABLE_TELNET_SERVER compile time option to the Webserver project to disable the TELNET server if desired\r
+ * - Increased throughput of the USBtoSerial demo on systems that send multiple bytes per packet (thanks to Opendous Inc.)\r
+ * - Double bank CDC endpoints in the XPLAIN Bridge project, re-enable JTAG once the mode selection pin has been sampled.\r
+ * - Standardized the naming scheme given to configuration descriptor sub-elements in the Device mode demos, bootloaders\r
+ * and projects\r
+ * - All Class Driver Host mode demos now correctly set the board LEDs to READY once the enumeration process has completed\r
+ * - Added LIBUSB_FILTERDRV_COMPAT compile time option to the AVRISP programmer project to make the code compatible with Windows\r
+ * builds of avrdude at the expense of AVRStudio compatibility\r
+ * - Removed two-step endpoint/pipe bank clear and switch sequence for smaller, faster endpoint/pipe code\r
+ *\r
+ * <b>Fixed:</b>\r
+ * - Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin\r
+ * - Fixed TWI_StartTransmission() corrupting the contents of the GPIOR0 register\r
+ * - Fixed TWI driver not aborting when faced with no response after attempting to address a device on the bus\r
+ * - Fixed ADC routines not correctly returning the last result when multiple channels were read\r
+ * - Fixed ADC routines failing to read the extended channels (Channels 8 to 13, Internal Temperature Sensor) on the\r
+ * U4 series USB AVR parts\r
+ * - Fixed LowLevel MassStorage demo broken on the U2 series USB AVRs due to unsupported double-banked endpoint modes used\r
+ * - Fixed compilation error in the AudioInput demos when MICROPHONE_BIASED_TO_HALF_RAIL is defined (thanks to C. Scott Ananian)\r
+ * - Fixed incorrect definition of HID_ALIGN_DATA() causing incorrect HID report item data alignment\r
+ * - Fixed Still Image Host class driver not resetting the transaction ID when a new session is opened, fixed driver not sending\r
+ * a valid session ID to the device\r
+ * - Removed invalid dfu and flip related targets from the bootloaders - bootloaders can only be replaced with an external programmer\r
+ * - Fixed Set/Clear Feature requests directed to a non-configured endpoint not returning a stall to the host\r
+ *\r
+ * \section Sec_ChangeLog100219 Version 100219\r
+ *\r
+ * <b>New:</b>\r
+ * - Added TPI programming support for 6-pin ATTINY devices to the AVRISP programmer project (thanks to Tom Light)\r
+ * - Added command timeout counter to the AVRISP project so that the device no longer freezes when incorrectly connected\r
+ * to a target\r
+ * - Added new TemperatureDataLogger application, a USB data logger which writes to the device's dataflash and appears to\r
+ * the host as a standard Mass Storage device when inserted\r
+ * - Added MIDI event packing support to the MIDI Device and Host mode Class drivers, allowing for multiple MIDI events to\r
+ * sent or received in packed form in a single USB packet\r
+ * - Added new MIDI send buffer flush routines to the MIDI Device and Host mode Class drivers, to flush packed events\r
+ * - Added master mode hardware TWI driver for easy TWI peripheral control\r
+ * - Added ADC MUX masks for the standard ADC input channels on all AVR models with an ADC, altered demos to use these masks\r
+ * as on some models, the channel number is not identical to its single-ended ADC MUX mask\r
+ * - New Webserver project, a RNDIS host USB webserver using the open source uIP TCP/IP network stack and FatFS library\r
+ * - New BOARD value option BOARD_NONE (equivelent to not specifying BOARD) which will remove all board hardware drivers which\r
+ * do not adversely affect the code operation (currently only the LEDs driver)\r
+ * - Added keyboard modifier masks (HID_KEYBOARD_MODIFER_*) and LED report masks (KEYBOARD_LED_*) to the HID class driver and\r
+ * Keyboard demos\r
+ * - Added .5MHz recovery clock to the AVRISP programmer project when in ISP programming mode to correct mis-set fuses\r
+ *\r
+ * <b>Changed:</b>\r
+ * - Slowed down software USART carried PDI programming in the AVRISP project to prevent transmission errors\r
+ * - Renamed the AVRISP project folder to AVRISP-MKII to reduce confusion\r
+ * - Renamed the RESET_LINE_* makefile tokens in the AVRISP MKII Project to AUX_LINE_*, as they are not always used for target\r
+ * reset\r
+ * - Changed over the MassStorageKeyboard Class driver device demo to use Start of Frame events rather than a timer to keep track\r
+ * of elapsed milliseconds\r
+ * - Inlined currently unused (but standardized) maintenance functions in the Device and Host Class drivers to save space\r
+ * - The XPLAINBridge project now selects between a USB to Serial bridge and a PDI programmer on startup, reading the JTAG port's\r
+ * TDI pin to determine which mode to use\r
+ * - Removed the stream example code from the Low Level VirtualSerial demos, as they were buggy and only served to add clutter\r
+ *\r
+ * <b>Fixed:</b>\r
+ * - Fixed AVRISP project not able to enter programming mode when ISP protocol is used\r
+ * - Fixed AVRISP PDI race condition where the guard time between direction changes could be interpreted as a start bit\r
+ * - Fixed ADC_IsReadingComplete() returning an inverted result\r
+ * - Fixed blocking CDC streams not aborting when the host is disconnected\r
+ * - Fixed XPLAIN board Dataflash driver broken due to incorrect preprocessor commands\r
+ * - Fixed inverted XPLAIN LED driver output (LED turned on when it was supposed to be turned off, and vice-versa)\r
+ * - Fixed Class Driver struct interface numbers in the KeyboardMouse and VirtualSerialMouse demos (thanks to Renaud Cerrato)\r
+ * - Fixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers\r
+ * - Fixed lack of support for the ATMEGA32U2 in the DFU and CDC class bootloaders\r
+ * - Fixed Benito project not resetting the target AVR automatically when programming has completed\r
+ * - Fixed DFU bootloader programming not discarding the correct number of filler bytes from the host when non-aligned programming\r
+ * ranges are specified (thanks to Thomas Bleeker)\r
+ * - Fixed CDC and RNDIS host demos and class drivers - bidirectional endpoints should use two seperate pipes, not one half-duplex pipe\r
+ * - Fixed Pipe_IsEndpointBound() not taking the endpoint's direction into account\r
+ * - Fixed EEPROM and FLASH ISP programming in the AVRISP project\r
+ * - Fixed incorrect values of USB_CONFIG_ATTR_SELFPOWERED and USB_CONFIG_ATTR_REMOTEWAKEUP tokens (thanks to Claus Christensen)\r
+ * - Fixed SerialStream driver blocking while waiting for characters to be received instead of returning EOF\r
+ * - Fixed SerialStream driver not setting stdin to the created serial stream (thanks to Mike Alexander)\r
+ * - Fixed USB_GetHIDReportSize() returning the number of bits in the specified report instead of bytes\r
+ * - Fixed AVRISP project not extending the command delay after each successful page/word/byte program\r
+ * - Fixed accuracy of the SERIAL_UBBRVAL() and SERIAL_2X_UBBRVAL() macros for higher baudrates (thanks to Renaud Cerrato)\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)\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
* 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 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 (thanks to Clint Fisher)\r
+ * - Fixed AVRISP project timeouts not checking for the correct timeout period (thanks to Carl Ott)\r
+ * - Fixed STK525 Dataflash driver using incorrect bit-shifting for Dataflash addresses (thanks to Tim Mitchell)\r
*\r
* \section Sec_ChangeLog091122 Version 091122\r
*\r