diff options
author | Jack Humbert <jack.humb@gmail.com> | 2017-07-07 11:55:23 -0400 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2017-07-07 11:55:23 -0400 |
commit | 8655d4f4948b2deef7844503c8d690f23ac1a062 (patch) | |
tree | b2c6effc9d6cd5b5b43933a1e53b8bf17e9e82cf /lib/lufa/LUFA/DoxygenPages/ChangeLog.txt | |
parent | 1896c76a2928c96f9ab7947bec2ef8dd37623cff (diff) | |
parent | 60b30c036397cb5627fa374bb930794b225daa29 (diff) |
Merge commit '60b30c036397cb5627fa374bb930794b225daa29' as 'lib/lufa'
Diffstat (limited to 'lib/lufa/LUFA/DoxygenPages/ChangeLog.txt')
-rw-r--r-- | lib/lufa/LUFA/DoxygenPages/ChangeLog.txt | 1653 |
1 files changed, 1653 insertions, 0 deletions
diff --git a/lib/lufa/LUFA/DoxygenPages/ChangeLog.txt b/lib/lufa/LUFA/DoxygenPages/ChangeLog.txt new file mode 100644 index 0000000000..aedfd3ce53 --- /dev/null +++ b/lib/lufa/LUFA/DoxygenPages/ChangeLog.txt @@ -0,0 +1,1653 @@ +/** \file + * + * This file contains special DoxyGen information for the generation of the main page and other special + * documentation pages. It is not a project source file. + */ + + /** \page Page_ChangeLog Project Changelog + * + * \section Sec_ChangeLog170418 Version 170418 + * <b>New:</b> + * - Core: + * - Added support for the Pololu A-Star Micro board (thanks to Joh Schneider) + * - Added new \c LUFA_VERSION_RELEASE_TYPE macro to the library version header, to determine release type (thanks to NicoHood) + * + * <b>Fixed:</b> + * - Core: + * - The CALLBACK_USB_GetDescriptor() callback function into the user application erroneously had a uint8_t type for the wIndex + * parameter, instead of uint16_t (thanks to Matlo) + * - Fixed broken USE_RAM_DESCRIPTORS compile time option when the FIXED_NUM_CONFIGURATIONS compile time option is not enabled + * in a user application (thanks to Matlo) + * - Fixed missing \c va_end() calls in the HID bootloader CLI app which could cause portability issues + * - Fixed void pointer arithmetic in the \c Serial_SendData() functions for AVR8 and XMEGA architectures + * - Fixed void pointer arithmetic in the low level and class driver RNDIS demo protocol decoders + * - Fixed low level RNDIS demo incorrectly setting the RNDIS state when a null packet filter was requested + * - Fixed missing entries in several project's Atmel Studio integration files, such as driver INF files + * - Fixed invalid endpoint indexes causing memory corruption in device Clear/Set Feature standard requests (thanks to Peter Popovec) + * - Fixed incorrect serialization in USB_SetHIDReportItemInfo() function (thanks to e-chip) + * + * <b>Changed:</b> + * - Added signed alternative libUSB driver for the AVRISP-MKII clone project, to support Atmel Studio 7 (thanks to Atmel) + * - Removed no longer required LIBUSB_DRIVER_COMPAT and RESET_TOGGLES_LIBUSB_COMPAT configuration options from the AVRISP-MKII + * clone project, as the new libUSB driver works for AVRDUDE and Atmel Studio 7 under Windows + * - Replaced the LUFA build system with its (compatible) successor, DMBS (Dean's Makefile Build System) + * - Removed obsolete library TAR export and associated documentation + * - Fixed incorrect HID_DESCRIPTOR_KEYBOARD() macro definition (thanks to Eric Tang) + * + * \section Sec_ChangeLog151115 Version 151115 + * <b>New:</b> + * - Added support for the Atmel Xplained-MINI series of development kits + * - Added new PROGMEM variant send functions to the CDC class device driver (thanks to Stefan Hellermann) + * - Added new PROGMEM variant send functions to the CDC class host driver + * - Added additional Arduino Uno board definitions for the main processor reset (thanks to NicoHood) + * - Added modified DocBook transforms to generate Atmel Studio 6/7 internal help documentation (thanks to Morten Engelhardt Olsen) + * + * <b>Changed:</b> + * - Core: + * - The TWI peripheral driver's TWI_WritePacket() and TWI_ReadPacket() functions now takes a 16-bit Length rather than an 8-bit + * length, for longer transfers + * - Library Applications: + * - The CDC, DFU, Mass Storage and Printer class bootloaders will no longer run the user application if the application reset + * vector is blank (thanks to Alex Kazik) + * - The CDC, DFU and Printer class bootloaders are now compatible with the original Atmel XPLAIN and Arduino Leonardo boards + * - The CDC, DFU, Mass Storage and Printer class bootloaders are not compatible with devices with the BOOTRST fuse set and will + * exit automatically unless an external reset was the last reset cause (thanks to Alex Kazik) + * - Added missing force-inline attribute to the endianness utility functions (thanks to Stefan Hellermann) + * - Updated the DFU build system module to use updated EEPROM programming command arguments for dfu-programmer 0.6.2 or newer + * + * <b>Fixed:</b> + * - Fixed broken XMEGA serial stream driver due to missing USART base pointer parameter (thanks to William Patterson) + * - Fixed incorrect signature reported in the CDC/DFU bootloaders for the AT90USB82 (thanks to NicoHood) + * - Fixed broken RNDIS demos on Linux machines whose DHCP hosts require a Lease Time option (thanks to Stefan Hellermann) + * - Fixed broken LEDs_Disable() implementation for the Arduino Uno board (thanks to NicoHood) + * - Fixed missing bounds checks and off-by-one in the DFU bootloader signature bytes (thanks to Reuti) + * + * \section Sec_ChangeLog140928 Version 140928 + * <b>New:</b> + * - Core: + * - Updated the BUILD build system module to add a new COMPILER_PATH optional variable + * - Added Serial_IsSendReady() and Serial_IsSendComplete() functions to the Serial hardware peripheral driver + * - Added support for the Arduino Yun board (ATMEGA32U4 co-processor) + * - Added support for the Arduino Micro board (thanks to Zoltán Szőke) + * - Library Applications: + * - Added new Dual MIDI class driver device demo + * + * <b>Changed:</b> + * - Core: + * - The RNDIS device class driver now takes a user-supplied buffer and buffer length for the internal RNDIS + * message management (thanks to Peter Mc Shane) + * + * <b>Fixed:</b> + * - Core: + * - Fixed device class driver pipe configuration routines returning success with a partially constructed instance + * when a pipe configuration failed (thanks to Helge Suess) + * - Fixed incorrect XMEGA DFLL reference frequency (thanks to Martin Aakerberg) + * - Fixed possible infinite loop in the control endpoint stream write function (thanks to Clayton Knight) + * - Fixed missing HID report ID prefix on HID class driver GetReport request responses (thanks to Bert van Hall) + * - Fixed incorrect XMEGA USB controller clock division factory for non-Full Speed operation (thanks to Bert van Hall) + * - Fixed the LUFA build system to prevent incorrect code from being generated in newer toolchains when building for larger + * FLASH memory devices (thanks to demultiplexer) + * - Fixed missing parenthesis in the MIDI_EVENT() macro which could cause incorrect results (thanks to hexwab) + * - Fixed mixed capitalization of TWI in the XMEGA TWI driver causing compilation failures (thanks to Jacob Schloss) + * - Fixed broken AVR8 USART-SPI peripheral driver (thanks to Phil Zakielarz) + * - Library Applications: + * - Fixed spurious 0xFE USART byte sent in the USBtoSerial project when the baud rate is changed (thanks to Carl Kjeldsen) + * - Fixed blocking USART reads causing low throughput on slow baud rates in the USBtoSerial project (thanks to Nevada Smith) + * - Fixed USART reception overrun corrupting the internal buffers in the USBtoSerial project (thanks to Nevada Smith) + * - Fixed broken LowLevel Audio Out demo sampling frequency configuration (thanks to Torsten Duwe) + * + * \section Sec_ChangeLog140302 Version 140302 + * <b>New:</b> + * - Library Applications: + * - Added new Bulk Vendor low level device demo + * - Added new libUSB host Python and NodeJS application examples for the Class driver GenericHID demo (thanks to Laszlo Monda) + * - Added new AVR8 USB option to keep 3.3V regulator enabled (thanks to Michael Hanselmann) + * - Added new USB_STRING_DESCRIPTOR() and USB_STRING_DESCRIPTOR_ARRAY() convenience macros (thanks to Laszlo Monda) + * + * <b>Changed:</b> + * - Library Applications: + * - Refactored out USB interface IDs in the demo applications into enums (thanks to Laszlo Monda) + * - AVRISP-MKII Clone Project PDI/TPI frequency increased from 250KHz to 2MHz as it is now stable + * - Increased TPI/PDI handshake delay to 100us from 1us to support targets with high amounts of capacitance on their + * /RESET lines (thanks to Paul Duke) + * - Changed the VERSION_BCD() macro to accept the major/minor/revision values as separate parameters + * + * <b>Fixed:</b> + * - Core: + * - Fixed MIDI device class driver MIDI_Device_ReceiveEventPacket() for the XMEGA architecture + * - Library Applications: + * - Fixed incorrect signature bytes returned in the DFU bootloader + * + * \section Sec_ChangeLog130901 Version 130901 + * <b>New:</b> + * - Core: + * - Added additional MIDI command definitions to the MIDI class driver (thanks to Daniel Dreibrodt) + * - Added new CONCAT() and CONCAT_EXPANDED() convenience macros + * - Added new Printer Device Class driver + * - Added support for the XMEGA C3 Xplained board + * - Added support for the U2S board (thanks to megal0maniac) + * - Added TWI Master driver for the XMEGA architecture (thanks to Michael Janssen) + * - Library Applications: + * - Added new Printer class bootloader + * - Added new Mass Storage class bootloader + * - Added XMEGA support for class driver device demos (where applicable) + * - Added Python host application example for the Generic HID class driver device demo + * - Added Python alternative host application for the HID class bootloader + * + * <b>Changed:</b> + * - Core: + * - Updated the BUILD build system module to produce binary BIN files in addition to Intel HEX files + * - Updated the Android Accessory Class to accept version 2 protocol devices (with version 1 functionality) + * - All board drivers now implement dummy functions and constants when BOARD is set to NONE + * - Added missing LEDs to the XMEGA A3BU Xplained board LED driver (thanks to Michael Janssen) + * - Changed board Dataflash drivers to automatically configure the appropriate SPI interface for the selected board + * - Library Applications: + * - Re-added Set Control Line State request handling to the CDC class bootloader to prevent issues with the .NET serial + * class (thanks to Erik Lins) + * - TemperatureDataLogger project dummy RTC mode now tracks real time (thanks to David Lazarus) + * + * <b>Fixed:</b> + * - Core: + * - Fixed Low Speed USB devices broken when using the library HID Class driver (thanks to Michael) + * - Fixed possible register corruption in USB Host mode on AVR8 devices when ORDERED_EP_CONFIG is used (thanks to Martin Aakerberg) + * - Fixed Pipe_GetBoundEndpointAddress() returning invalid endpoint directions on AVR8 architecture devices (thanks to decerri) + * under some circumstances + * - Fixed incorrect USB device state set when a suspended LUFA device is woken while addressed but not configured (thanks to Balaji Krishnan) + * - Fixed broken USART SPI driver for the AVR8 architecture due to incorrect initialization + * - Fixed re-enumeration issue of XMEGA architecture targets (thanks to Jaroslav Jedlinsky) + * - Fixed error receiving PIMA events via the Still Image Host class driver + * - Library Applications: + * - Added handler for SCSI_CMD_START_STOP_UNIT in demos using the Mass Storage class, to prevent ejection errors on *nix systems due to an + * unknown SCSI command + * - Fixed incorrect HID report descriptor generated for 16-bit axis ranges by the HID_DESCRIPTOR_MOUSE() and HID_DESCRIPTOR_JOYSTICK() + * macros (thanks to Armory) + * - Fixed incorrect HID report descriptor generated for button multiples of 8 by the HID_DESCRIPTOR_MOUSE() and HID_DESCRIPTOR_JOYSTICK() + * macros + * - Fixed race condition in the DFU class bootloader causing failed device reprogramming in some circumstances (thanks to Luis Mendes) + * - Fixed incorrect time/date configuration data order in the TempDataLogger host application (thanks to David Lazarus) + * + * \section Sec_ChangeLog130303 Version 130303 + * <b>New:</b> + * - Core: + * - Added support for the Arduino Leonardo board + * - Added support for the Atmel UC3-A3 Xplained board + * - Added support for the Xevelabs USB2AX revision 3.1 board + * - Added support for the Dimex Stange-ISP board (thanks to Gerhard Wesser) + * - Added new \c doxygen_upgrade and \c doxygen_create targets to the DOXYGEN build system module + * - Added new Board Hardware Information board driver + * - Library Applications: + * - Added a different device serial number when the AVRISP-MKII Clone project is in libUSB compatibility mode, so that + * both the libUSB and Jungo drivers can be installed at the same time without having to use a filter driver + * + * <b>Changed:</b> + * - Core: + * - Added workaround for broken VBUS detection on AVR8 devices when a bootloader starts the application + * via a software jump without first turning off the OTG pad (thanks to Simon Inns) + * - Library Applications: + * - Increased throughput in the USBtoSerial project now that data transmission is non-blocking (thanks to Joseph Lacerte) + * - Updated bootloader makefiles to remove dependency on the \c bc command line calculator tool + * - Updated AVRISP-MKII Clone Programmer project so that the SCK clock period is saved in EEPROM (thanks to Gerhard Wesser) + * - Changed all *_SendByte() function prototypes to accept a void pointer for the input buffer (thanks to Simon Kuppers) + * + * <b>Fixed:</b> + * - Core: + * - Fixed incorrectly issuing STALL response to unsupported control request SETUP packets, rather than in the data/status stage + * - Fixed inverted LEDs_GetLEDs() function implementation for the Benito, Minimus and Arduino UNO boards + * - Fixed missing Windows 32-bit compatibility sections in the LUFA INF driver files (thanks to Christan Beharrell) + * - Fixed logic hole breaking USB operations on a USB controller with only one supported USB mode and no USB_DEVICE_ONLY or USB_HOST_ONLY + * configuration token set + * - Fixed possible rounding in the VERSION_BCD() macros for some 0.01 step increments (thanks to Oliver Zander) + * - Fixed incorrect Dataflash functionality in the USBKEY board if the driver is modified for a single Dataflash chip (thanks to Jonathan Oakley) + * - Fixed incorrect definitions of \c HID_KEYBOARD_LED_KANA, \c HID_KEYBOARD_SC_KEYPAD_EQUAL_SIGN and \c HID_KEYBOARD_SC_KEYPAD_EQUAL_SIGN_AS400 + * and added a missing definition for \c HID_KEYBOARD_SC_APPLICATION (thanks to David Monro) + * - Fixed maximum allowed keyboard key code usage of \c 0x65 rather than \c 0xFF for the \c HID_DESCRIPTOR_KEYBOARD() macro (thanks to David Monro) + * - Fixed hardware race condition that could cause failed device enumerations for AVR8 and UC3 architectures (thanks to Mike Beyhs) + * - Fixed incorrect Minimus board LED definitions (thanks to Joonas Lahtinen) + * - Fixed incorrect ordering of the linker options in the build system causing link failures in some cases + * - Fixed bug in the TWI peripheral driver for the AVR8 devices causing incorrect failure codes to be returned in some cases (thanks to Peter K) + * - Fixed swapped LED3 and LED4 masks for the Olimex-32U4 development board LED driver + * - Fixed potential NULL pointer dereference in the HID Host mode Class Driver (thanks to Pavel Kuzmin) + * - Library Applications: + * - Fixed broken RESET_TOGGLES_LIBUSB_COMPAT compile time option in the AVRISP-MKII project + * - Fixed incompatibility in the CDC class bootloader on some systems (thanks to Sylvain Munaut) + * - Fixed lengthy timeouts in the USBtoSerial project if no application on the host is consuming data (thanks to Nicolas Saugnier) + * - Fixed lengthy automatic data flushing in the CDC and MIDI device class drivers + * - Fixed incorrect LED masks for received data display in the Device GenericHID demos (thanks to Denys Berkovskyy) + * - Fixed incorrect output in the HIDReportViewer project when no device is connected (thanks to Pavel Kuzmin) + * + * \section Sec_ChangeLog120730 Version 120730 + * <b>New:</b> + * - Core: + * - Added new, revamped modular build system with new makefile templates + * - Added support for the BitWizard Multio and Big-Multio boards + * - Added support for the DorkbotPDX Duce board + * - Added support for the Olimex AVR-USB-32U4 board + * - Added support for the Olimex AVR-USB-T32U4 board + * - Added support for the Olimex AVR-ISP-MK2 board + * - Added new Endpoint_ConfigureEndpointTable() function + * - Added new Pipe_ConfigurePipeTable() function + * - Added build test to verify correct compilation of all board drivers using all driver APIs + * - Added build test to verify correct compilation of all bootloaders using all supported devices + * - Added build test to verify that there are no detectable errors in the codebase via static analysis + * - Added new JTAG_ENABLE() macro for the AVR8 architecture + * - Library Applications: + * - Modified the CDC Host demos to set a default CDC Line Encoding on enumerated devices + * - Added Dataflash operational checks and aborts to all projects using the Dataflash to ensure it is working correctly before use + * - Added new SerialToLCD user project contributed by Simon Foster + * - Added new RESET_TOGGLES_LIBUSB_COMPAT compile time option to the AVRISP-MKII clone programmer project (thanks to Robert Spitzenpfeil) + * + * <b>Changed:</b> + * - Core: + * - Android Accessory Host property strings changed from a struct of pointer to an array to prevent unaligned access on greater than 8-bit architectures + * - Audio Device Class driver changed to also require the index of the Audio Control interface within the device, for SET/GET/CUR/MIN/MAX/RES property adjustments + * - Removed variable axis support from the HID_DESCRIPTOR_JOYSTICK() macro due to OS incompatibilities, replaced with fixed 3-axis joystick report structure + * - Removed the old pseudo-scheduler from the library as it was unused and deprecated since the 090810 release + * - Endpoint indexes are now specified as full endpoint addresses within the device in device mode, rather than a logical index + * - The Endpoint_ConfigureEndpoint() function no longer takes an endpoint direction as a parameter, as this is now deduced from the specified full endpoint + * address and type + * - The Endpoint_ConfigureEndpoint() function no longer takes a number of banks as a special mask; the number of banks is now specified as an integer parameter + * - Endpoints are now configured via instances of a new struct USB_Endpoint_Table_t in all device mode class drivers, rather than a list of endpoint parameters + * - Pipe indexes are now specified as full pipe addresses within the host in host mode, rather than a logical index + * - The Pipe_ConfigurePipe() function no longer takes an pipe token as a parameter, as this is now deduced from the specified full pipe address and type + * - The Pipe_ConfigurePipe() function no longer takes a number of banks as a special mask; the number of banks is now specified as an integer parameter + * - Pipes are now configured via instances of a new struct USB_Pipe_Table_t in all host mode class drivers, rather than a list of pipe parameters + * - Added support for various assert and debugging macros for the UC3 devices + * - Changed MIDI event structure MIDI_EventPacket_t to use a single field for the combined virtual cable index and command ID, to prevent bitfield packing issues + * on some architectures (thanks to Darren Gibbs) + * - Changed board LED driver implementations of LEDs_ToggleLEDs() for the AVR8 architecture to use the fast PIN register toggle alternative function for speed + * - Library Applications: + * - Raised the guard bits in the AVRISP-MKII clone project when in PDI and TPI to 32, to prevent communication errors on low quality connections to a target + * - Added additional bootloader API data to expose the bootloader start address and class to the DFU and CDC class bootloaders + * - Reverted AVRISP-MKII clone project watchdog based command timeout patch in favour of a hardware timer, to allow for use in devices with WDTRST fuse programmed + * - The library bootloaders will now correctly start the user application after a watchdog-based application start, even if the /HWB line is held low externally + * during the reset phase + * - Increased endpoint polling interval for all demos and projects to 5ms, as 1ms was causing some enumeration issues on some machines (thanks to Riku Salminen) + * + * <b>Fixed:</b> + * - Core: + * - Fixed possible enumeration error if the user application selects a pipe other than the default Control pipe between the Powered and Default states of + * the host state machine + * - Fixed incorrect call to the user callback CALLBACK_Audio_Device_GetSetInterfaceProperty() in the Audio Class device driver (thanks to Tiit Ratsep) + * - Fixed compile error for the UC3 architecture when INTERRUPT_CONTROL_ENDPOINT is specified (thanks to Andrus Aaslaid) + * - Fixed compile error if LEDs_Disable() is called and BOARD=NONE is set (thanks to Sam Lin) + * - Fixed inverted LED logic in the OLIMEX162 board LED driver + * - Fixed incorrect response to GET STATUS requests in device mode if NO_DEVICE_SELF_POWER or NO_DEVICE_REMOTE_WAKEUP tokens are defined (thanks to Georg Glock) + * - Fixed inverted LED logic in the USB2AX board LED driver + * - Fixed possible deadlock in the CDC device driver if the USB connection is dropped while the CDC_REQ_SetLineEncoding control request is being processed by + * the stack (thanks to Jonathan Hudgins) + * - Fixed broken MIDI host driver MIDI_Host_ReceiveEventPacket() function due to not unfreezing the MIDI data IN pipe before use (thanks to Michael Brown) + * - Fixed swapped Little Endian/Big Endian endpoint and pipe write code for the UC3 devices (thanks to Andrew Chu) + * - Fixed the JTAG_DISABLE() macro clearing all other bits in MCUSR when called + * - Fixed incorrect Micropendous board LED driver LEDs_SetAllLEDs() and LEDs_ChangeLEDs() function implementations (thanks to MitchJS) + * - Fixed endianess issues in the RNDIS host class driver for UC3 devices (thanks to Andrew Chu) + * - Library Applications: + * - Fixed error in the AVRISP-MKII programmer when ISP mode is used at 64KHz (thanks to Ben R. Porter) + * - Fixed AVRISP-MKII programmer project failing to compile for the U4 chips when VTARGET_ADC_CHANNEL is defined to an invalid channel and NO_VTARGET_DETECT is + * defined (thanks to Steven Morehouse) + * - Fixed AVRISP-MKII programmer project reset line polarity inverted when the generated EEP file is loaded into the USB AVR's EEPROM and avr-dude is used + * - Fixed CDC and DFU bootloaders failing to compile when the bootloader section size is 8KB or more (thanks to Georg Glock) + * - Fixed CDC and DFU bootloaders API function offsets incorrect on some devices (thanks to Rod DeMay) + * - Fixed incorrect DFU version number reported to the host in the DFU bootloader descriptors (thanks to Georg Glock) + * - Fixed incorrect version hundredths value encoding in VERSION_BCD() macro (thanks to Georg Glock) + * - Fixed invalid configuration descriptor in the low level KeyboardMouse device demo (thanks to Jun Wako) + * - Fixed CDC and DFU bootloaders API page erase and write function failures (thanks to Martin Lambert) + * + * \section Sec_ChangeLog120219 Version 120219 + * <b>New:</b> + * - Core: + * - Added support for the XMEGA A3BU Xplained board + * - Added support for the new B series XMEGA devices + * - Added support for version 2 of the Teensy boards (thanks to Christoph Redecker) + * - Added support for the USB2AX boards, hardware revision 1-3 + * - Added new Android Accessory Host class driver + * - Added new USB_Host_GetDescriptor(), USB_Host_GetDeviceConfiguration() and USB_Host_GetInterfaceAltSetting() functions + * - Added new CALLBACK_Audio_Device_GetSetInterfaceProperty() callback to the Audio Device Class driver + * - Added new LEDs_Disable(), Buttons_Disable() and Joystick_Disable() functions to the board hardware drivers + * - Added support for the Micropendous family of boards (Arduino-like revisions 1 and 2, DIP, 32U2, A, 1, 2, 3 and 4) + * - Added INVERTED_VBUS_ENABLE_LINE and NO_AUTO_VBUS_MANAGEMENT compile time options (thanks to Opendous Inc.) + * - Added support for the Atmel XMEGA B1 Xplained board + * - Added Serial USART peripheral driver for the XMEGA architecture + * - Added Master Mode SPI USART peripheral driver for the XMEGA and AVR8 architectures + * - Added build test to verify correct compilation of as many modules as possible under as many architectures as possible under the C and C++ languages + * - Added build test to verify correct compilation of the USB driver when forced into single USB mode under as many architectures as possible + * - Library Applications: + * - Added User Application APIs to the CDC and DFU class bootloaders + * - Added INVERTED_ISP_MISO compile time option to the AVRISP-MKII clone project (thanks to Chuck Rohs) + * - Added new Android Accessory Host demo (thanks to Opendous Inc.) + * + * <b>Changed:</b> + * - Core: + * - When automatic PLL management mode is enabled on the U4 series AVR8 chips, the PLL is now configured for 48MHz and not + * a divided 96MHz, to lower power consumption and to keep the system within the datasheet specs for 3.3V operation (thanks to Scott Vitale) + * - Added Class, ClassDevice, ClassHost and ClassCommon to the internal class driver source filenames to prevent ambiguities + * - Altered the Mass Storage Host class driver so that SCSI data STALLs from the attached device can be recovered from automatically without + * having to reset the Mass Storage interface + * - USB_CONFIG_ATTR_BUSPOWERED constant renamed to USB_CONFIG_ATTR_RESERVED, as this was misnamed (thanks to NXP Semiconductors) + * - Reordered board name definition indexes so that a misspelled BOARD compile option will default to BOARD_USER rather than BOARD_USBKEY + * - Altered the HID class driver to only try to construct at maximum one packet per USB frame, to reduce CPU usage + * - All USB Class Driver configuration struct values are now non-const, to allow for run-time modifications if required before configuring an instance + * - Library Applications: + * - Altered the Mass Storage Host LowLevel demo so that SCSI data STALLs from the attached device can be recovered from automatically without + * having to reset the Mass Storage interface + * - Updated the AVRISP-MKII Clone programmer project to be compatible with the latest version of AVR Studio (version 5.1) + * - Changed the AVRISP-MKII Clone programmer project to report a fixed 3.3V VTARGET voltage on USB AVRs lacking an ADC instead of 5V to prevent + * warnings in AVR Studio 5.1 when programming XMEGA devices + * - Allow serial strings to be generated on the older AVR8 devices which do not explicitly state they contain unique values in the datasheet, + * as this appears to be implemented in hardware + * + * <b>Fixed:</b> + * - Core: + * - Fixed ring buffer size limited to 255 elements, instead of the intended 65535 elements. + * - Fixed CDC class drivers not saving and sending all 16-bits of the control line states (thanks to Matthew Swabey) + * - Fixed race conditions in the CDC, HID and Mass Storage class drivers when processing some control requests + * - Fixed misspelled HID_KEYBOARD_MODIFIER_* macros in the HID class driver (thanks to Laszlo Monda) + * - Fixed broken AVR32 endpoint/pipe communications when ORDERED_EP_CONFIG compile time option is not enabled (thanks to Matthias Jahr) + * - Fixed broken compilation for the AVR32 devices if the NO_SOF_EVENTS compile time option was not enabled (thanks to Matthias Jahr) + * - Fixed compiler warning on GCC with \c -wundef compile flag is used (thanks to Georg Glock) + * - Fixed incorrect implementation of LEDs_ToggleLEDs() for the Adafruit-U4 board (thanks to Caroline Saliman) + * - Fixed broken compilation of LUFA under C++ compilers when the Serial peripheral module header file is included in a C++ source file + * - Fixed missing semicolon in the UC3 architecture host pipe functions + * - Fixed failed compilation for the XMEGA architecture if USB_DEVICE_ONLY us not specified + * - Fixed UC3 architecture ignoring the pipe size when Pipe_ConfigurePipe() is called + * - Library Applications: + * - Added reliability patches to the AVRISP-MKII Clone project's PDI/TPI protocols (thanks to Justin Mattair) + * - Fixed AVRISP-MKII Clone compile warning on AVR8 U4 targets even when NO_VTARGET_DETECT is enabled + * - Fixed AVRISP-MKII Clone failing to start application firmware once a TPI programming session is exited + * - Fixed DFU class bootloader not resetting the LED pins as high impedance inputs when a software jump to the user applications is requested + * - Fixed AVRISP-MKII Clone timing out on long programming commands such as programming the EEPROM on an ATMEGA8 (thanks to Martin Kelling) + * - Fixed invalid PID value used in the TempDataLogger project host application (thanks to Anupam Pathak) + * + * \section Sec_ChangeLog111009 Version 111009 + * <b>New:</b> + * - Core: + * - Added USE_LUFA_CONFIG_HEADER compile time option to include a LUFAConfig.h header in the user director for LUFA configuration + * tokens as an alternative to tokens defined in the project makefile + * - Added new USB_Host_SetInterfaceAltSetting() convenience function for the selection of an interface's alternative setting + * - Added Audio class control request definitions + * - Added new CALLBACK_Audio_Device_GetSetEndpointProperty() callback to the Audio Device Class driver to allow for endpoint control manipulations + * such as data sample rates + * - Added support for the Audio class GET STATUS request in the Audio Device Class driver so that it is correctly ACKed when sent by the host + * - Added new EVENT_Audio_Device_StreamStartStop() event to the Audio Device Class driver to detect stream start/stop events + * - Added board driver support for the Busware TUL board + * - Added board hardware driver support for the EVK1100 board + * - Added board hardware driver support for the EVK1104 board + * - Added new Host mode Audio Class driver + * - Added new SPI_GetCurrentMode() function to the SPI peripheral driver + * - Added RingBuffer_GetFreeCount() function to the Ring Buffer driver + * - Added new HID_Host_SetIdlePeriod() function to the HID Host Class driver + * - Added new USB_Host_ConfigurationNumber global variable to indicate the selected configuration in an attached device + * - Added new USB_Host_GetDeviceStatus() function to the host standard request function set + * - Added AVR USB XMEGA architecture port (currently incomplete/experimental) + * - Added new STRINGIFY() and STRINGIFY_EXPANDED() convenience macros + * - Added new JTAG_DISABLE() macro for the AVR8 architecture + * - Added Device Qualifier standard descriptor structure definitions USB_StdDescriptor_DeviceQualifier_t and USB_Descriptor_DeviceQualifier_t + * - Library Applications: + * - Added RNDIS device mode to the Webserver project + * - Added new incomplete AndroidAccessoryHost Host LowLevel demo + * - Added new HIDReportViewer project + * - Added new MediaControl project + * - Added new AudioInputHost Host ClassDriver demo + * - Added new AudioOutputHost Host ClassDriver demo + * - Added new AudioInputHost Host LowLevel demo + * - Added new AudioOutputHost Host LowLevel demo + * - Added new "checksource" target to all library project makefiles + * - Added new VTARGET_USE_INTERNAL_REF configuration option to the AVRISP-MKII clone project (thanks to Volker Bosch) + * + * <b>Changed:</b> + * - Core: + * - Altered the definition of the USB_Audio_Descriptor_Format_t descriptor so that the user is now responsible for supplying + * the supported audio sampling rates, to allow for multiple audio interfaces with different numbers of supported rates and/or + * continuous sample rates + * - Pipe_BoundEndpointNumber() has been renamed to Pipe_GetBoundEndpointAddress(), and now returns the correct endpoint direction + * as part of the endpoint address + * - Renamed global state variables that are specific to a certain USB mode to clearly indicate which mode the variable relates to, + * by changing the USB_* prefix to USB_Device_* or USB_Host_* + * - Removed the HOST_STATE_WaitForDeviceRemoval and HOST_STATE_Suspended host state machine states, as these are no longer required + * - Altered the USB_Host_SetDeviceConfiguration() function to update the global Host state machine state and the new + * USB_Host_ConfigurationNumber global as required + * - Added endian correcting code to the library USB class drivers for multiple architecture support + * - Removed the ENDPOINT_DESCRIPTOR_DIR_* macros, replaced by ENDPOINT_DIR_* instead + * - Renamed the JTAG_DEBUG_ASSERT() macro to JTAG_ASSERT() + * - Added variable number of axis to HID_DESCRIPTOR_JOYSTICK() for multi-axis joysticks above just X and Y + * - Renamed USB_Host_ClearPipeStall() to USB_Host_ClearEndpointStall() as the function works on an endpoint address within the attached device, + * and not a Pipe within the host + * - The MS_Host_ResetMSInterface() now performs a full Mass Storage reset sequence to prevent data corruption in the event of a device + * lock up or timeout (thanks to David Lyons) + * - Added endian-correction to the CDC driver's Line Encoding control request handlers. + * - Library Applications: + * - Modified the Low Level and Class Driver AudioInput and AudioOutput demos to support multiple audio sample rates + * - Updated all host mode demos and projects to use the EVENT_USB_Host_DeviceEnumerationComplete() event callback for device configuration + * instead of manual host state machine manipulations in the main application task + * - Changed the reports in the GenericHID device demos to control the board LEDs, to reduce user confusion over the callback routines + * - Added reliability patches to the AVRISP-MKII Clone project's ISP and PDI/TPI protocols (thanks to Justin Mattair) + * + * <b>Fixed:</b> + * - Core: + * - Large number of documentation and code comment corrections (thanks to Andrey from Microsin.ru) + * - Fixed possibility of the AVR's SPI interface being pulled out of master mode if the /SS pin is a input and pulled low (thanks + * to Andrey from Microsin.ru) + * - Fixed compile error when FIXED_CONTROL_ENDPOINT_SIZE compile time option was disabled, and a USE_*_DESCRIPTORS compile time + * option was not enabled on the AVR8s + * - Fixed lack of C++ compatibility in some internal header files causing compile errors when using LUFA in C++ projects + * - Fixed error in the pipe unordered allocation algorithm for the AVR8 devices breaking compatibility with some devices + * - Fixed USB_USBTask not being called internally in stream transfers between packets when Partial Stream Transfers are used + * - Fixed swapped TWI_ADDRESS_READ and TWI_ADDRESS_WRITE values + * - Fixed TWI_ReadPacket() not releasing the TWI bus on read completion + * - Fixed optimization error in the HID Parser item value USB_SetHIDReportItemInfo() and USB_GetHIDReportItemInfo() routines if the report item was + * \c NULL (which should be allowable according to the API) + * - Fixed HID Parser CALLBACK_HIDParser_FilterHIDReportItem() callback function not being passed a cacheable report item pointer + * - Fixed HID Parser's largest report size bit count not including the size of the last parsed report item + * - Fixed HID host driver's largest HID report size count corrupt when the number of report bits exceeds 255 + * - Library Applications: + * - Fixed incorrect signature in the CDC and DFU class bootloaders for the ATMEGA8U2 + * - Fixed KeyboardHost and KeyboardHostWithParser demos displaying incorrect values when numerical keys were pressed + * - Fixed compile errors in the incomplete BluetoothHost demo application (thanks to Timo Lindfors) + * - Fixed incorrect Dataflash buffer use in the DataflashManager_WriteBlocks_RAM() function of several demos/projects (thanks to Jeremy Willden) + * - Fixed incorrect logging interval (always 500ms longer than requested) in the TempDataLogger project + * - Fixed incorrect buffer size check in the USBtoSerial project (thanks to Yuri A Nikiforov) + * - Fixed port state table corruption in the TCP layer of the RNDIS Ethernet device demos + * + * \section Sec_ChangeLog110528 Version 110528 + * <b>New:</b> + * - Core: + * - Added new ORDERED_EP_CONFIG compile time option to restrict endpoint/pipe configuration to ascending order + * in exchange for a smaller compiled program binary size + * - Added a new general RingBuff.h miscellaneous ring buffer library driver header + * - Added new GCC_FORCE_POINTER_ACCESS() macro to correct GCC's mishandling of struct pointer accesses + * - Added new GCC_MEMORY_BARRIER() macro to prevent instruction reordering across boundaries + * - Added basic driver example use code to the library documentation + * - Added new Endpoint_Null_Stream() and Pipe_Null_Stream() functions + * - Added new ADC_GET_CHANNEL_MASK() convenience macro + * - Added new HID report item macros (with HID_RI_ prefix) to allow for easy creation and editing of HID report descriptors + * - Added new HID_DESCRIPTOR_MOUSE(), HID_DESCRIPTOR_KEYBOARD(), HID_DESCRIPTOR_JOYSTICK() and HID_DESCRIPTOR_VENDOR() macros + * for easy automatic creation of basic USB HID device reports + * - Added new MAX() and MIN() convenience macros + * - Added new Serial_SendData() function to the Serial driver + * - Added board driver support for the Sparkfun ATMEGA8U2 breakout board + * - Added TWI baud rate prescaler and bit length parameters to the TWI_Init() function (thanks to Thomas Herlinghaus) + * - Internal restructuring for eventual multiple architecture ports + * - Added AVR32 UC3 architecture port (currently incomplete/experimental) + * - Added new architecture independent functions to enable, disable, save and restore the Global Interrupt Enable flags + * - Added new RNDIS Device Class Driver packet send and receive functions + * - Library Applications: + * - Added ability to write protect Mass Storage disk write operations from the host OS + * - Added new MIDIToneGenerator project + * - Added new KeyboardMouseMultiReport Device ClassDriver demo + * - Added new VirtualSerialMassStorage Device ClassDriver demo + * - Added HID class bootloader, compatible with a modified version of the command line Teensy loader from PJRC.com + * - Added LED flashing to the CDC and DFU class bootloaders to indicate when they are running + * + * <b>Changed:</b> + * - Core: + * - Unordered Endpoint/Pipe configuration is now allowed once again by default via the previous reconfig workaround + * - Refactored Host mode Class Driver *_Host_ConfigurePipes() routines to be more space efficient when compiled + * - Added new *_ENUMERROR_PipeConfigurationFailed error codes for the *_Host_ConfigurePipes() routines + * - The USARTStream global is now public and documented in the SerialStream module, allowing for the serial USART + * stream to be accessed via its handle rather than via the implicit stdout and stdin streams + * - The FAST_STREAM_TRANSFERS compile time option has been removed due to lack of use and low cost/benefit ratio + * - Altered all endpoint/pipe stream transfers so that the new BytesProcessed parameter now points to a location + * where the number of bytes in the transfer that have been completed can be stored (or NULL if entire transaction + * should be performed in one chunk) + * - The NO_STREAM_CALLBACKS compile time option has now been removed due to the new partial stream transfer feature + * - Changed over all project and demo HID report descriptors to use the new HID report item macros + * - Moved the HIDParser.c source file to the LUFA/Drivers/USB/Class/Common/ directory from the LUFA/Drivers/USB/Class/Host/ + * - Added support to the HID parser for extended USAGE items that contain the usage page as well as the usage index + * - Removed the SerialStream driver, rolled functionality into the regular Serial peripheral driver via the new + * Serial_CreateStream() and Serial_CreateBlockingStream() functions + * - Renamed the low level Serial byte send/receive functions, to be consistent with the CDC class driver byte functions + * - Altered the behaviour of the serial byte reception function so that is is non-blocking, and now returns a negative + * value if no character is received (to remain consistent with the CDC class driver byte reception routines) + * - Renamed the PRNT_Host_SendString(), CDC_Host_SendString() and CDC_Device_SendString() functions to *_SendData(), and + * added new versions of the *_SendString() routines that expect a null terminated string instead + * - Renamed all driver termination *_ShutDown() functions to the more logical name *_Disable() + * - Reduced latency for executing the Start-Of-Frame events (if enabled in the user application) + * - Removed Pipe_ClearErrorFlags(), pipe error flags are now automatically cleared when Pipe_ClearError() is called + * - Endpoint_ResetFIFO() renamed to Endpoint_ResetEndpoint(), to be consistent with the Pipe_ResetPipe() function name + * - Implemented on-demand PLL clock generation for the U4, U6 and U7 series USB AVRs when automatic PLL mode is specified + * - F_CLOCK changed to F_USB to be more descriptive, and applicable on future architecture ports + * - Renamed all low level Endpoint_Read_*, Endpoint_Write_* and Endpoint_Discard_* functions to use the number of bits instead of + * a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures + * - Renamed all low level Pipe_Read_*, Pipe_Write_* and Pipe_Discard_* functions to use the number of bits instead of + * a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures + * - Separated out board drivers by architecture in the library internals for better organisation + * - Library Applications: + * - Changed the XPLAINBridge software UART to use the regular timer CTC mode instead of the alternative CTC mode + * via the Input Capture register, to reduce user confusion + * - Combined page and word ISP programming mode code in the AVRISP-MKII clone project to reduce compiled size and + * increase maintainability of the code + * - Changed over library projects to use the new general ring buffer library driver module + * - Added new high level TWI packet read/write commands, altered behaviour of the TWI_StartTransmission() function + * - Changed TempDataLogger project's DS1307 driver to simplify the function interface and prevent a possible race condition + * - Changed AVRISP-MKII project to use the Watchdog interrupt for command timeouts, to reduce CPU usage and free timer 0 + * for other uses + * - Updated the software USART code in the XPLAIN Bridge application so that the incoming bits are sampled at their mid-point + * instead of starting point, to give maximum reliability (thanks to Anton Staaf) + * + * <b>Fixed:</b> + * - Core: + * - Fixed broken USBFOO board drivers due to missing BOARD_USBFOO define + * - Fixed HID host class driver incorrectly binding to HID devices that do not have an OUT endpoint + * - Fixed incorrect definition of the HID_KEYBOARD_SC_D constant in the HID class driver (thanks to Opendous Inc.) + * - Fixed incorrect definition of the HID_KEYBOARD_SC_RIGHT_ARROW constant in the HID class driver (thanks to Joby Taffey) + * - Fixed incorrect endpoint initialisation order in the several device demos (thanks to Rick Drolet) + * - Fixed inverted Minimus board LEDs + * - Fixed incorrect byte ordering in the Audio_Device_WriteSample24 function (thanks to WZab) + * - Fixed several functions in the Host mode Still Image Class driver returning an error code from the incorrect + * error code enum (thanks to Daniel Seibert) + * - Fixed ReportID not being removed from the feature/out report data array in the HID class driver when Report IDs are used + * - Fixed incorrect BUTTONS_BUTTON1 definition for the Minimus board + * - Fixed Still Image Host class driver exiting the descriptor search routine prematurely if the data pipes (but not event pipe) + * is found + * - Fixed missing call to Pipe_SetInfiniteINRequests() in the Pipe_ConfigurePipe() routine |