ADC2 and ADC3 channels do not exist on the U4 series USB AVRs.
[pub/lufa.git] / LUFA / ManPages / ChangeLog.txt
index 9bbfba1..8a46a5a 100644 (file)
@@ -9,6 +9,157 @@
   *  \section Sec_ChangeLogXXXXXX Version XXXXXX\r
   *\r
   *  <b>New:</b>\r
+  *  - Added TPI programming support for 6-pin ATTINY to the AVRISP programmer project\r
+  *  - Added command timeout counter to the AVRISP project so that the device no longer freezes when incorrectly connected\r
+  *    to a target\r
+  *  - Added new TemperatureDataLogger application, a USB data logger which writes to the device's dataflash and appears to\r
+  *    the host as a standard Mass Storage device when inserted\r
+  *  - Added MIDI event packing support to the MIDI Device and Host mode Class drivers, allowing for multiple MIDI events to\r
+  *    sent or received in packed form in a single USB packet\r
+  *  - Added new MIDI send buffer flush routines to the MIDI Device and Host mode Class drivers, to flush packed events\r
+  *  - Added master mode hardware TWI driver\r
+  *  - Added ADC MUX masks for the standard ADC input channels on all AVR models with an ADC, altered demos to use these masks\r
+  *    as on some models, the channel number is not identical to its single-ended ADC MUX mask\r
+  *\r
+  *  <b>Changed:</b>\r
+  *  - Slowed down software USART carried PDI programming in the AVRISP project to prevent transmission errors\r
+  *  - Renamed the AVRISP project folder to AVRISP-MKII to reduce confusion\r
+  *  - Renamed the RESET_LINE_* makefile tokens in the AVRISP MKII Project to AUX_LINE_*, as they are not always used for target\r
+  *    reset\r
+  *  - Changed over the MassStorageKeyboard Class driver device demo to use Start of Frame events rather than a timer to keep track\r
+  *    of elapsed milliseconds\r
+  *  - Inlined currently unused (but standardized) maintenance functions in the Device and Host Class drivers to save space\r
+  *  - The XPLAINBridge project now selects between a USB to Serial bridge and a PDI programmer on startup, reading the JTAG port's\r
+  *    TDI pin to determine which mode to use\r
+  *\r
+  *  <b>Fixed:</b>\r
+  *  - Fixed AVRISP project not able to enter programming mode when ISP protocol is used\r
+  *  - Fixed AVRISP PDI race condition where the guard time between direction changes could be interpreted as a start bit\r
+  *  - Fixed ADC_IsReadingComplete() returning an inverted result\r
+  *  - Fixed blocking CDC streams not aborting when the host is disconnected\r
+  *  - Fixed XPLAIN board Dataflash driver broken due to incorrect preprocessor commands\r
+  *  - Fixed inverted XPLAIN LED driver output (LED turned on when it was supposed to be turned off, and vice-versa)\r
+  *  - Fixed Class Driver struct interface numbers in the KeyboardMouse and VirtualSerialMouse demos (thanks to Renaud Cerrato)\r
+  *  - Fixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers\r
+  *  - Fixed lack of support for the ATMEGA32U2 in the DFU and CDC class bootloaders\r
+  *  - Fixed Benito project not resetting the target AVR automatically when programming has completed\r
+  *  - Fixed DFU bootloader programming not discarding the correct number of filler bytes from the host when non-aligned programming\r
+  *    ranges are specified (thanks to Thomas Bleeker)\r
+  *\r
+  *  \section Sec_ChangeLog091223 Version 091223\r
+  *\r
+  *  <b>New:</b>\r
+  *  - Added activity LED indicators to the AVRISP project to indicate when the device is busy processing a command\r
+  *  - The USB target family and allowable USB mode tokens are now public and documented (USB_CAN_BE_*, USB_SERIES_*_AVR)\r
+  *  - Added new XPLAIN USB to Serial Bridge project (thanks to John Steggall for initial proof-of-concept, David Prentice\r
+  *    and Peter Danneger for revised software USART code)\r
+  *  - Added new RNDIS Ethernet Host LowLevel demo\r
+  *  - Added new RNDIS Ethernet Host Class Driver\r
+  *  - Added new RNDIS Ethernet Host ClassDriver demo\r
+  *  - Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device\r
+  *  - Added PDI programming support for XMEGA devices to the AVRISP programmer project (thanks to Justin Mattair)\r
+  *  - Added support for the XPLAIN board Dataflash, with new XPLAIN_REV1 board target for the different dataflash used\r
+  *    on the first revision boards compared to the one mounted on later revisions\r
+  *  - Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype\r
+  *  - Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values\r
+  *  - Added new EVK527 board target\r
+  *  - Added new USB_Host_GetDeviceStringDescriptor() convenience function\r
+  *  - Added new LEDNotification project to the library, to give a visual LED notification on new events from the host\r
+  *  - Added new NO_DEVICE_REMOTE_WAKEUP and NO_DEVICE_SELF_POWER compile time options\r
+  *\r
+  *  <b>Changed:</b>\r
+  *  - Removed code in the Keyboard demos to send zeroed reports between two reports with differing numbers of keycodes\r
+  *    as this relied on non-standard OS driver behaviour to repeat key groups\r
+  *  - The SCSI_Request_Sense_Response_t and SCSI_Inquiry_Response_t type defines are now part of the Mass Storage Class\r
+  *    driver common defines, rather than being defined in the Host mode Class driver section only\r
+  *  - The USB_MODE_HOST token is now defined even when host mode is not available\r
+  *  - The CALLBACK_HID_Device_CreateHIDReport() HID Device Class driver callback now has a new ReportType parameter to\r
+  *    indicate the report type to generate\r
+  *  - All Class Drivers now return false or the "DeviceDisconnected" error code of their respective error enums when a function\r
+  *    is called when no host/device is connected where possible\r
+  *  - The HOST_SENDCONTROL_DeviceDisconnect enum value has been renamed to HOST_SENDCONTROL_DeviceDisconnected to be in line\r
+  *    with the rest of the library errorcodes\r
+  *  - Make MIDI device demos also turn off the on board LEDs if MIDI Note On messages are sent with a velocity of zero,\r
+  *    which some devices use instead of Note Off messages (thanks to Robin Green)\r
+  *  - The CDC demos are now named "VirtualSerial" instead to indicate the demos' function rather than its implemented USB class,\r
+  *    to reduce confusion and to be in line with the rest of the LUFA demos\r
+  *  - The SImage_Host_SendBlockHeader() and SImage_Host_ReceiveBlockHeader() Still Image Host Class driver functions are now public\r
+  *\r
+  *  <b>Fixed:</b>\r
+  *  - Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver\r
+  *  - Fixed incorrect values for REPORT_ITEM_TYPE_* enum values causing corrupt data in the HID Host Parser\r
+  *  - Fixed misnamed SI_Host_USBTask() and SI_Host_ConfigurePipes() functions\r
+  *  - Fixed broken USB_GetNextDescriptor() function causing the descriptor to jump ahead double the expected amount\r
+  *  - Fixed Pipe_IsEndpointBound() not masking the given Endpoint Address against PIPE_EPNUM_MASK\r
+  *  - Fixed host state machine not enabling Auto VBUS mode when HOST_DEVICE_SETTLE_DELAY_MS is set to zero\r
+  *  - Fixed misnamed Pipe_SetPipeToken() macro for setting a pipe's direction\r
+  *  - Fixed CDCHost failing on devices with bidirectional endpoints\r
+  *  - Fixed USB driver failing to define the PLL prescaler mask for the ATMEGA8U2 and ATMEGA16U2\r
+  *  - Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items\r
+  *  - Fixed Mass Storage Host Class driver and Low Level demo not clearing the error condition if an attached device returns a\r
+  *    STALL to a GET MAX LUN request (thanks to Martin Luxen)\r
+  *  - Fixed TeensyHID bootloader not properly shutting down the USB interface to trigger a disconnection on the host before resetting\r
+  *  - Fixed MassStorageHost Class driver demo not having USB_STREAM_TIMEOUT_MS compile time option set properly to prevent slow \r
+  *    devices from timing out the data pipes\r
+  *  - Fixed the definition of the Endpoint_BytesInEndpoint() macro for the U4 series AVR parts\r
+  *  - Fixed MIDI host Class driver MIDI_Host_SendEventPacket() routine not properly checking for Pipe ready before writing\r
+  *  - Fixed use of deprecated struct initializers, removed library unused parameter warnings when compiled with -Wextra enabled\r
+  *  - Fixed Still Image Host Class driver truncating the PIMA response code (thanks to Daniel Seibert)\r
+  *  - Fixed USB_CurrentMode not being reset to USB_MODE_NONE when the USB interface is shut down and both Host and Device modes can be\r
+  *    used (thanks to Daniel Levy)\r
+  *  - Fixed TeensyHID bootloader not enumerating to the host correctly\r
+  *  - Fixed AVRISP project timeouts not checking for the correct timeout period (thanks to Carl Ott)\r
+  *\r
+  *  \section Sec_ChangeLog091122 Version 091122\r
+  *\r
+  *  <b>New:</b>\r
+  *  - Added new Dual Role Keyboard/Mouse demo\r
+  *  - Added new HID_HOST_BOOT_PROTOCOL_ONLY compile time token to reduce the size of the HID Host Class driver when\r
+  *    Report protocol is not needed\r
+  *  - Added new MIDI LowLevel and ClassDriver Host demo, add new MIDI Host Class driver\r
+  *  - Added new CDC/Mouse ClassDriver device demo\r
+  *  - Added new Joystick Host ClassDriver and LowLevel demos\r
+  *  - Added new Printer Host mode Class driver\r
+  *  - Added new Printer Host mode ClassDriver demo\r
+  *  - Added optional support for double banked endpoints and pipes in the Device and Host mode Class drivers\r
+  *  - Added new stream creation function to the CDC Class drivers, to easily make standard I/O streams from CDC Class driver instances\r
+  *\r
+  *  <b>Changed:</b>\r
+  *  - Removed mostly useless "TestApp" demo, as it was mainly useful only for checking for sytax errors in the library\r
+  *  - MIDI device demos now receive MIDI events from the host and display note ON messages via the board LEDs\r
+  *  - Cleanups to the Device mode Mass Storage demo application SCSI routines\r
+  *  - Changed Audio Class driver sample read/write functions to be inline, to reduce the number of cycles needed to transfer\r
+  *    samples to and from the device (allowing more time for sample processing and output)\r
+  *  - Audio class Device mode demos now work at both 16MHz and 8MHz, rather than just at 8MHz\r
+  *  - The previous USBtoSerial demo has been moved into the projects directory, as it was just a modified CDC demo\r
+  *  - The Endpoint/Pipe functions now use the const qualifier on the input buffer\r
+  *  - Changed the CALLBACK_HIDParser_FilterHIDReportItem() callback to pass a HID_ReportItem_t rather than just the current\r
+  *    item's attributes, to expose more information on the item (including it's type, collection path, etc.)\r
+  *  - Changed MouseHostWithParser demos to check that the report items have a Mouse usage collection as a parent at some point,\r
+  *    to prevent Joysticks from enumerating with the demo\r
+  *  - Corrected the name of the misnamed USB_GetDeviceConfigDescriptor() function to USB_Host_GetDeviceConfigDescriptor().\r
+  *  - Keyboard LowLevel/ClassDriver demos now support multiple simultaneous keypresses (up to 6) per report\r
+  *\r
+  *  <b>Fixed:</b>\r
+  *  - Fixed PrinterHost demo returning invalid Device ID data when the attached device does not have a\r
+  *    device ID (thanks to Andrei Krainev)\r
+  *  - Changed LUFA_VERSION_INTEGER define to use BCD values, to make comparisons eaiser\r
+  *  - Fixed issue in the HID Host class driver's HID_Host_SendReportByID() routine using the incorrect mode (control/pipe)\r
+  *    to send report to the attached device\r
+  *  - Fixed ClassDriver AudioOutput device demo not selecting an audio output mode\r
+  *  - Fixed incorrect SampleFrequencyType value in the AudioInput and AudioOutput ClassDriver demos' descriptors\r
+  *  - Fixed incorrect event name rule in demo/project/bootloader makefiles\r
+  *  - Fixed HID device class driver not reselecting the correct endpoint once the user callback routines have been called\r
+  *  - Corrected HID descriptor in the Joystick Device demos - buttons should be placed outside the pointer collection\r
+  *  - Fixed HID report parser collection paths invalid due to misplaced semicolon in the free path item search loop\r
+  *  - Fixed HID host Class driver report send/receive report broken when issued through the control pipe\r
+  *  - Fixed HOST_STATE_AS_GPIOR compile time option being ignored when in host mode (thanks to David Lyons)\r
+  *  - Fixed LowLevel Keyboard demo not saving the issues report only after it has been sent to the host\r
+  *  - Fixed Endpoint_Write_Control_Stream_* functions not sending a terminating IN when given data Length is zero\r
+  *\r
+  *  \section Sec_ChangeLog090924 Version 090924\r
+  *\r
+  *  <b>New:</b>\r
   *  - Added new host mode class drivers and matching demos to the library for rapid application development\r
   *  - Added flag to the HID report parser to indicate if a device has multiple reports\r
   *  - Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and\r
   *  - Added extra masks to the SPI driver, changed SPI_Init() so that the clock polarity and sample modes can be set\r
   *  - Added new callback to the HID report parser, so that the user application can filter only the items it is interested\r
   *    in to be stored into the HIDReportInfo structure to save RAM\r
+  *  - Added support for the officially recommended external peripheral layout for the BUMBLEB board (thanks to Dave Fletcher)\r
+  *  - Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen\r
+  *  - Added new USB_GetHIDReportSize() function to the HID report parser to retrieve the size of a given report by its ID\r
+  *  - Added new combined Mass Storage and Keyboard demo (thanks to Matthias Hullin)\r
   *  \r
   *  <b>Changed:</b>\r
   *  - SetIdle requests to the HID device driver with a 0 idle period (send changes only) now only affect the requested\r
   *  - Add in new invalid event hook check targets to project makefiles to produce compilation errors when invalid event names\r
   *    are used in a project\r
   *  - The HID Report Parser now gives information on the total length of each report within a HID interface\r
+  *  - The USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token has been removed - there are now seperate USB_Descriptor_* and\r
+  *    USB_StdDescriptor_* structures for both the LUFA and standardized element naming conventions so both may be used\r
   *\r
   *  <b>Fixed:</b>\r
   *  - Fixed possible lockup in the CDC device class driver, when the host sends data that is a multiple of the\r
   *  - Re-add in missing flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.)\r
   *  - Fix allowable F_CPU values comment in project makefiles to more accurately reflect the allowable values on the USB AVRs\r
   *  - Fixed DFU and CDC class bootloaders on the series 2 USB AVRs, corrected invalid signatures, added support for the new\r
-  *    ATMEGAxxx2 series 2 variant AVRs to the DFU bootloader\r
+  *    ATMEGAxx2 series 2 variant AVRs to the DFU bootloader\r
+  *  - Fixed Low Level USBtoSerial demo not storing received characters (thanks to Michael Cooper)\r
+  *  - Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker)\r
   *\r
   *\r
   *  \section Sec_ChangeLog090810 Version 090810\r