/** \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_LibraryApps Included Library Applications
 *
 *  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).
 *
 *  With one or two exceptions (e.g. proprietary classes such as RNDIS) all the included demos will work across all OSes without
 *  the need for special drivers. On Windows, some demos require the supplied .INF file to be used as the device driver, which
 *  directs the OS to use its inbuilt class drivers for the device.
 *
 *  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
 *  HID class bootloader is compatible with the software from PJRC (<a>http://www.pjrc.com/teensy/index.html</a>).
 *
 *  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>
 *        - <b>AudioInput</b> - Audio In (microphone) demo, using the library USB Audio Class driver framework
 *        - <b>AudioOutput</b> - Audio Out (speaker) demo, using the library USB Audio Class driver framework
 *        - <b>DualVirtualSerial</b> - Dual Virtual Serial Port demo, using the library USB CDC Class driver framework
 *        - <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
 *        - <b>MassStorageKeyboard</b> - Mass Storage and Keyboard demo, using the library USB Mass Storage/HID Class driver frameworks
 *        - <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
 *        - <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
 *      - <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
 *        - <b>DualVirtualSerial</b> - Dual Virtual Serial Port demo, using the low level LUFA APIs to implement the USB CDC class
 *        - <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
 *        - <b>VirtualSerial</b> - Virtual Serial Port demo, using the low level LUFA APIs to implement the USB CDC class
 *      - <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>
 *        - <b>JoystickHostWithParser</b> - Joystick host demo with HID Descriptor parser, using the library USB HID Class driver framework
 *        - <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
 *        - <b>RNDISHost</b> - RNDIS Ethernet host demo, using the library USB RNDIS Class driver framework
 *        - <b>StillImageHost</b> - Still Image Camera host demo, using the library USB Still Image Class driver framework
 *        - <b>VirtualSerialHost</b> - Virtual Serial Port host demo, using the library USB CDC Class driver framework
 *      - <b>LowLevel</b>
 *        - <b>JoystickHostWithParser</b> - Joystick host demo with HID Descriptor parser, using the low level LUFA APIs to implement 
 *                                          the USB HID class
 *        - <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
 *        - <b>PrinterHost</b> - Printer host demo, using the low level LUFA APIs to implement the USB Printer class
 *        - <b>RNDISHost</b> - RNDIS Ethernet host demo, using the low level LUFA APIs to implement the RNDIS class
 *        - <b>StillImageHost</b> - Still Image Camera host demo, using the low level LUFA APIs to implement the USB Still Image class
 *        - <b>VirtualSerialHost</b> - Virtual Serial Port host demo, using the low level LUFA APIs to implement the USB CDC class
 *      - <b>Incomplete</b>
 *        - <b>BluetoothHost</b> - Incomplete Bluetooth host demo, using the low level LUFA APIs to implement the USB Bluetooth class
 *    - <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
 *  - <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>
 *    - <b>AVRISP-MKII</b> - AVRISP-MKII Programmer Clone project
 *    - <b>Benito</b> - Benito Board Arduino Programmer project
 *    - <b>LEDNotifier</b> - USB LED Notification project
 *    - <b>Magstripe</b> - Magnetic Stripe Card Reader project
 *    - <b>MissileLaucher</b> - Toy Missile Launcher Host project
 *    - <b>RelayBoard</b> - Relay board controller, controllable via the "sismpctl" Linux application
 *    - <b>TemperatureDataLogger</b> - Temperature Datalogging project, using the FatFS library
 *    - <b>USBtoSerial</b> - USB to USART Serial Converter project
 *    - <b>Webserver</b> - RNDIS Host Webserver with DHCP client, powered by uIP TCP/IP stack project and FatFS library
 *    - <b>XPLAINBridge</b> - XPLAIN alternative PDI Programmer/USB to Serial Bridge firmware project
 *    - <b>Incomplete</b>
 *      - <b>MIDIToneGenerator</b> - Incomplete MIDI Tone Generator application, to convert MIDI note messages into audio tones
 *      - <b>StandaloneProgrammer</b> - Incomplete Standalone AVR Programmer application, to program AVRs directly from a Mass Storage disk
 *
 *  </small>
 */