diff options
Diffstat (limited to 'LUFA/DoxygenPages')
-rw-r--r-- | LUFA/DoxygenPages/ChangeLog.txt | 30 | ||||
-rw-r--r-- | LUFA/DoxygenPages/DeviceSupport.txt | 38 | ||||
-rw-r--r-- | LUFA/DoxygenPages/FutureChanges.txt | 2 | ||||
-rw-r--r-- | LUFA/DoxygenPages/KnownIssues.txt | 40 | ||||
-rw-r--r-- | LUFA/DoxygenPages/LUFAPoweredProjects.txt | 2 | ||||
-rw-r--r-- | LUFA/DoxygenPages/LibraryResources.txt | 5 | ||||
-rw-r--r-- | LUFA/DoxygenPages/MainPage.txt | 1 | ||||
-rw-r--r-- | LUFA/DoxygenPages/MigrationInformation.txt | 25 |
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) |