Библиотека LUFA поставляется с несколькими разными демками хоста USB и устройства USB, размещенными в подпапке /Demos/. Внутри этой директории демки разделены по режиму USB (Device, Host, OTG) и далее разделены по использованию или неиспользованию драйверов класса USB библиотеки (которые абстрагируются от действительной реализации классов USB, чтобы еще сильнее упростить разработку за счет потери гибкости).
С одним или двумя исключениями (например, проприетарные классы наподобие RNDIS) все включенные в библиотеку демки будут работать со всеми операционными системами без необходимости в специальных драйверах. Под Windows нектороые демки нуждаются в предоставлении файла .INF в качестве драйвера устройства, который указывает операционной системе (ОС) использовать для устройства встроенные в ОС драйвера класса.
Также включены в библиотеку два полнофункциональных бутлоадера, размещенных в подпапке /Bootloaders/. Бутлоадер класса DFU совместим с ПО хоста FLIP компании Atmel, или с ПО хоста открытого проекта dfu-programmer, в то время как бутлоадер класса CDC (протокол AVR109) совместим с открытым программным обеспечением типа AVRDUDE и AVR-OSP.
Проекты, предоставленные пользователями, размещены в подпапке /Projects/. Если Вы хотите добавить свой проект к LUFA, пожалуйста напишите email автору библиотеки.
Обзор приложений, включенных в библиотеку
Далее показана структура папок включенных в библиотеку приложений, в том числе демки, бутлоадеры и предоставленные пользователями проекты с открытыми исходниками (open source).
- Демки
- Device (устройство USB)
- ClassDriver
- AudioInput - Демо входа звука Audio In (микрофон), использующее рабочую среду драйвера USB Audio Class библиотеки
- AudioOutput - Демо выхода звука Audio Out (динамик), использующее рабочую среду драйвера USB Audio Class библиотеки
- DualVirtualSerial - Демо двойного виртуального последовательного порта, использующее рабочую среду драйвера USB CDC Class библиотеки
- GenericHID - Демо стандартного (generic) класса интерфейса с человеком, использующее рабочую среду драйвера USB HID Class библиотеки
- Joystick - Демо джойстика USB, использующее рабочую среду драйвера USB HID Class библиотеки
- Keyboard - Демо клавиатуры USB, использующее рабочую среду драйвера USB HID Class библиотеки
- KeyboardMouse - Демо совмещенного устройства клавиатуры/мыши, использующее рабочую среду драйвера USB HID Class библиотеки
- MassStorage - Демо двойного устройства Mass Storage, использующее рабочую среду драйвера USB Mass Storage Class библиотеки
- MassStorageKeyboard - Демо Mass Storage и клавиатуры, использующее рабочие среды драйвера USB Mass Storage/HID Class библиотеки
- MIDI - Демо MIDI In, использующее рабочую среду драйвера USB MIDI-Audio Class библиотеки
- Mouse - Демо мыши USB, использующее рабочую среду драйвера USB HID библиотеки
- RNDISEthernet - Демо вебсервера RNDIS Ethernet, использующее рабочую среду драйвера USB RNDIS библиотеки
- VirtualSerial - Демо виртуального последовательного порта, использующее рабочую среду драйвера USB CDC Class библиотеки
- VirtualSerialMouse - Демо виртуального последовательного порта и мыши, использующее рабочие среды драйвера USB CDC Class и HID Class библиотеки
- LowLevel
- AudioInput - Демо входа звука Audio In (микрофон), использующее низкоуровневое LUFA API для реализации USB Audio class
- AudioOutput - Демо выхода звука Audio Out (динамик), использующее низкоуровневое LUFA API для реализации USB Audio class
- DualVirtualSerial - Демо двойного виртуального последовательного порта, использующее низкоуровневое LUFA API для реализации USB CDC class
- GenericHID - Демо стандартного (generic) класса интерфейса с человеком, использующее низкоуровневое LUFA API для реализации USB HID class
- Joystick - Демо джойстика USB, использующее низкоуровневое LUFA API для реализации USB HID class
- Keyboard - Демо клавиатуры USB, использующее низкоуровневое LUFA API для реализации USB HID class
- KeyboardMouse - Демо совмещенного устройства клавиатуры/мыши USB, использующее низкоуровневое LUFA API для реализации USB HID class
- MassStorage - Демо двойного устройства Mass Storage, использующее низкоуровневое LUFA API для реализации USB Mass Storage class
- MIDI - Демо MIDI In, использующее низкоуровневое LUFA API для реализации USB MIDI-Audio class
- Mouse - Демо мыши USB, использующее низкоуровневое LUFA API для реализации USB HID class
- RNDISEthernet - Демо вебсервера RNDIS Ethernet, использующее низкоуровневое LUFA API для реализации USB RNDIS class
- VirtualSerial - Демо виртуального последовательного порта, использующее низкоуровневое LUFA API для реализации USB CDC class
- Незавершенное
- SideShow - Незавершенное демо Windows SideShow, использующее низкоуровневое LUFA API для реализации USB SideShow class
- TestAndMeasurement - Незавершенное демо тестирования и измерения, использующее низкоуровневое LUFA API для реализации USB Test and Measurement class
- Host (хост USB)
- ClassDriver
- JoystickHostWithParser - Демо хоста джойстика с парсером дескриптора HID, использующее рабочую среду драйвера USB HID Class библиотеки
- KeyboardHost - Демо хоста клавиатуры, использующее рабочую среду драйвера USB HID Class библиотеки
- KeyboardHostWithParser - Демо хоста клавиатуры с парсером дескриптора HID, использующее рабочую среду драйвера USB HID Class библиотеки
- MassStorageHost - Демо хоста Mass Storage, использующее рабочую среду драйвера USB Mass Storage Class библиотеки
- MouseHost - Демо хоста мыши, использующее рабочую среду драйвера USB HID Class библиотеки
- MouseHostWithParser - Демо хоста мыши с парсером дескриптора HID, использующее рабочую среду драйвера USB HID Class библиотеки
- RNDISHost - Демо хоста RNDIS Ethernet, использующее рабочую среду драйвера USB RNDIS Class библиотеки
- StillImageHost - Демо хоста камеры Still Image, использующее рабочую среду драйвера USB Still Image Class библиотеки
- VirtualSerialHost - Демо виртуального последовательного порта, использующее рабочую среду драйвера USB CDC Class библиотеки
- LowLevel
- JoystickHostWithParser - Демо хоста джойстика с парсером дескриптора HID, использующее низкоуровневое LUFA API для реализации USB HID class
- GenericHIDHost - Демо хоста Generic HID, использующее низкоуровневое LUFA API для реализации USB HID class
- KeyboardHost - Демо хоста клавиатуры USB, использующее низкоуровневое LUFA API для реализации USB HID class
- KeyboardHostWithParser - Демо хоста клавиатуры USB с парсером дескриптора HID, использующее низкоуровневое LUFA API для реализации USB HID class
- MassStorageHost - Демо хоста Mass Storage, использующее низкоуровневое LUFA API для реализации USB Mass Storage Class
- MouseHost - Демо хоста мыши, использующее низкоуровневое LUFA API для реализации USB HID class
- MouseHostWithParser - Демо хоста мыши с парсером дескриптора HID, использующее низкоуровневое LUFA API для реализации USB HID class
- PrinterHost - Демо хоста принтера, использующее низкоуровневое LUFA API для реализации USB Printer class
- RNDISHost - Демо хоста RNDIS Ethernet, использующее низкоуровневое LUFA API для реализации RNDIS class
- StillImageHost - Демо хоста камеры Still Image, использующее низкоуровневое LUFA API для реализации USB Still Image class
- VirtualSerialHost - Демо хоста виртуального последовательного порта, использующее низкоуровневое LUFA API для реализации USB CDC class
- Незавершенное
- BluetoothHost - Незавершенное демо хоста Bluetooth, использующее низкоуровневое LUFA API для реализации USB Bluetooth class
- DualRole (устройство, отвечающее стандарту OTG, которое может работать и в режиме хоста USB, и в режиме устройства USB)
- ClassDriver
- MouseHostDevice - Двухролевое демо хоста мыши и устройства мыши, использующее рабочую среду драйвера USB CDC Class библиотеки
- Бутлоадеры
- DFU - Бутлоадер USB DFU Class, совместимый с ПО хоста Atmel FLIP и open source ПО хоста dfu-programmer
- CDC - Бутлоадер USB CDC Class, совместимый с любым ПО хоста, поддерживающим протокол AVR910, как например AVRDude
- Проекты
- AVRISP-MKII - Проект клона программатора AVRISP-MKII
- Benito - Проект программатора Benito Board Arduino
- LEDNotifier - Проект USB LED оповещателя
- Magstripe - Проект читалки магнитных карт (Magnetic Stripe Card)
- MissileLauncher - USB HID хост для управления игрушкой пусковой установки ракеты
- RelayBoard - Контроллер платы с реле, совместимый с приложением Linux "sismpctl"
- TempDataLogger - Проект записи лога данных температуры, использующий библиотеку FatFS
- USBtoSerial - Проект конвертера последовательного порта USB <--> USART
- Webserver - Вебсервер хоста RNDIS с клиентом DHCP, основанный также на проекте uIP для стека TCP/IP и библиотеке FatFS
- XPLAINBridge - Проект firmware альтернативного XPLAIN программатора PDI / моста USB <--> Serial
- Незавершенное
- StandaloneProgrammer - Незавершенное приложение автономного программатора AVR для программирования микроконтроллеров AVR напрямую с диска Mass Storage