Alter the XPLAINBridge and AVRISP-MKII clone projects so that the descriptors from...
[pub/USBasp.git] / LUFA / DoxygenPages / ChangeLog.txt
index 6b9477e..7758f8b 100644 (file)
@@ -9,6 +9,74 @@
   *  \section Sec_ChangeLogXXXXXX Version XXXXXX
   *  <b>New:</b>
   *  - Core:
+  *   - 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 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 
+  *  - 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 reponse 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)
+  *  - 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)
+  *
+  *  \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 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)
   *   - 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 mispelled 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 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>
   *    rather than passing the size back to the caller through a parameter and returning a boolean
   *
   *
-  *  \section Sec_ChangeLog153 Version 1.5.3 - Released 2nd October, 2008
+  *  \section Sec_ChangeLog153 Version 1.5.3 (081002)
   *
   *  - Fixed CDC bootloader using pgmspace macros for some descriptors inappropriately
   *  - Updated all Mouse and Keyboard device demos to include boot protocol support (now works in BIOS)
   *    are reflected in the hardware (change was previously lost)
   *
   *
-  *  \section Sec_ChangeLog152 Version 1.5.2 - Released 31st July, 2008
+  *  \section Sec_ChangeLog152 Version 1.5.2 (080731)
   *
   *  - Fixed SwapEndian_32() function in Common.h so that it now works correctly (wrong parameter types)
   *  - Updated RNDIS demo - notification endpoint is no longer blocking so that it works with faulty Linux RNDIS
   *  - Library license changed from LGPLv3 to MIT license
   *
   *
-  *  \section Sec_ChangeLog151 Version 1.5.1 - Released 7th July, 2008
+  *  \section Sec_ChangeLog151 Version 1.5.1 (080707)
   *
   *  - Changed host demos to enable the host function task on the firing of the USB_DeviceEnumerationComplete event
   *    rather than the USB_DeviceAttached event
   *  - Added RNDISEthernet demo application
   *
   *
-  *  \section Sec_ChangeLog150 Version 1.5.0 - Released 10 June, 2008
+  *  \section Sec_ChangeLog150 Version 1.5.0 (080610)
   *
   *  - Fixed MIDI demo, now correctly waits for the endpoint to be ready between multiple note messages
   *  - Added CDC Host demo application
   *  - Added USE_NONSTANDARD_DESCRIPTOR_NAMES token to switch back to the non-standard descriptor element names
   *
   *
-  *  \section Sec_ChangeLog141 Version 1.4.1 - Released 19 May, 2008
+  *  \section Sec_ChangeLog141 Version 1.4.1 (090519)
   *
   *  - Enhanced KeyboardWithParser demo, now prints out pressed alphanumeric characters like the standard demo
   *  - Fixed MassStorage demo, read/writes using non mode-10 commands now work correctly
   *  - Corrected version number in Version.h
   *
   *
-  *  \section Sec_ChangeLog140 Version 1.4.0 - Released 5 May, 2008
+  *  \section Sec_ChangeLog140 Version 1.4.0 (090505)
   *
   *  - Added HID Report Parser API to the library
   *  - Added Mouse and Keyboard host demo applications, using the new HID report parser engine
   *  - Added 10 microsecond delay after addressing devices in host mode, to prevent control stalls
   *
   *
-  *  \section Sec_ChangeLog132 Version 1.3.2 - Released April 1st, 2008
+  *  \section Sec_ChangeLog132 Version 1.3.2 (080401)
   *
   *  - Added call to ReconfigureUSART() in USBtoSerial SetLineCoding request, so that baud rate changes
   *    are reflected in the hardware
   *  - Added MANUAL_PLL_CONTROL compile time option to prevent the USB library from manipulating the PLL
   *
   *
-  *  \section Sec_ChangeLog131 Version 1.3.1 - Released March 19th 2008
+  *  \section Sec_ChangeLog131 Version 1.3.1 (080319)
   *
   *  - Fixed USB to Serial demo - class value in the descriptors was incorrect
   *  - Control endpoint size changed from 64 bytes to 8 bytes to save on USB FIFO RAM and to allow low
   *  - Added missing Pipe_GetCurrentPipe() macro to Pipe.h
   *
   *
-  *  \section Sec_ChangeLog130 Version 1.3.0 - Released March 7th 2008
+  *  \section Sec_ChangeLog130 Version 1.3.0 (080307)
   *
   *  - Unnecessary control endpoint config removed from device mode
   *  - Fixed device standard request interpreter accidentally processing some class-specific requests
   *    the real high speed mode, which is unavailable on the USB AVRs)
   *
   *
-  *  \section Sec_ChangeLog120 Version 1.2.0 - Released February 4th, 2008
+  *  \section Sec_ChangeLog120 Version 1.2.0 (080204)
   *
   *  - Added USB_DeviceEnumerationComplete event for host mode
   *  - Added new Scheduler_Init routine to prepare the scheduler, so that tasks can be started and
   *  - Added in alloca macro to common.h, in case the user is using an old version of avr-lib-c missing the macro
   *
   *
-  *  \section Sec_ChangeLog130 Version 1.1.0 - Released January 25th 2008
+  *  \section Sec_ChangeLog110 Version 1.1.0 (080125)
   *
   *  - Fixed DCONNI interrupt being enabled accidentally after a USB reset
   *  - Fixed DDISCI interrupt not being disabled when a device is not connected