* - Teensy and Teensy++, two other AVR USB development boards: http://www.pjrc.com/teensy/index.html\r
* - USBFoo, an AT90USB162 based development board: http://shop.kernelconcepts.de/product_info.php?products_id=102\r
* - USB10 AKA "The Ferret", a AT90USB162 development board: http://www.soc-machines.com\r
+ * - Benito #7, a no-frills USB board: http://www.dorkbotpdx.org/blog/feurig/benito_7_the_next_big_thing\r
* \r
* \section Sec_LUFAProjects Projects Using LUFA (Hobbyist)\r
*\r
* can be incorporated into many different applications.\r
*\r
* - Stripe Snoop, a Magnetic Card reader: http://www.ossguy.com/ss_usb/\r
- * - Benito #7, an AVR Programmer: http://www.dorkbotpdx.org/blog/feurig/benito_7_the_next_big_thing\r
* - Bicycle POV: http://www.code.google.com/p/bicycleledpov/\r
* - USB Interface for Playstation Portable Devices: http://forums.ps2dev.org/viewtopic.php?t=11001\r
* - USB to Serial Bridge, via SPI and I2C: http://www.tty1.net/userial/\r
*/\r
\r
/**\r
- * \mainpage General Information\r
+ * \mainpage\r
*\r
- * Lightweight USB Framework for AVRs Library, written by Dean Camera. \r
+ * \n\r
+ * \image html LUFA.gif "The Lightweight USB Framework for AVRs"\r
+ * \n\r
*\r
- * Originally based on the AT90USBKEY from Atmel, it is an open-source USB library for the USB-enabled AVR\r
+ * For author and donation information, see \ref Page_Donating.\r
+ *\r
+ * Originally based on the AT90USBKEY from Atmel, LUFA is an open-source USB library for the USB-enabled AVR\r
* microcontrollers, released under the MIT license. It now supports a large number of USB AVR models and boards.\r
*\r
* The library is currently in a stable release, suitable for download and incorporation into user projects for\r
* library API more streamlined and robust. You can download AVR-GCC for free in a convenient windows package, \r
* from the the WinAVR website.\r
*\r
- * \section Sec_Demos Demos, Projects and Bootloaders\r
* The LUFA library ships with several different host and device demos, located in the /Demos/ subdirectory.\r
* If this directory is missing, please re-download the project from the project homepage.\r
*\r
* <b>Subsections:</b>\r
* - \subpage Page_Licence Project License\r
* - \subpage Page_Donating Donating to Support this Project\r
+ *\r
+ *\r
+ * <small><i>Logo design by Pavla Dlab</i></small>\r
*/\r
--- /dev/null
+/** \file\r
+ *\r
+ * This file contains special DoxyGen information for the generation of the main page and other special\r
+ * documentation pages. It is not a project source file.\r
+ */\r
+\r
+/** \page Page_SchedulerOverview LUFA Scheduler Overview\r
+ *\r
+ * <B>THE LUFA SCHEDULER IS NOW DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE. EXISTING CODE SHOULD CONVERT\r
+ * TO STANDARD LOOPS AS SHOWN IN THE CURRENT LIBRARY DEMOS.</b>\r
+ *\r
+ *\r
+ * The LUFA library comes with a small, basic round-robbin scheduler which allows for small "tasks" to be executed\r
+ * continuously in sequence, and enabled/disabled at runtime. Unlike a conventional, complex RTOS scheduler, the\r
+ * LUFA scheduler is very simple in design and operation and is essentially a loop conditionally executing a series\r
+ * of functions.\r
+ *\r
+ * Each LUFA scheduler task should be written similar to an ISR; it should execute quickly (so that no one task\r
+ * hogs the processor, preventing another from running before some sort of timeout is exceeded). Unlike normal RTOS\r
+ * tasks, each LUFA scheduler task is a regular function, and thus must be designed to be called, and designed to\r
+ * return to the calling scheduler function repeatedly. Data which must be preserved between task calls should be\r
+ * declared as global or (preferably) as a static local variable inside the task.\r
+ *\r
+ * The scheduler consists of a task list, listing all the tasks which can be executed by the scheduler. Once started,\r
+ * each task is then called one after another, unless the task is stopped by another running task or interrupt.\r
+ *\r
+ *\r
+ * If desired, the LUFA scheduler <b>does not need to be used</b> in a LUFA powered application. A more conventional\r
+ * approach to application design can be used, or a proper scheduling RTOS inserted in the place of the LUFA scheduler.\r
+ * In the case of the former the USB task must be run manually repeatedly to maintain USB communications, and in the\r
+ * case of the latter a proper RTOS task must be set up to do the same.\r
+ *\r
+ *\r
+ * For more information on the LUFA scheduler, see the Scheduler.h file documentation.\r
+ */\r