aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/ManPages
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-11-03 02:06:13 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-11-03 02:06:13 +0000
commit870591983c80053d05175cfe54bab603a8a945d9 (patch)
treed60678165a2343f126e622ae8813ffc65b0e17ac /LUFA/ManPages
parentde8c9445d478dc31dab7e042c9c2943d0758bbb3 (diff)
downloadlufa-870591983c80053d05175cfe54bab603a8a945d9.tar.gz
lufa-870591983c80053d05175cfe54bab603a8a945d9.tar.bz2
lufa-870591983c80053d05175cfe54bab603a8a945d9.zip
Add const attribute to class driver APIs.
Add new manual pages detailing the advantages of LUFA over the official Atmel USB AVR stack, and reasons why LUFA should be used over a built-from-scratch USB stack.
Diffstat (limited to 'LUFA/ManPages')
-rw-r--r--LUFA/ManPages/FutureChanges.txt3
-rw-r--r--LUFA/ManPages/LUFAvsAtmelStack.txt46
-rw-r--r--LUFA/ManPages/MainPage.txt2
-rw-r--r--LUFA/ManPages/WhyUseLUFA.txt39
4 files changed, 89 insertions, 1 deletions
diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt
index f1f2a8c7e..dc2b47a08 100644
--- a/LUFA/ManPages/FutureChanges.txt
+++ b/LUFA/ManPages/FutureChanges.txt
@@ -11,7 +11,7 @@
* If you have an item to add to this list, please contact the library author via email, the LUFA mailing list,
* or post your suggestion as an enhancement request to the project bug tracker.
*
- * <b>Targeted for This Release (SVN Development Only):</b>
+ * <b>Targeted for the Next Release (SVN Development Only):</b>
* - Add hub support to match Atmel's stack
* - Add ability to get number of bytes not written with pipe/endpoint write routines after an error
*
@@ -27,6 +27,7 @@
* -# Keyboard/Mouse Dual Class Host
* -# Multiple-report HID device
* -# Mouse/CDC Dual Class Device
+ * -# Joystick Host
* - Port LUFA to other architectures
* -# AVR32 UC3B series microcontrollers
* -# Atmel ARM7 series microcontrollers
diff --git a/LUFA/ManPages/LUFAvsAtmelStack.txt b/LUFA/ManPages/LUFAvsAtmelStack.txt
new file mode 100644
index 000000000..89d85c108
--- /dev/null
+++ b/LUFA/ManPages/LUFAvsAtmelStack.txt
@@ -0,0 +1,46 @@
+/** \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_LUFAvsAtmelStack LUFA vs the Atmel Stack
+ *
+ * Atmel offers an official USB AVR stack, which may be incorporated into user projects and products. As LUFA and the Atmel
+ * stack aims to give roughly the same functionality to a design, it is often asked what advantages LUFA carries over the
+ * official Atmel USB stack. Below are just some of the advantages to choosing LUFA over the official stack.
+ *
+ * - <b>Licensing:</b>
+ * LUFA is released under a very permissive MIT license (see \ref Page_Licence), while the Atmel stack carries several
+ * restrictions as to how and where it can be used. LUFA's licensing should be suitable for both Commercial and Non-Commercial
+ * entities alike.
+ *
+ * - <b>Demos and Projects:</b>
+ * Unlike the Atmel stack, LUFA comes with many different Device and Host mode Demos and Projects ready to run out of the box.
+ * Atmel favours separate downloads for each of their (small set) of USB AVR demos, which requires more time and offers less
+ * to the end-user. LUFA also contains several open source Bootloaders, which can be modified as the user wishes to suit his or
+ * her application, instead of being forced to use Atmel's single prebuilt (closed-source) DFU bootloader.
+ *
+ * - <b>Central Library Code:</b>
+ * LUFA is designed to allow the central library core code to be shared amongst several projects, so long as the compiled object
+ * files are cleaned between different projects. This is in direct contrast to the Atmel library, which is strongly coupled to the
+ * project it is integrated with. Using LUFA allows for only one copy of the library core to be needed for all applications, and
+ * makes updating the library used in all projects a trivial copy-and-paste process.
+ *
+ * - <b>Clean API:</b>
+ * One of the main design goals of LUFA is to make the API easy to use. While LUFA is a fluid project which has undergone many
+ * API improvements, the API is arguably much nicer to use and easier to understand than the equivelent Atmel stack code. LUFA's
+ * API is also more complete than the Atmel stack, and contains many features to speed up application development.
+ *
+ * - <b>Full Hardware Support:</b>
+ * LUFA supports the full range of Atmel's USB AVR microcontrollers (see \ref Page_DeviceSupport), with porting between chips being
+ * as simple as a single compile switch in many cases. Atmel's stack requires different libraries to be used based on the USB AVR
+ * microcontroller series, complicating the process of moving between USB AVR models. In addition, LUFA contains drivers for all the
+ * hardware contained on Atmel's USB AVR based boards, so you can get started quickly and easily.
+ *
+ * - <b>Better Library Support:</b>
+ * As many people are now using LUFA, there is a community being built around it. You can get answers to your LUFA related questions
+ * quickly by either emailing the library author (subject to author's schedule) or by posting to the official LUFA support mailing list.
+ */
+ \ No newline at end of file
diff --git a/LUFA/ManPages/MainPage.txt b/LUFA/ManPages/MainPage.txt
index 0b6d2bc63..3c763bd4b 100644
--- a/LUFA/ManPages/MainPage.txt
+++ b/LUFA/ManPages/MainPage.txt
@@ -31,6 +31,8 @@
* and open source LUFA powered projects.
*
* <b>Subsections:</b>
+ * - \subpage Page_WhyUseLUFA Why Use LUFA?
+ * - \subpage Page_LUFAvsAtmelStack How does LUFA compare to the Atmel USB AVR stack?
* - \subpage Page_Licence Project licence
* - \subpage Page_Donating Donating to Support this Project
* - \subpage Page_LibraryApps Overview of included Demos, Bootloaders and Projects
diff --git a/LUFA/ManPages/WhyUseLUFA.txt b/LUFA/ManPages/WhyUseLUFA.txt
new file mode 100644
index 000000000..17483d6ba
--- /dev/null
+++ b/LUFA/ManPages/WhyUseLUFA.txt
@@ -0,0 +1,39 @@
+/** \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_WhyUseLUFA Why Use LUFA?
+ *
+ * The LUFA Library has many advantages over implementing the code required to drive the USB AVRs directly.
+ * It is much more preferable to incorporate LUFA into your existing projects - or even make a new project
+ * using LUFA - than it is to start from scratch and use the USB AVR registers directly. Some of these reasons
+ * are:
+ *
+ * - <b>Portability:</b>
+ * The LUFA stack is designed to run (at some capacity) on the entire Atmel range of USB AVRs, regardless of the
+ * exact USB controller revision used. If you decide to implement your own USB stack, you will either need to
+ * code around the differences between each USB AVR controller's implementation between different chip models, or
+ * require your code to run on only one specific USB AVR model series.
+ *
+ * - <b>Speed of Development:</b>
+ * LUFA ships with a wide range of pre-made demos, bootloaders and projects for you to try, learn and extend. Each
+ * of these demos are tested (where possible) across as many USB AVRs and Operating Systems as possible, to ensure
+ * that they work under as many conditions as possible. In addition, there are inbuilt class drivers for several of
+ * the USB classes which you can make use of in your projects with minimal effort.
+ *
+ * - <b>Maintainability:</b>
+ * As LUFA takes care of much of the USB implementation, you can be left to focusing on your actual project's
+ * functionality, rather than being held back developing and debugging the USB stack code. Since LUFA uses clear APIs
+ * for USB development, your code will be more readable than if it had the low level USB stack code integrated into
+ * it directly. Updating the LUFA library is a simple folder-replacement and gives new features and bug fixes in
+ * seconds each time a new release is made.
+ *
+ * - <b>Support:</b>
+ * Since many people are now using LUFA in their own projects, you can take advantage of other's knowedge when you run
+ * into difficulties or need some advice. In addition, you can also email the library author to recieve personalised
+ * support when you need it (subject to author's schedule).
+ */
+ \ No newline at end of file