diff options
Diffstat (limited to 'lib/lufa/LUFA/DoxygenPages/ChangeLog.txt')
-rw-r--r-- | lib/lufa/LUFA/DoxygenPages/ChangeLog.txt | 1653 |
1 files changed, 0 insertions, 1653 deletions
diff --git a/lib/lufa/LUFA/DoxygenPages/ChangeLog.txt b/lib/lufa/LUFA/DoxygenPages/ChangeLog.txt deleted file mode 100644 index aedfd3ce53..0000000000 --- a/lib/lufa/LUFA/DoxygenPages/ChangeLog.txt +++ /dev/null @@ -1,1653 +0,0 @@ -/** \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 - * - Fixed Remote Wakeup broken on the AVRs due to the mechanism only operating when the SUSPI bit is set (thanks to Holger Steinhaus) - * - Fixed possible invalid program execution when in host mode if corrupt descriptor lengths are supplied by the attached device - * - Library Applications: - * - Fixed Benito project discarding incoming data from the USB virtual serial port when the USART is busy - * - Fixed broken DFU bootloader, added XPLAIN support for bootloader start when XCK jumpered to ground - * - Fixed broken HID_REQ_GetReport request handler in the Low Level GenericHID demo - * - Fixed possible lost data in the XPLAINBridge, USBtoSerial and Benito projects when the host exceeds the packet - * timeout period on received packets as set by USB_STREAM_TIMEOUT_MS (thanks to Justin Rajewski) - * - Fixed possible programming problem in the AVRISP-MKII clone project when programming specific patterns into a target - * memory space that is only byte (not page) addressable - * - Fixed errors in the incomplete Test and Measurement device demo preventing proper operation (thanks to Pavel Plotnikov) - * - Fixed programming errors in the AVRISP-MKII project when the programming packet is a round multiple of the endpoint bank - * size under avrdude (thanks to Steffan Woltjer) - * - * - * \section Sec_ChangeLog101122 Version 101122 - * <b>New:</b> - * - Core: - * - Added new SCSI_ASENSE_NOT_READY_TO_READY_CHANGE constant to the Mass Storage class driver, to indicate when a previously - * not ready removable medium has now become ready for the host's use (thanks to Martin Degelsegger) - * - Moved the Pipe and Endpoint stream related code to two new USB library core source files Endpoin |