X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/7d7573e4e554f4b17686a915eba0da12fbebc2ed..4530a546a16b48fdc34c20102bb72c3968487f4e:/LUFA/ManPages/ChangeLog.txt
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index a0998358f..bdb48d917 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -8,29 +8,151 @@
*
* \section Sec_ChangeLogXXXXXX Version XXXXXX
*
- * - Deprecated psuedo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)
- * - Added new class drivers and matching demos to the library for rapid application development
+ * New:
+ * - Added new host mode class drivers and matching demos to the library for rapid application development
+ * - Added flag to the HID report parser to indicate if a device has multiple reports
+ * - Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and
+ * USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode
+ * - Added new Endpoint_SetEndpointDirection() macro for bidirectional endpoints
+ * - Added new AVRISP project, a LUFA powered clone of the Atmel AVRISP-MKII programmer
+ * - Added ShutDown() functions for all hardware peripheral drivers, so that peripherals can be turned off after use
+ * - Added new CDC_Device_Flush() command to the device mode CDC Class driver to flush Device->Host data
+ * - Added extra masks to the SPI driver, changed SPI_Init() so that the clock polarity and sample modes can be set
+ * - Added new callback to the HID report parser, so that the user application can filter only the items it is interested
+ * in to be stored into the HIDReportInfo structure to save RAM
+ * - Added support for the officially recommended external peripheral layout for the BUMBLEB board (thanks to Dave Fletcher)
+ * - Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen
+ * - Added new USB_GetHIDReportSize() function to the HID report parser to retrieve the size of a given report by its ID
+ *
+ * Changed:
+ * - SetIdle requests to the HID device driver with a 0 idle period (send changes only) now only affect the requested
+ * HID interface within the device, not all HID interfaces
+ * - Added explicit attribute masks to the device mode demos' descriptors
+ * - Added return values to the CDC and MIDI class driver transmit functions
+ * - Optimized Endpoint_Read_Word_* and Pipe_Read_Word_* macros to reduce compiled size
+ * - Added non-null function parameter pointer restrictions to USB Class drivers to improve user code reliability
+ * - Added new "Common" section to the class drivers, to hold all mode-independant definitions for clarity
+ * - Moved SCSI command/sense constants into the Mass Storage Class driver, instead of the user-code
+ * - Altered the SCSI commands in the LowLevel Mass Storage Host to save on FLASH space by reducing function calls
+ * - Changed the parameters and behaviour of the USB_GetDeviceConfigDescriptor() function so that it now performs size checks
+ * and data validations internally, to simplify user code
+ * - Changed HIDParser to only zero out important values in the Parsed HID Report Item Information structure to save cycles
+ * - The HID report parser now always processed FEATURE items - HID_ENABLE_FEATURE_PROCESSING token now has no effect
+ * - The HID report parser now always ignores constant-data items, HID_INCLUDE_CONSTANT_DATA_ITEMS token now has no effect
+ * - The Benito Programmer project now has its own unique VID/PID pair allocated from the Atmel donated LUFA VID/PID pool
+ * - Add in new invalid event hook check targets to project makefiles to produce compilation errors when invalid event names
+ * are used in a project
+ * - The HID Report Parser now gives information on the total length of each report within a HID interface
+ * - The USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token has been removed - there are now seperate USB_Descriptor_* and
+ * USB_StdDescriptor_* structures for both the LUFA and standardized element naming conventions so both may be used
+ *
+ * Fixed:
+ * - Fixed possible lockup in the CDC device class driver, when the host sends data that is a multiple of the
+ * endpoint's bank
+ * - Fixed swapped parameters in the HID state memory copy call while processing a HID PUSH item in the HID report parser
+ * - Fixed memory corruption HID report parser when too many COLLECTION or PUSH items were processed
+ * - Fixed HID report parser not resetting the FEATURE item count when a REPORT ID item is encountered
+ * - Fixed USBtoSerial demos not reading in UDR1 when the USART receives data but the USB interface is not enumerated,
+ * causing continuous USART receive interrupts
+ * - Fixed misspelt event name in the Class driver USBtoSerial demo, preventing correct operation
+ * - Fixed invalid data being returned when a GetStatus request is issued in Device mode with an unhandled data recipient
+ * - Added hardware USART receive interrupt and software buffering to the Benito project to ensure received data is not
+ * missed or corrupted
+ * - Fixed Device mode HID Class driver always sending IN packets, even when nothing to report
+ * - Fixed Device mode HID Class driver not explicitly initializing the ReportSize parameter to zero before calling callback
+ * routine, so that ignored callbacks don't cause incorrect data to be sent
+ * - Fixed StillImageHost not correctly freezing and unfreezing data pipes while waiting for a response block header
+ * - Fixed error in the PrinterHost demo preventing the full page data from being sent to the attached device (thanks to John Andrews)
+ * - Fixed CDC based demos and projects' INF driver files under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker)
+ * - Re-add in missing flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.)
+ * - Fix allowable F_CPU values comment in project makefiles to more accurately reflect the allowable values on the USB AVRs
+ * - Fixed DFU and CDC class bootloaders on the series 2 USB AVRs, corrected invalid signatures, added support for the new
+ * ATMEGAxxx2 series 2 variant AVRs to the DFU bootloader
+ * - Fixed Low Level USBtoSerial demo not storing received characters (thanks to Michael Cooper)
+ * - Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker)
+ *
+ *
+ * \section Sec_ChangeLog090810 Version 090810
+ *
+ * New:
+ * - Added new device class drivers and matching demos to the library for rapid application development
+ * - Added new PrinterHost demo (thanks to John Andrews)
+ * - Added USB Missle Launcher project, submitted by Dave Fletcher
+ * - Added new Benito Arduino Programmer project
* - Added incomplete device and host mode demos for later enhancement
- * - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed
+ * - Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%
* - Error status LEDs shown when device endpoint configuration fails to complete in all demos and projects
- * - Low level API MIDI device demo no longer blocks if a note change event is sent while the endpoint is not ready
- * - Fixes to MassStorageHost for better device compatibility (increase command timeout, change MassStore_WaitForDataReceived()
- * to only unfreeze and check one data pipe at a time)
- * - Internal per-device preprocessing conditions changed to per-device series rather than per controller group for finer-grain
- * internal control
* - Added new USB_Host_SetDeviceConfiguration() convenience function for easy configuration selection of devices while in USB
* host mode
* - Added new USB_Host_ClearPipeStall() convenience function to clear a stall condition on an attached device's endpoint
* - Added new USB_Host_GetDeviceDescriptor() convenience function to retrieve the attached device's Device descriptor
- * - Added USB Missle Launcher project, submitted by Dave Fletcher
+ * - Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers
+ * - Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number,
+ * added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code
+ * - Added new DATAFLASH_CHIP_MASK() macro to the Dataflash driver, which returns the Dataflash select mask for the given chip index
+ * - Added new HOST_STATE_WaitForDeviceRemoval host state machine state for non-blocking disabling of device communications until the
+ * device has been removed (for use when an error occurs or communications with the device have completed)
+ * - Added new FAST_STREAM_TRANSFERS compile time option for faster stream transfers via multiple bytes copied per stream loop
+ * - Added stdio stream demo code to the CDC device demos, to show how to create standard streams out of the virtual serial ports
+ * - Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions
+ * - Added new USE_FLASH_DESCRIPTORS and FIXED_NUM_CONFIGURATIONS compile time options
+ * - Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models
+ * - Added new USB_DeviceState variable to keep track of the current Device mode USB state
+ * - Added new LEDs_ToggleLEDs() function to the LEDs driver
+ * - Added new Pipe_BoundEndpointNumber() and Pipe_IsEndpointBound() functions
+ * - Added new DEVICE_STATE_AS_GPIOR and HOST_STATE_AS_GPIOR compile time options
+ * - Added 404 Not Found errors to the webserver in the RNDIS demos to indicate invalid URLs
+ *
+ * Changed:
+ * - Deprecated psuedo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)
+ * - The device-mode CALLBACK_USB_GetDescriptor() function now has an extra parameter so that the memory space in which the requested
+ * descriptor is located can be specified. This means that descriptors can now be located in multiple memory spaces within a device.
+ * - Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality
+ * - Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead
+ * - Extended USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch
+ * - Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning,
+ * no need to call Dataflash_ToggleSelectedChipCS() afterwards
+ * - Low level API MIDI device demo no longer blocks if a note change event is sent while the endpoint is not ready
* - Pipe_GetErrorFlags() now returns additional error flags for overflow and underflow errors
+ * - Pipe stream functions now automatically set the correct pipe token, so that bidirectional pipes can be used
+ * - Pipe_ConfigurePipe() now automatically defaults IN pipes to accepting infinite IN requests, this can still be changed by calling
+ * the existing Pipe_SetFiniteINRequests() function
+ * - Changed F_CLOCK entries in project makefiles to alias to F_CPU by default, as this is the most common case
+ * - Host mode demos now use sane terminal escape codes, so that text is always readable and events/program output is visually distinguished
+ * from oneanother using foreground colours
+ * - Internal per-device preprocessing conditions changed to per-device series rather than per-controller group for finer-grain
+ * internal control
+ * - Interrupts are no longer disabled during the processing of Control Requests on the default endpoint while in device mode
+ * - AudioOutput demos now always output to board LEDs, regardless of output mode (removed AUDIO_OUT_LEDS project option)
+ * - Removed SINGLE_DEVICE_CONFIGURATION compile time option in favour of the new FIXED_NUM_CONFIGURATIONS option so that the exact number
+ * of device configurations can be defined statically
+ * - Removed VBUS events, as they are already exposed to the user application via the regular device connection and disconnection events
+ * - Renamed and altered existing events to properly seperate out Host and Device mode events
+ *
+ * Fixed:
+ * - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed to fix
+ * bootloaders on some of the USB AVR devices where avr-libc erronously defines RAMPZ
+ * - Fixes to MassStorageHost for better device compatibility (increase command timeout, change MassStore_WaitForDataReceived()
+ * to only unfreeze and check one data pipe at a time) to prevent incorrect device enumerations and freezes while trasferring data
* - Make Pipe_ConfigurePipe() mask the given endpoint number against PIPE_EPNUM_MASK to ensure the endpoint IN direction bit is
* cleared to prevent endpoint type corruption
- * - Fix documentation mentioning Pipe_GetCurrentToken() function when real name is Pipe_GetPipeToken()
- * - Extend USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch
- * - Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number,
- * added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code
+ * - Fixed issue opening CDC-ACM ports on hosts when the CDC device tries to send data before the host has set the line encoding
+ * - Fixed USB_OPT_MANUAL_PLL option being ignored during device disconnects on some models (thanks to Brian Dickman)
+ * - Fixed documentation mentioning Pipe_GetCurrentToken() function when correct function name is Pipe_GetPipeToken()
* - Fixed ADC driver for the ATMEGA32U4 and ATMEGA16U4 (thanks to Opendous Inc.)
+ * - Fixed CDCHost demo unfreezing the pipes at the point of configuration, rather than use
+ * - Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command
+ * - Fixed USB_Host_SendControlRequest() not re-suspending the USB bus when initial device ready-wait fails
+ * - Fixed USB Pad regulator not being disabled on some AVR models when the USB_OPT_REG_DISABLED option is used
+ * - Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected
+ * - Fixed Mouse/Keyboard demos not performing the correct arithmetic on the Idle period at the right times (thanks to Brian Dickman)
+ * - Fixed GenericHID failing HID class tests due to incorrect Logical Minimum and Logical Maximum values (thanks to Søren Greiner)
+ * - Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews)
+ * - Fixed report data alignment issues in the MouseHostWithParser demo when X and Y movement data size is not a multiple of 8 bits
+ * - Fixed HID Report Descriptor Parser not correctly resetting internal states when a REPORT ID element is encountered
+ * - Fixed incorrect BUTTONS_BUTTON1 for the STK526 target
+ * - Fixed RNDIS demos freezing when more than one connection was attempted simultaneously, causing memory corruption
+ * - Fixed USBtoSerial demo receiving noise from the USART due to pullup not being enabled
*
*
* \section Sec_ChangeLog090605 Version 090605
@@ -57,6 +179,8 @@
* LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preperation for the new USB class APIs
* - Moved out each demos' functionality library files (e.g. Ring Buffer library) to /Lib directories for a better directory structure
* - Removed Tx interrupt from the USBtoSerial demo; now sends characters via polling to ensure more time for the Rx interrupt
+ * - Fixed possible enumeration errors from spinloops which may fail to exit if the USB connection is severed before the exit condition
+ * becomes true
*
*
* \section Sec_ChangeLog090510 Version 090510
@@ -382,7 +506,7 @@
* - CDC demos now send empty packets after sending a full one to prevent buffering issues on the host
* - Updated demo descriptors to use VID/PID values donated by Atmel
* - Added DoxyGen documentation to the source files
- * - Fixed Serial_IsCharRecieved() definition, was previously reversed
+ * - Fixed Serial_IsCharReceived() definition, was previously reversed
* - Removed separate USB_Descriptor_Language_t descriptor, USB_Descriptor_String_t is used instead
* - Removed unused Device Qualifier descriptor structure
* - Renamed the USB_CreateEndpoints event to the more appropriate USB_ConfigurationChanged