aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/DoxygenPages
diff options
context:
space:
mode:
Diffstat (limited to 'LUFA/DoxygenPages')
-rw-r--r--LUFA/DoxygenPages/ChangeLog.txt30
-rw-r--r--LUFA/DoxygenPages/DeviceSupport.txt38
-rw-r--r--LUFA/DoxygenPages/FutureChanges.txt2
-rw-r--r--LUFA/DoxygenPages/KnownIssues.txt40
-rw-r--r--LUFA/DoxygenPages/LUFAPoweredProjects.txt2
-rw-r--r--LUFA/DoxygenPages/LibraryResources.txt5
-rw-r--r--LUFA/DoxygenPages/MainPage.txt1
-rw-r--r--LUFA/DoxygenPages/MigrationInformation.txt25
8 files changed, 138 insertions, 5 deletions
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index b35a39cb8..f8e1b8f48 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -10,9 +10,15 @@
* <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
* - 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
*
* <b>Changed:</b>
* - Core:
@@ -20,10 +26,26 @@
* - 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:
@@ -33,11 +55,19 @@
* - 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 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>
diff --git a/LUFA/DoxygenPages/DeviceSupport.txt b/LUFA/DoxygenPages/DeviceSupport.txt
index c8083d275..d1fe4f3cb 100644
--- a/LUFA/DoxygenPages/DeviceSupport.txt
+++ b/LUFA/DoxygenPages/DeviceSupport.txt
@@ -106,6 +106,7 @@
* - Busware BUI
* - Busware CUL V3
* - Busware TUL
+ * - DorkbotPDX Duce
* - Fletchtronics Bumble-B (using manufacturer recommended peripheral layout)
* - Kernel Concepts USBFOO
* - Linnix UDIP
@@ -115,6 +116,8 @@
* - Microsin AVR-USB162
* - Minimus USB
* - Olimex AVR-USB-162
+ * - Olimex AVR-USB-32U4
+ * - Olimex AVR-USB-T32U4
* - Paranoid Studio's US2AX (V1, V2 and V3 hardware revisions)
* - PJRC Teensy (1.x and 2.x versions)
* - Sparkfun U2 Breakout Board
@@ -377,6 +380,41 @@
* <td bgcolor="#00EE00">Yes</td>
* <td bgcolor="#EE0000">No</td>
* </tr>
+ * <tr>
+ * <td>ATXMEGA64C3</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#EE0000">No</td>
+ * </tr>
+ * <tr>
+ * <td>ATXMEGA128C3</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#EE0000">No</td>
+ * </tr>
+ * <tr>
+ * <td>ATXMEGA192C3</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#EE0000">No</td>
+ * </tr>
+ * <tr>
+ * <td>ATXMEGA256C3</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#EE0000">No</td>
+ * </tr>
+ * <tr>
+ * <td>ATXMEGA384C3</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#EE0000">No</td>
+ * </tr>
+ * <tr>
+ * <td>ATXMEGA16C4</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#EE0000">No</td>
+ * </tr>
+ * <tr>
+ * <td>ATXMEGA32C4</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#EE0000">No</td>
+ * </tr>
* </table>
*
* \section Sec_XMEGASupport_Boards Supported Atmel Boards
diff --git a/LUFA/DoxygenPages/FutureChanges.txt b/LUFA/DoxygenPages/FutureChanges.txt
index b75e94d7a..d0453a207 100644
--- a/LUFA/DoxygenPages/FutureChanges.txt
+++ b/LUFA/DoxygenPages/FutureChanges.txt
@@ -22,12 +22,10 @@
* -# Pull out third party libraries into a separate folder and reference them as required
* -# Add a LUFA_YIELD macro for integration into a third-party RTOS
* -# Abstract out Mass Storage byte send/receive to prevent low level API use in projects
- * -# Consider switch from endpoint numbers to full endpoint addresses to ease future architecture expansion
* -# Fix HID report parser usage support for array types
* -# Make HOST_DEVICE_SETTLE_DELAY_MS a global variable that can be changed
* -# Add MANDATORY_EVENT_FUNCTIONS compile time option
* -# Add watchdog support to the library and apps/bootloaders
- * -# Fix Still Image Host class driver - missing reqs, parameters
* - Testing/Verification
* -# Re-run USBIF test suite on all classes to formally verify operation
* -# Implement automated functional testing of all demos
diff --git a/LUFA/DoxygenPages/KnownIssues.txt b/LUFA/DoxygenPages/KnownIssues.txt
new file mode 100644
index 000000000..9b648144b
--- /dev/null
+++ b/LUFA/DoxygenPages/KnownIssues.txt
@@ -0,0 +1,40 @@
+/** \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_KnownIssues Known Issues
+ * The following are known issues present in each official LUFA release. This list should contain all known
+ * issues in the library. Most of these issues should be corrected in the future release - see
+ * \ref Page_FutureChanges for a list of planned changes in future releases.
+ *
+ * \section Sec_KnownIssuesXXXXXX Version XXXXXX
+ * - AVR8 Architecture
+ * - No known issues.
+ * - XMEGA Architecture
+ * - No demos, bootloaders or projects have been ported for the XMEGA devices in the current release,
+ * although the architecture is supported in the LUFA core library.
+ * - Endpoints of more than 64 bytes are not currently supported in this release.
+ * - Isochronous endpoints are not currently supported in this release. As a result, the audio class
+ * cannot be used on XMEGA devices.
+ * - Multiple-bank endpoints are not currently supported in this release.
+ * - Early revisions of the ATXMEGA128A1U are incompatible with LUFA, due to their various errata
+ * relating to the USB controller.
+ * - UC3 Architecture
+ * - No demos, bootloaders or projects have been ported for the UC3 devices in the current release,
+ * although the architecture is supported in the LUFA core library.
+ * - DMA transfers to and from the USB controller are not yet implemented for this release.
+ * - The UC3C, UC3D and UC3L sub-families of UC3 are not currently supported by the library due to their
+ * altered USB controller design.
+ * - The various \c CreateStream() functions for creating standard \c <stdio.h> compatible virtual file
+ * streams are not available on the UC3 architecture, due to a lack of suitable library support.
+ * - Architecture Independant
+ * - The HID parser fails for array type elements that have a MIN and MAX usage applied; each element
+ * in the array will receive a unique incrementing usage from the MIN value, up to MAX.
+ * - The current application makefiles do not work if the output directory is not the same directory
+ * as the makefile itself.
+ * - The LUFA library is not watchdog aware, and thus timeouts are possible if short periods are used
+ * and a lengthy USB operation is initiated.
+ */
+
diff --git a/LUFA/DoxygenPages/LUFAPoweredProjects.txt b/LUFA/DoxygenPages/LUFAPoweredProjects.txt
index ea0870515..842d98fd9 100644
--- a/LUFA/DoxygenPages/LUFAPoweredProjects.txt
+++ b/LUFA/DoxygenPages/LUFAPoweredProjects.txt
@@ -20,6 +20,7 @@
*
* \li AVR-USB-162, a USBKEY-like development board for the AT90USB162: http://olimex.com/dev/avr-usb-162.html
* \li Benito #7, a no-frills USB board: http://www.dorkbotpdx.org/wiki/benito
+ * \li Duce, the sucessor to the Benito #7: http://dorkbotpdx.org/wiki/duce
* \li JM-DB-U2, an ATMEGA32U2 development board: http://u2.mattair.net/index.html
* \li Micropendous, an open design/source set of AVR USB development boards: http://micropendous.org/
* \li Microsin AVR-USB162 breakout board, a DIY AT90USB162 development board: http://microsin.ru/content/view/685/44/
@@ -36,6 +37,7 @@
* The following are known hobbyist projects using LUFA. Most are open source, and show off interesting ways that the LUFA library
* can be incorporated into many different applications.
*
+ * \li Accelerometer Game Joystick: http://www.crictor.co.il/he/episodes/joystick/
* \li Arcade Controller: http://fletchtronics.net/arcade-controller-made-petunia
* \li Arcade Joystick: http://jamie.lentin.co.uk/embedded/arcade-joystick/
* \li AttoBasic AVR BASIC interpreter: http://www.cappels.org/dproj/AttoBasic2_1/AttoBasic_2.1_with_USB_and_Arduino_support.html
diff --git a/LUFA/DoxygenPages/LibraryResources.txt b/LUFA/DoxygenPages/LibraryResources.txt
index 7137a56a0..ac1915c53 100644
--- a/LUFA/DoxygenPages/LibraryResources.txt
+++ b/LUFA/DoxygenPages/LibraryResources.txt
@@ -9,6 +9,7 @@
*
* \section Sec_UnofficialResources Unofficial Resources
* Unofficial Russian LUFA documentation translation: http://microsin.ru/Download.cnt/doc/LUFA/ \n
+ * Tutorial for LUFA USB Control Transfers: http://www.avrbeginners.net/new/tutorials/usb-control-transfers-with-lufa/
*
* \section Sec_ProjectPages LUFA Related Webpages
* Project Homepage: http://www.lufa-lib.org \n
@@ -22,8 +23,8 @@
*
* \section Sec_InDevelopment Latest In-Development Source Code
* Issue Tracker: http://www.lufa-lib.org/tracker \n
- * SVN Access: http://www.lufa-lib.org/svn \n
- * GIT Access: http://www.lufa-lib.org/git \n
+ * Public SVN Repository: http://www.lufa-lib.org/svn \n
+ * Public GIT Repository: http://www.lufa-lib.org/git \n
* Latest Repository Source Archive: http://www.lufa-lib.org/latest-archive \n
* Commit RSS Feed: http://www.lufa-lib.org/rss \n
*
diff --git a/LUFA/DoxygenPages/MainPage.txt b/LUFA/DoxygenPages/MainPage.txt
index ed96d1a66..e737c39b5 100644
--- a/LUFA/DoxygenPages/MainPage.txt
+++ b/LUFA/DoxygenPages/MainPage.txt
@@ -42,6 +42,7 @@
* \li \subpage Page_Donating - Donating to support this project
* \li \subpage Page_DeviceSupport - Current Device and Hardware Support
* \li \subpage Page_ChangeLog - Project Changelog
+ * \li \subpage Page_KnownIssues - Known Issues
* \li \subpage Page_FutureChanges - Planned Changes to the Library
* \li \subpage Page_GettingStarted - Getting started with LUFA
* \li \subpage Page_DevelopingWithLUFA - Developing with LUFA
diff --git a/LUFA/DoxygenPages/MigrationInformation.txt b/LUFA/DoxygenPages/MigrationInformation.txt
index 93082bb5c..f0fd9b210 100644
--- a/LUFA/DoxygenPages/MigrationInformation.txt
+++ b/LUFA/DoxygenPages/MigrationInformation.txt
@@ -17,10 +17,33 @@
* - The HID_DESCRIPTOR_JOYSTICK() macro no longer takes a variable number of axis as a parameter, due to OS incompatibilities; this macro now uses a fixed
* 3 axis of data. User applications should update their calls to this macro and their report structures to suit a fixed 3-axis joystick report. If a user
* application requires more than 3 axis' of data, a custom report descriptor will need to be constructed by hand.
+ * - The \ref Endpoint_ConfigureEndpoint() function no longer takes in masks for the banks and direction; the number of banks is now an integer argument, and
+ * the direction is obtained from the full endpoint address within the device. Applications calling Endpoint_ConfigureEndpoint() should update their API
+ * call to use a full endpoint address (including ENDPOINT_DIR_IN or ENDPOINT_DIR_OUT direction in the MSB of the endpoint address) and an integer number
+ * of banks.
+ * - All endpoint functions now operate on full endpoint addresses within the device, rather than a directionless endpoint index. Applications should update
+ * their API calls to use full endpoint addresses when required within the device.
+ * - All device mode class drivers have been updated to use a new unified endpoint description structure for all endpoints; existing applications will need
+ * to update their class driver struct instantiation to match the new scheme (see \ref USB_Endpoint_Table_t).
+ * - The \c ENDPOINT_BANKS_SUPPORTED() and \c ENDPOINT_MAX_ENDPOINT_SIZE() macros have been removed, as these do not function correctly with the new addressing
+ * scheme for the endpoint APIs. Please refer to the target device's datasheet for the maximum bank size of each endpoint.
+ * - The MIDI class driver \ref MIDI_EventPacket_t event packet no longer contains seperate \c CableIndex and \c Command entries; these have been combined
+ * into a single \c Event element which can be contructed using the new macro \ref MIDI_EVENT(). Existing applications should use the new macro and structure
+ * element name.
*
* <b>Host Mode</b>
* - The Android Accessory Host class driver property strings are now a array of \c char* rather than a struct of named pointers. Existing applications
* should use C99 Designated Initializers with the property string indexes located in \ref AOA_Strings_t instead.
+ * - The \ref Pipe_ConfigurePipe() function no longer takes in masks for the banks and token; the number of banks is now an integer argument, and the token
+ * is now inferred from the full pipe address within the device, and the pipe type. Applications calling Pipe_ConfigurePipe() should update their API
+ * call to use a full pipe address (including PIPE_DIR_IN or PIPE_DIR_OUT direction in the MSB of the pipe address) and an integer number of banks.
+ * - All pipe functions now operate on full pipe addresses within the device, rather than a directionless pipe index. Applications should update their API
+ * calls to use full pipe addresses when required within the device.
+ * - All host mode class drivers have been updated to use a new unified pipe description structure for all pipes; existing applications will need to update
+ * their class driver struct instantiation to match the new scheme (see \ref USB_Pipe_Table_t).
+ * - The MIDI class driver \ref MIDI_EventPacket_t event packet no longer contains seperate \c CableIndex and \c Command entries; these have been combined
+ * into a single \c Event element which can be contructed using the new macro \ref MIDI_EVENT(). Existing applications should use the new macro and structure
+ * element name.
*
* \section Sec_Migration120219 Migrating from 111009 to 120219
* <b>USB Core</b>
@@ -130,7 +153,7 @@
* eliminate any casting of descriptor pointers to a non \c const pointer.
* - The names of the class specific descriptor type defines in the USB Class drivers have changed - refer to the driver documentation
* for each class driver for the new class specific descriptor type names.
- * - The \c ENDPOINT_DOUBLEBANK_SUPPORTED() macro is has been renamed \ref ENDPOINT_BANKS_SUPPORTED() and now returns the total number of
+ * - The \c ENDPOINT_DOUBLEBANK_SUPPORTED() macro is has been renamed \c ENDPOINT_BANKS_SUPPORTED() and now returns the total number of
* banks supported by the given endpoint. Existing code should switch to the new naming scheme, and test that the return value of the
* macro is equal to or greater than 2 to regain the previous functionality.
* - The \c EVENT_USB_Device_UnhandledControlRequest() event is now named \ref EVENT_USB_Device_ControlRequest() and fires before (not after)