LibraryApps.txt 8.92 KB
Newer Older
1
2
3
4
5
6
/** \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.
 */

7
/** \page Page_LibraryApps Included Library Applications
8
 *
Dean Camera's avatar
Dean Camera committed
9
10
11
12
13
 *  The LUFA library ships with several different host and device demos, located in the /Demos/ subdirectory. Within this
 *  directory the demos are seperated by USB mode (Device, Host, OTG) and further seperated by the use or non-use of the
 *  library USB Class drivers (which abstract out the actual implementation of the USB classes to simplify development even
 *  further at the expense of a loss of flexibility).
 *
14
 *  With one or two exceptions (e.g. proprietary classes such as RNDIS) all the included demos will work across all OSes without
15
 *  the need for special drivers. On Windows, some demos require the supplied .INF file to be used as the device driver, which
16
 *  directs the OS to use its inbuilt class drivers for the device.
17
18
19
20
 *
 *  Also included with the library are three fully functional bootloaders, located in the /Bootloaders/ subdirectory.
 *  The DFU class bootloader is compatible with Atmel's FLIP software or the open source dfu-programmer project, the
 *  CDC class (AVR109 protocol) is compatible with such open source software as AVRDUDE and AVR-OSP, and the TeensyLoader
21
 *  HID class bootloader is compatible with the software from PJRC (<a>http://www.pjrc.com/teensy/index.html</a>).
22
23
24
25
26
27
28
29
30
31
32
33
34
 *
 *  User-submitted projects are located in the /Projects/ subdirectory. If you wish to have your LUFA project included,
 *  please email it to the Library author.
 *
 *  \section Sec_AppOverview Overview of Included Library Applications
 *  The following shows the folder structure of the included library applications, including demos, bootloaders and user-submitted
 *  open source projects.
 *
 *  <small>
 *
 *  - <b>Demos</b>
 *    - <b>Device</b>
 *      - <b>ClassDriver</b>
35
 *        - <b>AudioInput</b> - Audio In (microphone) demo, using the library USB Audio Class driver framework
36
 *        - <b>AudioOutput</b> - Audio Out (speaker) demo, using the library USB Audio Class driver framework
37
 *        - <b>DualVirtualSerial</b> - Dual Virtual Serial Port demo, using the library USB CDC Class driver framework
38
39
40
41
42
 *        - <b>GenericHID</b> - Generic Human Interface Class demo, using the library USB HID Class driver framework
 *        - <b>Joystick</b> - USB Joystick demo, using the library USB HID Class driver framework
 *        - <b>Keyboard</b> - USB Keyboard demo, using the library USB HID Class driver framework
 *        - <b>KeyboardMouse</b> - Dual Keyboard/Mouse demo, using the library USB HID Class driver framework
 *        - <b>MassStorage</b> - Dual Drive Mass Storage demo, using the library USB Mass Storage Class driver framework
43
 *        - <b>MassStorageKeyboard</b> - Mass Storage and Keyboard demo, using the library USB Mass Storage/HID Class driver frameworks
44
45
46
 *        - <b>MIDI</b> - MIDI In demo, using the library USB MIDI-Audio Class driver framework
 *        - <b>Mouse</b> - USB Mouse demo, using the library USB HID driver framework
 *        - <b>RNDISEthernet</b> - RNDIS Ethernet Webserver demo, using the library USB RNDIS driver framework
47
48
 *        - <b>VirtualSerial</b> - Virtual Serial Port demo, using the library USB CDC Class driver framework
 *        - <b>VirtualSerialMouse</b> - Virtual Serial Port and Mouse demo, using the library USB CDC and HID Class driver frameworks
49
50
51
 *      - <b>LowLevel</b>
 *        - <b>AudioInput</b> - Audio In (microphone) demo, using the low level LUFA APIs to implement the USB Audio class
 *        - <b>AudioOutput</b> - Audio Out (speaker) demo, using the low level LUFA APIs to implement the USB Audio class
52
 *        - <b>DualVirtualSerial</b> - Dual Virtual Serial Port demo, using the low level LUFA APIs to implement the USB CDC class
53
54
55
56
57
58
59
60
 *        - <b>GenericHID</b> - Generic Human Interface Class demo, using the low level LUFA APIs to implement the USB HID class
 *        - <b>Joystick</b> - USB Joystick demo, using the low level LUFA APIs to implement the USB HID class
 *        - <b>Keyboard</b> - USB Keyboard demo, using the low level LUFA APIs to implement the USB HID class
 *        - <b>KeyboardMouse</b> - Dual Keyboard/Mouse demo, using the low level LUFA APIs to implement the USB HID class
 *        - <b>MassStorage</b> - Dual Drive Mass Storage demo, using the low level LUFA APIs to implement the USB Mass Storage class
 *        - <b>MIDI</b> - MIDI In demo, using the low level LUFA APIs to implement the USB MIDI-Audio class
 *        - <b>Mouse</b> - USB Mouse demo, using the low level LUFA APIs to implement the USB HID class
 *        - <b>RNDISEthernet</b> - RNDIS Ethernet Webserver demo, using the low level LUFA APIs to implement the USB RNDIS class
61
 *        - <b>VirtualSerial</b> - Virtual Serial Port demo, using the low level LUFA APIs to implement the USB CDC class
62
63
64
65
 *      - <b>Incomplete</b>
 *        - <b>SideShow</b> - Incomplete Windows SideShow demo, using the low level LUFA APIs to implement the USB SideShow class
 *    - <b>Host</b>
 *      - <b>ClassDriver</b>
66
 *        - <b>JoystickHostWithParser</b> - Joystick host demo with HID Descriptor parser, using the library USB HID Class driver framework
67
68
69
70
71
72
 *        - <b>KeyboardHost</b> - USB Keyboard host demo, using the library USB HID Class driver framework
 *        - <b>KeyboardHostWithParser</b> - USB Keyboard host demo with HID Descriptor parser, using the library USB HID Class
 *                                          driver framework
 *        - <b>MassStorageHost</b> - Mass Storage host demo, using the library USB Mass Storage Class driver framework
 *        - <b>MouseHost</b> - Mouse host demo, using the library USB HID Class driver framework
 *        - <b>MouseHostWithParser</b> - Mouse host demo with HID Descriptor parser, using the library USB HID Class driver framework
73
 *        - <b>RNDISHost</b> - RNDIS Ethernet host demo, using the library USB RNDIS Class driver framework
74
 *        - <b>StillImageHost</b> - Still Image Camera host demo, using the library USB Still Image Class driver framework
75
 *        - <b>VirtualSerialHost</b> - Virtual Serial Port host demo, using the library USB CDC Class driver framework
76
 *      - <b>LowLevel</b>
77
78
 *        - <b>JoystickHostWithParser</b> - Joystick host demo with HID Descriptor parser, using the low level LUFA APIs to implement 
 *                                          the USB HID class
79
80
81
82
83
84
85
86
 *        - <b>GenericHIDHost</b> - Generic HID host demo, using the low level LUFA APIs to implement the USB HID class
 *        - <b>KeyboardHost</b> - USB Keyboard host demo, using the low level LUFA APIs to implement the USB HID class
 *        - <b>KeyboardHostWithParser</b> - USB Keyboard host demo with HID Descriptor parser, using the low level LUFA APIs to
 *                                          implement the USB HID class
 *        - <b>MassStorageHost</b> - Mass Storage host demo, using the low level LUFA APIs to implement the USB Mass Storage class
 *        - <b>MouseHost</b> - Mouse host demo, using the low level LUFA APIs to implement the USB HID class
 *        - <b>MouseHostWithParser</b> - Mouse host demo with HID Descriptor parser, using the low level LUFA APIs to implement the
 *                                       USB HID class
87
 *        - <b>PrinterHost</b> - Printer host demo, using the low level LUFA APIs to implement the USB Printer class
88
 *        - <b>RNDISHost</b> - RNDIS Ethernet host demo, using the low level LUFA APIs to implement the RNDIS class
89
 *        - <b>StillImageHost</b> - Still Image Camera host demo, using the low level LUFA APIs to implement the USB Still Image class
90
 *        - <b>VirtualSerialHost</b> - Virtual Serial Port host demo, using the low level LUFA APIs to implement the USB CDC class
91
92
 *      - <b>Incomplete</b>
 *        - <b>BluetoothHost</b> - Incomplete Bluetooth host demo, using the low level LUFA APIs to implement the USB Bluetooth class
93
94
95
 *    - <b>DualRole</b>
 *      - <b>ClassDriver</b>
 *        - <b>MouseHostDevice</b> - Dual role Mouse Host and Mouse Device demo, using the library USB CDC Class driver framework
96
97
98
99
100
 *  - <b>Bootloaders</b>
 *    - <b>DFU</b> - DFU Class USB bootloader, compatible with Atmel's FLIP and the open source dfu-programmer software
 *    - <b>CDC</b> - CDC Class USB bootloader, compatible with any AVR910 protocol programming software such as AVRDude
 *    - <b>TeensyHID</b> - HID Class bootloader, compatible with the PJRC TeensyLoader software
 *  - <b>Projects</b>
Dean Camera's avatar
Dean Camera committed
101
 *    - <b>AVRISP</b> - AVRISP-MKII Programmer Clone project
102
 *    - <b>Benito</b> - Benito Board Arduino Programmer project
103
 *    - <b>LEDNotifier</b> - USB LED Notification project
104
105
 *    - <b>Magstripe</b> - Magnetic Stripe Card Reader project
 *    - <b>MissileLaucher</b> - Toy Missile Launcher Host project
106
 *    - <b>USBtoSerial</b> - USB to USART Serial Converter project
107
108
109
 *
 *  </small>
 */