Added incomplete MIDIToneGenerator project.
[pub/USBasp.git] / LUFA / ManPages / WhyUseLUFA.txt
1 /** \file
2 *
3 * This file contains special DoxyGen information for the generation of the main page and other special
4 * documentation pages. It is not a project source file.
5 */
6
7 /**
8 * \page Page_WhyUseLUFA Why Use LUFA?
9 *
10 * The LUFA Library has many advantages over implementing the code required to drive the USB AVRs directly.
11 * It is much more preferable to incorporate LUFA into your existing projects - or even make a new project
12 * using LUFA - than it is to start from scratch and use the USB AVR registers directly. Some of these reasons
13 * are:
14 *
15 * - <b>Portability:</b>
16 * The LUFA stack is designed to run (at some capacity) on the entire Atmel range of USB AVRs, regardless of the
17 * exact USB controller revision used. If you decide to implement your own USB stack, you will either need to
18 * code around the differences between each USB AVR controller's implementation between different chip models, or
19 * require your code to run on only one specific USB AVR model series.
20 *
21 * - <b>Speed of Development:</b>
22 * LUFA ships with a wide range of pre-made demos, bootloaders and projects for you to try, learn and extend. Each
23 * of these demos are tested (where possible) across as many USB AVRs and Operating Systems as possible, to ensure
24 * that they work under as many conditions as possible. In addition, there are inbuilt class drivers for several of
25 * the USB classes which you can make use of in your projects with minimal effort.
26 *
27 * - <b>Maintainability:</b>
28 * As LUFA takes care of much of the USB implementation, you can be left to focusing on your actual project's
29 * functionality, rather than being held back developing and debugging the USB stack code. Since LUFA uses clear APIs
30 * for USB development, your code will be more readable than if it had the low level USB stack code integrated into
31 * it directly. Updating the LUFA library is a simple folder-replacement and gives new features and bug fixes in
32 * seconds each time a new release is made.
33 *
34 * - <b>Size:</b>
35 * Not just requiring less code to make complex USB devices, LUFA (under most cases with the correct compile options)
36 * requires less FLASH space than Atmel's stack, meaning more space for the user application*.
37 *
38 * - <b>Support:</b>
39 * Since many people are now using LUFA in their own projects, you can take advantage of other's knowedge when you run
40 * into difficulties or need some advice. In addition, you can also email the library author to recieve personalised
41 * support when you need it (subject to author's schedule).
42 *
43 * <small>* Atmel Stack Mouse Device Demo 4292 bytes, LUFA Mouse Low Level Device Demo 3392 bytes, under identical build
44 * environments</small>
45 */
46