瀏覽代碼

Squashed 'lib/lufa/' changes from f2bd51f4e..bbdc9ac40

bbdc9ac40 Merge pull request #1 from fredizzimo/fix_line_endings
75ba27b8d Fix xml file line endings
7a8237259 Merge commit '5a3397d17ec917c7be5d5109e01a3a84a355cb1b'
713c65b5b Merge commit 'cedfbfcb1a9ad9cf93816f1952fc4bf7c55fbb61'
00e20c453 delete old lufa

git-subtree-dir: lib/lufa
git-subtree-split: bbdc9ac40c2ff543bbaf3870d407d0a96c945c1a
Jack Humbert 8 年之前
父節點
當前提交
8858438a77
共有 100 個文件被更改,包括 7274 次插入7274 次删除
  1. 161 161
      Bootloaders/CDC/asf.xml
  2. 156 156
      Bootloaders/DFU/asf.xml
  3. 123 123
      Bootloaders/HID/asf.xml
  4. 102 102
      Bootloaders/MassStorage/BootloaderAPITable.S
  5. 156 156
      Bootloaders/MassStorage/asf.xml
  6. 75 75
      Bootloaders/MassStorage/makefile
  7. 91 91
      Bootloaders/Printer/BootloaderAPITable.S
  8. 159 159
      Bootloaders/Printer/asf.xml
  9. 62 62
      Bootloaders/Printer/makefile
  10. 52 52
      Demos/Device/ClassDriver/AudioInput/asf.xml
  11. 50 50
      Demos/Device/ClassDriver/AudioOutput/asf.xml
  12. 62 62
      Demos/Device/ClassDriver/DualVirtualSerial/asf.xml
  13. 63 63
      Demos/Device/ClassDriver/GenericHID/asf.xml
  14. 62 62
      Demos/Device/ClassDriver/Joystick/asf.xml
  15. 62 62
      Demos/Device/ClassDriver/Keyboard/asf.xml
  16. 62 62
      Demos/Device/ClassDriver/KeyboardMouse/asf.xml
  17. 61 61
      Demos/Device/ClassDriver/KeyboardMouseMultiReport/asf.xml
  18. 62 62
      Demos/Device/ClassDriver/MIDI/asf.xml
  19. 67 67
      Demos/Device/ClassDriver/MassStorage/asf.xml
  20. 70 70
      Demos/Device/ClassDriver/MassStorageKeyboard/asf.xml
  21. 62 62
      Demos/Device/ClassDriver/Mouse/asf.xml
  22. 84 84
      Demos/Device/ClassDriver/RNDISEthernet/asf.xml
  23. 62 62
      Demos/Device/ClassDriver/VirtualSerial/asf.xml
  24. 70 70
      Demos/Device/ClassDriver/VirtualSerialMassStorage/asf.xml
  25. 64 64
      Demos/Device/ClassDriver/VirtualSerialMouse/asf.xml
  26. 52 52
      Demos/Device/LowLevel/AudioInput/asf.xml
  27. 51 51
      Demos/Device/LowLevel/AudioOutput/asf.xml
  28. 62 62
      Demos/Device/LowLevel/DualVirtualSerial/asf.xml
  29. 63 63
      Demos/Device/LowLevel/GenericHID/asf.xml
  30. 62 62
      Demos/Device/LowLevel/Joystick/asf.xml
  31. 62 62
      Demos/Device/LowLevel/Keyboard/asf.xml
  32. 62 62
      Demos/Device/LowLevel/KeyboardMouse/asf.xml
  33. 62 62
      Demos/Device/LowLevel/MIDI/asf.xml
  34. 67 67
      Demos/Device/LowLevel/MassStorage/asf.xml
  35. 62 62
      Demos/Device/LowLevel/Mouse/asf.xml
  36. 86 86
      Demos/Device/LowLevel/RNDISEthernet/asf.xml
  37. 63 63
      Demos/Device/LowLevel/VirtualSerial/asf.xml
  38. 56 56
      Demos/DualRole/ClassDriver/MouseHostDevice/asf.xml
  39. 49 49
      Demos/Host/ClassDriver/AndroidAccessoryHost/asf.xml
  40. 48 48
      Demos/Host/ClassDriver/AudioInputHost/asf.xml
  41. 52 52
      Demos/Host/ClassDriver/AudioOutputHost/asf.xml
  42. 48 48
      Demos/Host/ClassDriver/JoystickHostWithParser/asf.xml
  43. 48 48
      Demos/Host/ClassDriver/KeyboardHost/asf.xml
  44. 48 48
      Demos/Host/ClassDriver/KeyboardHostWithParser/asf.xml
  45. 50 50
      Demos/Host/ClassDriver/MIDIHost/asf.xml
  46. 48 48
      Demos/Host/ClassDriver/MassStorageHost/asf.xml
  47. 48 48
      Demos/Host/ClassDriver/MouseHost/asf.xml
  48. 48 48
      Demos/Host/ClassDriver/MouseHostWithParser/asf.xml
  49. 48 48
      Demos/Host/ClassDriver/PrinterHost/asf.xml
  50. 48 48
      Demos/Host/ClassDriver/RNDISEthernetHost/asf.xml
  51. 48 48
      Demos/Host/ClassDriver/StillImageHost/asf.xml
  52. 48 48
      Demos/Host/ClassDriver/VirtualSerialHost/asf.xml
  53. 55 55
      Demos/Host/LowLevel/AndroidAccessoryHost/asf.xml
  54. 50 50
      Demos/Host/LowLevel/AudioInputHost/asf.xml
  55. 54 54
      Demos/Host/LowLevel/AudioOutputHost/asf.xml
  56. 50 50
      Demos/Host/LowLevel/GenericHIDHost/asf.xml
  57. 52 52
      Demos/Host/LowLevel/JoystickHostWithParser/asf.xml
  58. 50 50
      Demos/Host/LowLevel/KeyboardHost/asf.xml
  59. 52 52
      Demos/Host/LowLevel/KeyboardHostWithParser/asf.xml
  60. 52 52
      Demos/Host/LowLevel/MIDIHost/asf.xml
  61. 53 53
      Demos/Host/LowLevel/MassStorageHost/asf.xml
  62. 50 50
      Demos/Host/LowLevel/MouseHost/asf.xml
  63. 52 52
      Demos/Host/LowLevel/MouseHostWithParser/asf.xml
  64. 53 53
      Demos/Host/LowLevel/PrinterHost/asf.xml
  65. 53 53
      Demos/Host/LowLevel/RNDISEthernetHost/asf.xml
  66. 54 54
      Demos/Host/LowLevel/StillImageHost/asf.xml
  67. 50 50
      Demos/Host/LowLevel/VirtualSerialHost/asf.xml
  68. 55 55
      LUFA/CodeTemplates/DeviceTemplate/asf.xml
  69. 41 41
      LUFA/CodeTemplates/HostTemplate/asf.xml
  70. 281 281
      LUFA/DoxygenPages/BuildSystem.txt
  71. 65 65
      LUFA/Drivers/Board/AVR8/QMK/Board.h
  72. 194 194
      LUFA/Drivers/Board/AVR8/QMK/LEDs.h
  73. 1 1
      LUFA/StudioIntegration/Docbook/placeholder.txt
  74. 45 45
      LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt
  75. 53 53
      LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css
  76. 13 13
      LUFA/StudioIntegration/VSIX/[Content_Types].xml
  77. 18 18
      LUFA/StudioIntegration/VSIX/asf-manifest.xml
  78. 32 32
      LUFA/StudioIntegration/VSIX/extension.vsixmanifest
  79. 38 38
      LUFA/StudioIntegration/VSIX/generate_caches.py
  80. 96 96
      LUFA/StudioIntegration/lufa.xml
  81. 34 34
      LUFA/StudioIntegration/lufa_common.xml
  82. 114 114
      LUFA/StudioIntegration/lufa_drivers_board.xml
  83. 853 853
      LUFA/StudioIntegration/lufa_drivers_board_names.xml
  84. 57 57
      LUFA/StudioIntegration/lufa_drivers_misc.xml
  85. 198 198
      LUFA/StudioIntegration/lufa_drivers_peripheral.xml
  86. 32 32
      LUFA/StudioIntegration/lufa_drivers_usb.xml
  87. 32 32
      LUFA/StudioIntegration/lufa_drivers_usb_class.xml
  88. 85 85
      LUFA/StudioIntegration/lufa_drivers_usb_core.xml
  89. 43 43
      LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml
  90. 42 42
      LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml
  91. 36 36
      LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml
  92. 60 60
      LUFA/StudioIntegration/lufa_platform.xml
  93. 26 26
      LUFA/StudioIntegration/lufa_platform_uc3.xml
  94. 23 23
      LUFA/StudioIntegration/lufa_platform_xmega.xml
  95. 45 45
      LUFA/StudioIntegration/lufa_toolchain.xml
  96. 91 91
      Projects/AVRISP-MKII/asf.xml
  97. 53 53
      Projects/Benito/asf.xml
  98. 48 48
      Projects/HIDReportViewer/asf.xml
  99. 51 51
      Projects/LEDNotifier/asf.xml
  100. 50 50
      Projects/MIDIToneGenerator/asf.xml

+ 161 - 161
Bootloaders/CDC/asf.xml

@@ -1,161 +1,161 @@
-<asf xmlversion="1.0">
-	<project caption="CDC Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.128_4" force-caption="true" workspace-name="lufa_cdc_128kb_4kb_">
-		<require idref="lufa.bootloaders.cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="CDC Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.64_4" force-caption="true" workspace-name="lufa_cdc_64kb_4kb_">
-		<require idref="lufa.bootloaders.cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb647"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="CDC Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.32_4" force-caption="true" workspace-name="lufa_cdc_32kb_4kb_">
-		<require idref="lufa.bootloaders.cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega32u4"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="CDC Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.16_4" force-caption="true" workspace-name="lufa_cdc_16kb_4kb_">
-		<require idref="lufa.bootloaders.cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega16u2"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="CDC Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.8_4" force-caption="true" workspace-name="lufa_cdc_8kb_4kb_">
-		<require idref="lufa.bootloaders.cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega8u2"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<module type="application" id="lufa.bootloaders.cdc" caption="CDC Bootloader">
-		<info type="description" value="summary">
-		CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Bootloaders"/>
-			<keyword value="USB Device"/>
-		</info>
-
- 		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="include-path" value="."/>
-		<build type="c-source" value="BootloaderCDC.c"/>
-		<build type="header-file" value="BootloaderCDC.h"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="c-source" value="BootloaderAPI.c"/>
-		<build type="header-file" value="BootloaderAPI.h"/>
-		<build type="asm-source" value="BootloaderAPITable.S"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="BootloaderCDC.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA CDC Bootloader.inf"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="CDC Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.128_4" force-caption="true" workspace-name="lufa_cdc_128kb_4kb_">
+		<require idref="lufa.bootloaders.cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="CDC Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.64_4" force-caption="true" workspace-name="lufa_cdc_64kb_4kb_">
+		<require idref="lufa.bootloaders.cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb647"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="CDC Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.32_4" force-caption="true" workspace-name="lufa_cdc_32kb_4kb_">
+		<require idref="lufa.bootloaders.cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega32u4"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="CDC Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.16_4" force-caption="true" workspace-name="lufa_cdc_16kb_4kb_">
+		<require idref="lufa.bootloaders.cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega16u2"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="CDC Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.8_4" force-caption="true" workspace-name="lufa_cdc_8kb_4kb_">
+		<require idref="lufa.bootloaders.cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega8u2"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<module type="application" id="lufa.bootloaders.cdc" caption="CDC Bootloader">
+		<info type="description" value="summary">
+		CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Bootloaders"/>
+			<keyword value="USB Device"/>
+		</info>
+
+ 		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="include-path" value="."/>
+		<build type="c-source" value="BootloaderCDC.c"/>
+		<build type="header-file" value="BootloaderCDC.h"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="c-source" value="BootloaderAPI.c"/>
+		<build type="header-file" value="BootloaderAPI.h"/>
+		<build type="asm-source" value="BootloaderAPITable.S"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="BootloaderCDC.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA CDC Bootloader.inf"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 156 - 156
Bootloaders/DFU/asf.xml

@@ -1,156 +1,156 @@
-<asf xmlversion="1.0">
-	<project caption="DFU Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.128_4" force-caption="true" workspace-name="lufa_dfu_128kb_4kb_">
-		<require idref="lufa.bootloaders.dfu"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="DFU Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.64_4" force-caption="true" workspace-name="lufa_dfu_64kb_4kb_">
-		<require idref="lufa.bootloaders.dfu"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb647"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="DFU Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.32_4" force-caption="true" workspace-name="lufa_dfu_32kb_4kb_">
-		<require idref="lufa.bootloaders.dfu"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega32u4"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="DFU Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.16_4" force-caption="true" workspace-name="lufa_dfu_16kb_4kb_">
-		<require idref="lufa.bootloaders.dfu"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega16u2"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="DFU Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.8_4" force-caption="true" workspace-name="lufa_dfu_8kb_4kb_">
-		<require idref="lufa.bootloaders.dfu"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega8u2"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<module type="application" id="lufa.bootloaders.dfu" caption="DFU Bootloader">
-		<info type="description" value="summary">
-		DFU Class Bootloader, capable of reprogramming a device using the Atmel FLIP or other AVR DFU programming software when plugged into a host.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Bootloaders"/>
-			<keyword value="USB Device"/>
-		</info>
-
- 		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="include-path" value="."/>
-		<build type="c-source" value="BootloaderDFU.c"/>
-		<build type="header-file" value="BootloaderDFU.h"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="c-source" value="BootloaderAPI.c"/>
-		<build type="header-file" value="BootloaderAPI.h"/>
-		<build type="asm-source" value="BootloaderAPITable.S"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="BootloaderDFU.txt"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="DFU Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.128_4" force-caption="true" workspace-name="lufa_dfu_128kb_4kb_">
+		<require idref="lufa.bootloaders.dfu"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="DFU Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.64_4" force-caption="true" workspace-name="lufa_dfu_64kb_4kb_">
+		<require idref="lufa.bootloaders.dfu"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb647"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="DFU Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.32_4" force-caption="true" workspace-name="lufa_dfu_32kb_4kb_">
+		<require idref="lufa.bootloaders.dfu"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega32u4"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="DFU Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.16_4" force-caption="true" workspace-name="lufa_dfu_16kb_4kb_">
+		<require idref="lufa.bootloaders.dfu"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega16u2"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="DFU Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.8_4" force-caption="true" workspace-name="lufa_dfu_8kb_4kb_">
+		<require idref="lufa.bootloaders.dfu"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega8u2"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<module type="application" id="lufa.bootloaders.dfu" caption="DFU Bootloader">
+		<info type="description" value="summary">
+		DFU Class Bootloader, capable of reprogramming a device using the Atmel FLIP or other AVR DFU programming software when plugged into a host.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Bootloaders"/>
+			<keyword value="USB Device"/>
+		</info>
+
+ 		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="include-path" value="."/>
+		<build type="c-source" value="BootloaderDFU.c"/>
+		<build type="header-file" value="BootloaderDFU.h"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="c-source" value="BootloaderAPI.c"/>
+		<build type="header-file" value="BootloaderAPI.h"/>
+		<build type="asm-source" value="BootloaderAPITable.S"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="BootloaderDFU.txt"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 123 - 123
Bootloaders/HID/asf.xml

@@ -1,123 +1,123 @@
-<asf xmlversion="1.0">
-	<project caption="HID Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.128_4" force-caption="true" workspace-name="lufa_hid_128kb_4kb_">
-		<require idref="lufa.bootloaders.hid"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
-	</project>
-
-	<project caption="HID Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.64_4" force-caption="true" workspace-name="lufa_hid_64kb_4kb_">
-		<require idref="lufa.bootloaders.hid"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb647"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
-	</project>
-
-	<project caption="HID Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.32_4" force-caption="true" workspace-name="lufa_hid_32kb_4kb_">
-		<require idref="lufa.bootloaders.hid"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega32u4"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
-	</project>
-
-	<project caption="HID Bootloader - 16KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.16_2" force-caption="true" workspace-name="lufa_hid_16kb_2kb_">
-		<require idref="lufa.bootloaders.hid"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega16u2"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x3800"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3800"/>
-	</project>
-
-	<project caption="HID Bootloader - 8KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.8_2" force-caption="true" workspace-name="lufa_hid_8kb_2kb_">
-		<require idref="lufa.bootloaders.hid"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega8u2"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x1800"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1800"/>
-	</project>
-
-	<module type="application" id="lufa.bootloaders.hid" caption="HID Bootloader">
-		<info type="description" value="summary">
-		HID Class Bootloader, capable of reprogramming a device via a custom cross-platform command line utility when plugged into a host.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Bootloaders"/>
-			<keyword value="USB Device"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="include-path" value="."/>
-		<build type="c-source" value="BootloaderHID.c"/>
-		<build type="header-file" value="BootloaderHID.h"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="BootloaderHID.txt"/>
-		<build type="distribute" subtype="directory" value="HostLoaderApp"/>
-		<build type="distribute" subtype="directory" value="HostLoaderApp_Python"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="HID Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.128_4" force-caption="true" workspace-name="lufa_hid_128kb_4kb_">
+		<require idref="lufa.bootloaders.hid"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
+	</project>
+
+	<project caption="HID Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.64_4" force-caption="true" workspace-name="lufa_hid_64kb_4kb_">
+		<require idref="lufa.bootloaders.hid"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb647"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
+	</project>
+
+	<project caption="HID Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.32_4" force-caption="true" workspace-name="lufa_hid_32kb_4kb_">
+		<require idref="lufa.bootloaders.hid"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega32u4"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
+	</project>
+
+	<project caption="HID Bootloader - 16KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.16_2" force-caption="true" workspace-name="lufa_hid_16kb_2kb_">
+		<require idref="lufa.bootloaders.hid"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega16u2"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x3800"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3800"/>
+	</project>
+
+	<project caption="HID Bootloader - 8KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.8_2" force-caption="true" workspace-name="lufa_hid_8kb_2kb_">
+		<require idref="lufa.bootloaders.hid"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega8u2"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x1800"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1800"/>
+	</project>
+
+	<module type="application" id="lufa.bootloaders.hid" caption="HID Bootloader">
+		<info type="description" value="summary">
+		HID Class Bootloader, capable of reprogramming a device via a custom cross-platform command line utility when plugged into a host.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Bootloaders"/>
+			<keyword value="USB Device"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="include-path" value="."/>
+		<build type="c-source" value="BootloaderHID.c"/>
+		<build type="header-file" value="BootloaderHID.h"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="BootloaderHID.txt"/>
+		<build type="distribute" subtype="directory" value="HostLoaderApp"/>
+		<build type="distribute" subtype="directory" value="HostLoaderApp_Python"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 102 - 102
Bootloaders/MassStorage/BootloaderAPITable.S

@@ -1,102 +1,102 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-#if AUX_BOOT_SECTION_SIZE > 0
-#warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation).
-
-; Trampoline to jump over the AUX bootloader section to the start of the bootloader,
-; on devices where an AUX bootloader section is used.
-.section .boot_aux_trampoline, "ax"
-.global Boot_AUX_Trampoline
-Boot_AUX_Trampoline:
-	jmp BOOT_START_ADDR
-#endif
-
-; Trampolines to actual API implementations if the target address is outside the
-; range of a rjmp instruction (can happen with large bootloader sections)
-.section .apitable_trampolines, "ax"
-.global BootloaderAPI_Trampolines
-BootloaderAPI_Trampolines:
-
-	BootloaderAPI_ErasePage_Trampoline:
-		jmp BootloaderAPI_ErasePage
-	BootloaderAPI_WritePage_Trampoline:
-		jmp BootloaderAPI_WritePage
-	BootloaderAPI_FillWord_Trampoline:
-		jmp BootloaderAPI_FillWord
-	BootloaderAPI_ReadSignature_Trampoline:
-		jmp BootloaderAPI_ReadSignature
-	BootloaderAPI_ReadFuse_Trampoline:
-		jmp BootloaderAPI_ReadFuse
-	BootloaderAPI_ReadLock_Trampoline:
-		jmp BootloaderAPI_ReadLock
-	BootloaderAPI_WriteLock_Trampoline:
-		jmp BootloaderAPI_WriteLock
-	BootloaderAPI_UNUSED1:
-		ret
-	BootloaderAPI_UNUSED2:
-		ret
-	BootloaderAPI_UNUSED3:
-		ret
-	BootloaderAPI_UNUSED4:
-		ret
-	BootloaderAPI_UNUSED5:
-		ret
-
-
-
-; API function jump table
-.section .apitable_jumptable, "ax"
-.global BootloaderAPI_JumpTable
-BootloaderAPI_JumpTable:
-
-	rjmp BootloaderAPI_ErasePage_Trampoline
-	rjmp BootloaderAPI_WritePage_Trampoline
-	rjmp BootloaderAPI_FillWord_Trampoline
-	rjmp BootloaderAPI_ReadSignature_Trampoline
-	rjmp BootloaderAPI_ReadFuse_Trampoline
-	rjmp BootloaderAPI_ReadLock_Trampoline
-	rjmp BootloaderAPI_WriteLock_Trampoline
-	rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
-	rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
-	rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
-	rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
-	rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
-
-
-
-; Bootloader table signatures and information
-.section .apitable_signatures, "ax"
-.global BootloaderAPI_Signatures
-BootloaderAPI_Signatures:
-
-	.long BOOT_START_ADDR ; Start address of the bootloader
-	.word 0xDF30 ; Signature for the MS class bootloader, V1
-	.word 0xDCFB ; Signature for a LUFA class bootloader
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+/*
+  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+  Permission to use, copy, modify, distribute, and sell this
+  software and its documentation for any purpose is hereby granted
+  without fee, provided that the above copyright notice appear in
+  all copies and that both that the copyright notice and this
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
+  software without specific, written prior permission.
+
+  The author disclaims all warranties with regard to this
+  software, including all implied warranties of merchantability
+  and fitness.  In no event shall the author be liable for any
+  special, indirect or consequential damages or any damages
+  whatsoever resulting from loss of use, data or profits, whether
+  in an action of contract, negligence or other tortious action,
+  arising out of or in connection with the use or performance of
+  this software.
+*/
+
+#if AUX_BOOT_SECTION_SIZE > 0
+#warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation).
+
+; Trampoline to jump over the AUX bootloader section to the start of the bootloader,
+; on devices where an AUX bootloader section is used.
+.section .boot_aux_trampoline, "ax"
+.global Boot_AUX_Trampoline
+Boot_AUX_Trampoline:
+	jmp BOOT_START_ADDR
+#endif
+
+; Trampolines to actual API implementations if the target address is outside the
+; range of a rjmp instruction (can happen with large bootloader sections)
+.section .apitable_trampolines, "ax"
+.global BootloaderAPI_Trampolines
+BootloaderAPI_Trampolines:
+
+	BootloaderAPI_ErasePage_Trampoline:
+		jmp BootloaderAPI_ErasePage
+	BootloaderAPI_WritePage_Trampoline:
+		jmp BootloaderAPI_WritePage
+	BootloaderAPI_FillWord_Trampoline:
+		jmp BootloaderAPI_FillWord
+	BootloaderAPI_ReadSignature_Trampoline:
+		jmp BootloaderAPI_ReadSignature
+	BootloaderAPI_ReadFuse_Trampoline:
+		jmp BootloaderAPI_ReadFuse
+	BootloaderAPI_ReadLock_Trampoline:
+		jmp BootloaderAPI_ReadLock
+	BootloaderAPI_WriteLock_Trampoline:
+		jmp BootloaderAPI_WriteLock
+	BootloaderAPI_UNUSED1:
+		ret
+	BootloaderAPI_UNUSED2:
+		ret
+	BootloaderAPI_UNUSED3:
+		ret
+	BootloaderAPI_UNUSED4:
+		ret
+	BootloaderAPI_UNUSED5:
+		ret
+
+
+
+; API function jump table
+.section .apitable_jumptable, "ax"
+.global BootloaderAPI_JumpTable
+BootloaderAPI_JumpTable:
+
+	rjmp BootloaderAPI_ErasePage_Trampoline
+	rjmp BootloaderAPI_WritePage_Trampoline
+	rjmp BootloaderAPI_FillWord_Trampoline
+	rjmp BootloaderAPI_ReadSignature_Trampoline
+	rjmp BootloaderAPI_ReadFuse_Trampoline
+	rjmp BootloaderAPI_ReadLock_Trampoline
+	rjmp BootloaderAPI_WriteLock_Trampoline
+	rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
+	rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
+	rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
+	rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
+	rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
+
+
+
+; Bootloader table signatures and information
+.section .apitable_signatures, "ax"
+.global BootloaderAPI_Signatures
+BootloaderAPI_Signatures:
+
+	.long BOOT_START_ADDR ; Start address of the bootloader
+	.word 0xDF30 ; Signature for the MS class bootloader, V1
+	.word 0xDCFB ; Signature for a LUFA class bootloader

+ 156 - 156
Bootloaders/MassStorage/asf.xml

@@ -1,156 +1,156 @@
-<asf xmlversion="1.0">
-	<project caption="Mass Storage Bootloader - 128KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.128_8" force-caption="true" workspace-name="lufa_ms_128kb_8kb_">
-		<require idref="lufa.bootloaders.mass_storage"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x1E000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1E000"/>
-
-		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="Mass Storage Bootloader - 64KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.64_8" force-caption="true" workspace-name="lufa_ms_64kb_8kb_">
-		<require idref="lufa.bootloaders.mass_storage"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb647"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0xE000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0xE000"/>
-
-		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="Mass Storage Bootloader - 32KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.32_4" force-caption="true" workspace-name="lufa_ms_32kb_4kb_">
-		<require idref="lufa.bootloaders.mass_storage"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega32u4"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
-
-		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x6810"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x6800"/>
-		<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="Mass Storage Bootloader - 16KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.16_4" force-caption="true" workspace-name="lufa_ms_16kb_4kb_">
-		<require idref="lufa.bootloaders.mass_storage"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega16u2"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
-
-		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x2810"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x2800"/>
-		<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<module type="application" id="lufa.bootloaders.mass_storage" caption="Mass Storage Bootloader">
-		<info type="description" value="summary">
-		Mass Storage Class Bootloader, capable of reprogramming a device via binary BIN files copied to the virtual FAT12 file-system it creates when plugged into a host.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Bootloaders"/>
-			<keyword value="USB Device"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="include-path" value="."/>
-		<build type="c-source" value="BootloaderMassStorage.c"/>
-		<build type="header-file" value="BootloaderMassStorage.h"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="c-source" value="BootloaderAPI.c"/>
-		<build type="header-file" value="BootloaderAPI.h"/>
-		<build type="asm-source" value="BootloaderAPITable.S"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-
-		<build type="include-path" value="Lib"/>
-		<build type="header-file" value="Lib/VirtualFAT.h"/>
-		<build type="c-source" value="Lib/VirtualFAT.c"/>
-		<build type="header-file" value="Lib/SCSI.h"/>
-		<build type="c-source" value="Lib/SCSI.c"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="BootloaderMassStorage.txt"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mass Storage Bootloader - 128KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.128_8" force-caption="true" workspace-name="lufa_ms_128kb_8kb_">
+		<require idref="lufa.bootloaders.mass_storage"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x1E000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1E000"/>
+
+		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="Mass Storage Bootloader - 64KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.64_8" force-caption="true" workspace-name="lufa_ms_64kb_8kb_">
+		<require idref="lufa.bootloaders.mass_storage"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb647"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0xE000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0xE000"/>
+
+		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="Mass Storage Bootloader - 32KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.32_4" force-caption="true" workspace-name="lufa_ms_32kb_4kb_">
+		<require idref="lufa.bootloaders.mass_storage"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega32u4"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
+
+		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x6810"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x6800"/>
+		<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="Mass Storage Bootloader - 16KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.16_4" force-caption="true" workspace-name="lufa_ms_16kb_4kb_">
+		<require idref="lufa.bootloaders.mass_storage"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega16u2"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
+
+		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x2810"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x2800"/>
+		<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<module type="application" id="lufa.bootloaders.mass_storage" caption="Mass Storage Bootloader">
+		<info type="description" value="summary">
+		Mass Storage Class Bootloader, capable of reprogramming a device via binary BIN files copied to the virtual FAT12 file-system it creates when plugged into a host.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Bootloaders"/>
+			<keyword value="USB Device"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="include-path" value="."/>
+		<build type="c-source" value="BootloaderMassStorage.c"/>
+		<build type="header-file" value="BootloaderMassStorage.h"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="c-source" value="BootloaderAPI.c"/>
+		<build type="header-file" value="BootloaderAPI.h"/>
+		<build type="asm-source" value="BootloaderAPITable.S"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+
+		<build type="include-path" value="Lib"/>
+		<build type="header-file" value="Lib/VirtualFAT.h"/>
+		<build type="c-source" value="Lib/VirtualFAT.c"/>
+		<build type="header-file" value="Lib/SCSI.h"/>
+		<build type="c-source" value="Lib/SCSI.c"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="BootloaderMassStorage.txt"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 75 - 75
Bootloaders/MassStorage/makefile

@@ -1,75 +1,75 @@
-#
-#             LUFA Library
-#     Copyright (C) Dean Camera, 2017.
-#
-#  dean [at] fourwalledcubicle [dot] com
-#           www.lufa-lib.org
-#
-# --------------------------------------
-#         LUFA Project Makefile.
-# --------------------------------------
-
-# Run "make help" for target help.
-
-MCU          = at90usb1287
-ARCH         = AVR8
-BOARD        = USBKEY
-F_CPU        = 8000000
-F_USB        = $(F_CPU)
-OPTIMIZATION = s
-TARGET       = BootloaderMassStorage
-SRC          = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
-LUFA_PATH    = ../../LUFA
-CC_FLAGS     = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
-LD_FLAGS     = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
-
-# Flash size and bootloader section sizes of the target, in KB. These must
-# match the target's total FLASH size and the bootloader size set in the
-# device's fuses.
-FLASH_SIZE_KB         = 128
-BOOT_SECTION_SIZE_KB  = 8
-
-# Bootloader address calculation formulas
-# Do not modify these macros, but rather modify the dependent values above.
-CALC_ADDRESS_IN_HEX   = $(shell printf "0x%X" $$(( $(1) )) )
-BOOT_START_OFFSET     = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
-BOOT_SEC_OFFSET       = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
-
-# Bootloader linker section flags for relocating the API table sections to
-# known FLASH addresses - these should not normally be user-edited.
-BOOT_SECTION_LD_FLAG  = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
-BOOT_API_LD_FLAGS     = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
-BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable,   BootloaderAPI_JumpTable,   32)
-BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures,  BootloaderAPI_Signatures,  8)
-
-# Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the
-# bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum
-# bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices.
-ifeq ($(BOOT_SECTION_SIZE_KB),8)
-  CC_FLAGS           += -DAUX_BOOT_SECTION_SIZE=0
-else
-  AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB))
-
-  CC_FLAGS           += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)'
-  LD_FLAGS           += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16))
-  LD_FLAGS           += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024)
-endif
-
-# Default target
-all:
-
-# Include LUFA-specific DMBS extension modules
-DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
-include $(DMBS_LUFA_PATH)/lufa-sources.mk
-include $(DMBS_LUFA_PATH)/lufa-gcc.mk
-
-# Include common DMBS build system modules
-DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
-include $(DMBS_PATH)/core.mk
-include $(DMBS_PATH)/cppcheck.mk
-include $(DMBS_PATH)/doxygen.mk
-include $(DMBS_PATH)/dfu.mk
-include $(DMBS_PATH)/gcc.mk
-include $(DMBS_PATH)/hid.mk
-include $(DMBS_PATH)/avrdude.mk
-include $(DMBS_PATH)/atprogram.mk
+#
+#             LUFA Library
+#     Copyright (C) Dean Camera, 2017.
+#
+#  dean [at] fourwalledcubicle [dot] com
+#           www.lufa-lib.org
+#
+# --------------------------------------
+#         LUFA Project Makefile.
+# --------------------------------------
+
+# Run "make help" for target help.
+
+MCU          = at90usb1287
+ARCH         = AVR8
+BOARD        = USBKEY
+F_CPU        = 8000000
+F_USB        = $(F_CPU)
+OPTIMIZATION = s
+TARGET       = BootloaderMassStorage
+SRC          = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
+LUFA_PATH    = ../../LUFA
+CC_FLAGS     = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
+LD_FLAGS     = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
+
+# Flash size and bootloader section sizes of the target, in KB. These must
+# match the target's total FLASH size and the bootloader size set in the
+# device's fuses.
+FLASH_SIZE_KB         = 128
+BOOT_SECTION_SIZE_KB  = 8
+
+# Bootloader address calculation formulas
+# Do not modify these macros, but rather modify the dependent values above.
+CALC_ADDRESS_IN_HEX   = $(shell printf "0x%X" $$(( $(1) )) )
+BOOT_START_OFFSET     = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
+BOOT_SEC_OFFSET       = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
+
+# Bootloader linker section flags for relocating the API table sections to
+# known FLASH addresses - these should not normally be user-edited.
+BOOT_SECTION_LD_FLAG  = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
+BOOT_API_LD_FLAGS     = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
+BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable,   BootloaderAPI_JumpTable,   32)
+BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures,  BootloaderAPI_Signatures,  8)
+
+# Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the
+# bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum
+# bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices.
+ifeq ($(BOOT_SECTION_SIZE_KB),8)
+  CC_FLAGS           += -DAUX_BOOT_SECTION_SIZE=0
+else
+  AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB))
+
+  CC_FLAGS           += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)'
+  LD_FLAGS           += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16))
+  LD_FLAGS           += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024)
+endif
+
+# Default target
+all:
+
+# Include LUFA-specific DMBS extension modules
+DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
+include $(DMBS_LUFA_PATH)/lufa-sources.mk
+include $(DMBS_LUFA_PATH)/lufa-gcc.mk
+
+# Include common DMBS build system modules
+DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
+include $(DMBS_PATH)/core.mk
+include $(DMBS_PATH)/cppcheck.mk
+include $(DMBS_PATH)/doxygen.mk
+include $(DMBS_PATH)/dfu.mk
+include $(DMBS_PATH)/gcc.mk
+include $(DMBS_PATH)/hid.mk
+include $(DMBS_PATH)/avrdude.mk
+include $(DMBS_PATH)/atprogram.mk

+ 91 - 91
Bootloaders/Printer/BootloaderAPITable.S

@@ -1,91 +1,91 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-; Trampolines to actual API implementations if the target address is outside the
-; range of a rjmp instruction (can happen with large bootloader sections)
-.section .apitable_trampolines, "ax"
-.global BootloaderAPI_Trampolines
-BootloaderAPI_Trampolines:
-
-	BootloaderAPI_ErasePage_Trampoline:
-		jmp BootloaderAPI_ErasePage
-	BootloaderAPI_WritePage_Trampoline:
-		jmp BootloaderAPI_WritePage
-	BootloaderAPI_FillWord_Trampoline:
-		jmp BootloaderAPI_FillWord
-	BootloaderAPI_ReadSignature_Trampoline:
-		jmp BootloaderAPI_ReadSignature
-	BootloaderAPI_ReadFuse_Trampoline:
-		jmp BootloaderAPI_ReadFuse
-	BootloaderAPI_ReadLock_Trampoline:
-		jmp BootloaderAPI_ReadLock
-	BootloaderAPI_WriteLock_Trampoline:
-		jmp BootloaderAPI_WriteLock
-	BootloaderAPI_UNUSED1:
-		ret
-	BootloaderAPI_UNUSED2:
-		ret
-	BootloaderAPI_UNUSED3:
-		ret
-	BootloaderAPI_UNUSED4:
-		ret
-	BootloaderAPI_UNUSED5:
-		ret
-
-
-
-; API function jump table
-.section .apitable_jumptable, "ax"
-.global BootloaderAPI_JumpTable
-BootloaderAPI_JumpTable:
-
-	rjmp BootloaderAPI_ErasePage_Trampoline
-	rjmp BootloaderAPI_WritePage_Trampoline
-	rjmp BootloaderAPI_FillWord_Trampoline
-	rjmp BootloaderAPI_ReadSignature_Trampoline
-	rjmp BootloaderAPI_ReadFuse_Trampoline
-	rjmp BootloaderAPI_ReadLock_Trampoline
-	rjmp BootloaderAPI_WriteLock_Trampoline
-	rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
-	rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
-	rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
-	rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
-	rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
-
-
-
-; Bootloader table signatures and information
-.section .apitable_signatures, "ax"
-.global BootloaderAPI_Signatures
-BootloaderAPI_Signatures:
-
-	.long BOOT_START_ADDR ; Start address of the bootloader
-	.word 0xDF20 ; Signature for the Printer class bootloader
-	.word 0xDCFB ; Signature for a LUFA class bootloader
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+/*
+  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+  Permission to use, copy, modify, distribute, and sell this
+  software and its documentation for any purpose is hereby granted
+  without fee, provided that the above copyright notice appear in
+  all copies and that both that the copyright notice and this
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
+  software without specific, written prior permission.
+
+  The author disclaims all warranties with regard to this
+  software, including all implied warranties of merchantability
+  and fitness.  In no event shall the author be liable for any
+  special, indirect or consequential damages or any damages
+  whatsoever resulting from loss of use, data or profits, whether
+  in an action of contract, negligence or other tortious action,
+  arising out of or in connection with the use or performance of
+  this software.
+*/
+
+; Trampolines to actual API implementations if the target address is outside the
+; range of a rjmp instruction (can happen with large bootloader sections)
+.section .apitable_trampolines, "ax"
+.global BootloaderAPI_Trampolines
+BootloaderAPI_Trampolines:
+
+	BootloaderAPI_ErasePage_Trampoline:
+		jmp BootloaderAPI_ErasePage
+	BootloaderAPI_WritePage_Trampoline:
+		jmp BootloaderAPI_WritePage
+	BootloaderAPI_FillWord_Trampoline:
+		jmp BootloaderAPI_FillWord
+	BootloaderAPI_ReadSignature_Trampoline:
+		jmp BootloaderAPI_ReadSignature
+	BootloaderAPI_ReadFuse_Trampoline:
+		jmp BootloaderAPI_ReadFuse
+	BootloaderAPI_ReadLock_Trampoline:
+		jmp BootloaderAPI_ReadLock
+	BootloaderAPI_WriteLock_Trampoline:
+		jmp BootloaderAPI_WriteLock
+	BootloaderAPI_UNUSED1:
+		ret
+	BootloaderAPI_UNUSED2:
+		ret
+	BootloaderAPI_UNUSED3:
+		ret
+	BootloaderAPI_UNUSED4:
+		ret
+	BootloaderAPI_UNUSED5:
+		ret
+
+
+
+; API function jump table
+.section .apitable_jumptable, "ax"
+.global BootloaderAPI_JumpTable
+BootloaderAPI_JumpTable:
+
+	rjmp BootloaderAPI_ErasePage_Trampoline
+	rjmp BootloaderAPI_WritePage_Trampoline
+	rjmp BootloaderAPI_FillWord_Trampoline
+	rjmp BootloaderAPI_ReadSignature_Trampoline
+	rjmp BootloaderAPI_ReadFuse_Trampoline
+	rjmp BootloaderAPI_ReadLock_Trampoline
+	rjmp BootloaderAPI_WriteLock_Trampoline
+	rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
+	rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
+	rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
+	rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
+	rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
+
+
+
+; Bootloader table signatures and information
+.section .apitable_signatures, "ax"
+.global BootloaderAPI_Signatures
+BootloaderAPI_Signatures:
+
+	.long BOOT_START_ADDR ; Start address of the bootloader
+	.word 0xDF20 ; Signature for the Printer class bootloader
+	.word 0xDCFB ; Signature for a LUFA class bootloader

+ 159 - 159
Bootloaders/Printer/asf.xml

@@ -1,159 +1,159 @@
-<asf xmlversion="1.0">
-	<project caption="Printer Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.128_4" force-caption="true" workspace-name="lufa_printer_128kb_4kb_">
-		<require idref="lufa.bootloaders.printer"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="Printer Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.64_4" force-caption="true" workspace-name="lufa_printer_64kb_4kb_">
-		<require idref="lufa.bootloaders.printer"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb647"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="Printer Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.32_4" force-caption="true" workspace-name="lufa_printer_32kb_4kb_">
-		<require idref="lufa.bootloaders.printer"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega32u4"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="Printer Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.16_4" force-caption="true" workspace-name="lufa_printer_16kb_4kb_">
-		<require idref="lufa.bootloaders.printer"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega16u2"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<project caption="Printer Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.8_4" force-caption="true" workspace-name="lufa_printer_8kb_4kb_">
-		<require idref="lufa.bootloaders.printer"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atmega8u2"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<config name="config.compiler.optimization.level" value="size"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-
-		<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
-
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
-		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
-		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
-	</project>
-
-	<module type="application" id="lufa.bootloaders.printer" caption="Printer Bootloader">
-		<info type="description" value="summary">
-		Printer Class Bootloader, capable of reprogramming a device by "printing" new HEX files to the virtual Plain-Text printer it creates when plugged into a host.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Bootloaders"/>
-			<keyword value="USB Device"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="include-path" value="."/>
-		<build type="c-source" value="BootloaderPrinter.c"/>
-		<build type="header-file" value="BootloaderPrinter.h"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="c-source" value="BootloaderAPI.c"/>
-		<build type="header-file" value="BootloaderAPI.h"/>
-		<build type="asm-source" value="BootloaderAPITable.S"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="BootloaderPrinter.txt"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Printer Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.128_4" force-caption="true" workspace-name="lufa_printer_128kb_4kb_">
+		<require idref="lufa.bootloaders.printer"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="Printer Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.64_4" force-caption="true" workspace-name="lufa_printer_64kb_4kb_">
+		<require idref="lufa.bootloaders.printer"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb647"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="Printer Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.32_4" force-caption="true" workspace-name="lufa_printer_32kb_4kb_">
+		<require idref="lufa.bootloaders.printer"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega32u4"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="Printer Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.16_4" force-caption="true" workspace-name="lufa_printer_16kb_4kb_">
+		<require idref="lufa.bootloaders.printer"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega16u2"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<project caption="Printer Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.8_4" force-caption="true" workspace-name="lufa_printer_8kb_4kb_">
+		<require idref="lufa.bootloaders.printer"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atmega8u2"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<config name="config.compiler.optimization.level" value="size"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+
+		<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
+
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
+		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
+		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
+	</project>
+
+	<module type="application" id="lufa.bootloaders.printer" caption="Printer Bootloader">
+		<info type="description" value="summary">
+		Printer Class Bootloader, capable of reprogramming a device by "printing" new HEX files to the virtual Plain-Text printer it creates when plugged into a host.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Bootloaders"/>
+			<keyword value="USB Device"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="include-path" value="."/>
+		<build type="c-source" value="BootloaderPrinter.c"/>
+		<build type="header-file" value="BootloaderPrinter.h"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="c-source" value="BootloaderAPI.c"/>
+		<build type="header-file" value="BootloaderAPI.h"/>
+		<build type="asm-source" value="BootloaderAPITable.S"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="BootloaderPrinter.txt"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 62 - 62
Bootloaders/Printer/makefile

@@ -1,62 +1,62 @@
-#
-#             LUFA Library
-#     Copyright (C) Dean Camera, 2017.
-#
-#  dean [at] fourwalledcubicle [dot] com
-#           www.lufa-lib.org
-#
-# --------------------------------------
-#         LUFA Project Makefile.
-# --------------------------------------
-
-# Run "make help" for target help.
-
-MCU          = at90usb1287
-ARCH         = AVR8
-BOARD        = USBKEY
-F_CPU        = 8000000
-F_USB        = $(F_CPU)
-OPTIMIZATION = s
-TARGET       = BootloaderPrinter
-SRC          = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
-LUFA_PATH    = ../../LUFA
-CC_FLAGS     = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
-LD_FLAGS     = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
-
-# Flash size and bootloader section sizes of the target, in KB. These must
-# match the target's total FLASH size and the bootloader size set in the
-# device's fuses.
-FLASH_SIZE_KB         = 128
-BOOT_SECTION_SIZE_KB  = 8
-
-# Bootloader address calculation formulas
-# Do not modify these macros, but rather modify the dependent values above.
-CALC_ADDRESS_IN_HEX   = $(shell printf "0x%X" $$(( $(1) )) )
-BOOT_START_OFFSET     = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
-BOOT_SEC_OFFSET       = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
-
-# Bootloader linker section flags for relocating the API table sections to
-# known FLASH addresses - these should not normally be user-edited.
-BOOT_SECTION_LD_FLAG  = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
-BOOT_API_LD_FLAGS     = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
-BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable,   BootloaderAPI_JumpTable,   32)
-BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures,  BootloaderAPI_Signatures,  8)
-
-# Default target
-all:
-
-# Include LUFA-specific DMBS extension modules
-DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
-include $(DMBS_LUFA_PATH)/lufa-sources.mk
-include $(DMBS_LUFA_PATH)/lufa-gcc.mk
-
-# Include common DMBS build system modules
-DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
-include $(DMBS_PATH)/core.mk
-include $(DMBS_PATH)/cppcheck.mk
-include $(DMBS_PATH)/doxygen.mk
-include $(DMBS_PATH)/dfu.mk
-include $(DMBS_PATH)/gcc.mk
-include $(DMBS_PATH)/hid.mk
-include $(DMBS_PATH)/avrdude.mk
-include $(DMBS_PATH)/atprogram.mk
+#
+#             LUFA Library
+#     Copyright (C) Dean Camera, 2017.
+#
+#  dean [at] fourwalledcubicle [dot] com
+#           www.lufa-lib.org
+#
+# --------------------------------------
+#         LUFA Project Makefile.
+# --------------------------------------
+
+# Run "make help" for target help.
+
+MCU          = at90usb1287
+ARCH         = AVR8
+BOARD        = USBKEY
+F_CPU        = 8000000
+F_USB        = $(F_CPU)
+OPTIMIZATION = s
+TARGET       = BootloaderPrinter
+SRC          = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
+LUFA_PATH    = ../../LUFA
+CC_FLAGS     = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
+LD_FLAGS     = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
+
+# Flash size and bootloader section sizes of the target, in KB. These must
+# match the target's total FLASH size and the bootloader size set in the
+# device's fuses.
+FLASH_SIZE_KB         = 128
+BOOT_SECTION_SIZE_KB  = 8
+
+# Bootloader address calculation formulas
+# Do not modify these macros, but rather modify the dependent values above.
+CALC_ADDRESS_IN_HEX   = $(shell printf "0x%X" $$(( $(1) )) )
+BOOT_START_OFFSET     = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
+BOOT_SEC_OFFSET       = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
+
+# Bootloader linker section flags for relocating the API table sections to
+# known FLASH addresses - these should not normally be user-edited.
+BOOT_SECTION_LD_FLAG  = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
+BOOT_API_LD_FLAGS     = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
+BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable,   BootloaderAPI_JumpTable,   32)
+BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures,  BootloaderAPI_Signatures,  8)
+
+# Default target
+all:
+
+# Include LUFA-specific DMBS extension modules
+DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
+include $(DMBS_LUFA_PATH)/lufa-sources.mk
+include $(DMBS_LUFA_PATH)/lufa-gcc.mk
+
+# Include common DMBS build system modules
+DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
+include $(DMBS_PATH)/core.mk
+include $(DMBS_PATH)/cppcheck.mk
+include $(DMBS_PATH)/doxygen.mk
+include $(DMBS_PATH)/dfu.mk
+include $(DMBS_PATH)/gcc.mk
+include $(DMBS_PATH)/hid.mk
+include $(DMBS_PATH)/avrdude.mk
+include $(DMBS_PATH)/atprogram.mk

+ 52 - 52
Demos/Device/ClassDriver/AudioInput/asf.xml

@@ -1,52 +1,52 @@
-<asf xmlversion="1.0">
-	<project caption="Audio Input Device Demo (Class Driver APIs)" id="lufa.demos.device.class.audio_input.example.avr8">
-		<require idref="lufa.demos.device.class.audio_input"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.audio_input" caption="Audio Input Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Audio 1.0 Input device demo, implementing a basic USB microphone. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="Audio Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AudioInput.txt"/>
-
-		<build type="c-source" value="AudioInput.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="AudioInput.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.adc"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Audio Input Device Demo (Class Driver APIs)" id="lufa.demos.device.class.audio_input.example.avr8">
+		<require idref="lufa.demos.device.class.audio_input"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.audio_input" caption="Audio Input Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Audio 1.0 Input device demo, implementing a basic USB microphone. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="Audio Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AudioInput.txt"/>
+
+		<build type="c-source" value="AudioInput.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="AudioInput.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.adc"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 50 - 50
Demos/Device/ClassDriver/AudioOutput/asf.xml

@@ -1,50 +1,50 @@
-<asf xmlversion="1.0">
-	<project caption="Audio Output Device Demo (Class Driver APIs)" id="lufa.demos.device.class.audio_output.example.avr8">
-		<require idref="lufa.demos.device.class.audio_output"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.audio_output" caption="Audio Output Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Audio 1.0 Output device demo, implementing a basic USB speaker. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="Audio Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AudioOutput.txt"/>
-
-		<build type="c-source" value="AudioOutput.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="AudioOutput.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Audio Output Device Demo (Class Driver APIs)" id="lufa.demos.device.class.audio_output.example.avr8">
+		<require idref="lufa.demos.device.class.audio_output"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.audio_output" caption="Audio Output Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Audio 1.0 Output device demo, implementing a basic USB speaker. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="Audio Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AudioOutput.txt"/>
+
+		<build type="c-source" value="AudioOutput.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="AudioOutput.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/ClassDriver/DualVirtualSerial/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Dual Virtual Serial Device Demo (Class Driver APIs)" id="lufa.demos.device.class.dual_cdc.example.avr8">
-		<require idref="lufa.demos.device.class.dual_cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Dual Virtual Serial Device Demo (Class Driver APIs)" id="lufa.demos.device.class.dual_cdc.example.xmega">
-		<require idref="lufa.demos.device.class.dual_cdc"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.dual_cdc" caption="Dual Virtual Serial Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Dual Virtual Serial (CDC) demo, implementing a pair of virtual serial port interfaces. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="CDC Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="DualVirtualSerial.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA DualVirtualSerial.inf"/>
-
-		<build type="c-source" value="DualVirtualSerial.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="DualVirtualSerial.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Dual Virtual Serial Device Demo (Class Driver APIs)" id="lufa.demos.device.class.dual_cdc.example.avr8">
+		<require idref="lufa.demos.device.class.dual_cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Dual Virtual Serial Device Demo (Class Driver APIs)" id="lufa.demos.device.class.dual_cdc.example.xmega">
+		<require idref="lufa.demos.device.class.dual_cdc"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.dual_cdc" caption="Dual Virtual Serial Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Dual Virtual Serial (CDC) demo, implementing a pair of virtual serial port interfaces. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="CDC Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="DualVirtualSerial.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA DualVirtualSerial.inf"/>
+
+		<build type="c-source" value="DualVirtualSerial.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="DualVirtualSerial.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 63 - 63
Demos/Device/ClassDriver/GenericHID/asf.xml

@@ -1,63 +1,63 @@
-<asf xmlversion="1.0">
-	<project caption="Generic HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.generic_hid.example.avr8">
-		<require idref="lufa.demos.device.class.generic_hid"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Generic HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.generic_hid.example.xmega">
-		<require idref="lufa.demos.device.class.generic_hid"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.generic_hid" caption="Generic HID Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Generic HID device demo, implementing a device whose LEDs can be controlled via HID messages from the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="GenericHID.txt"/>
-		<build type="distribute" subtype="directory" value="HostTestApp"/>
-
-		<build type="c-source" value="GenericHID.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="GenericHID.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Generic HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.generic_hid.example.avr8">
+		<require idref="lufa.demos.device.class.generic_hid"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Generic HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.generic_hid.example.xmega">
+		<require idref="lufa.demos.device.class.generic_hid"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.generic_hid" caption="Generic HID Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Generic HID device demo, implementing a device whose LEDs can be controlled via HID messages from the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="GenericHID.txt"/>
+		<build type="distribute" subtype="directory" value="HostTestApp"/>
+
+		<build type="c-source" value="GenericHID.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="GenericHID.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/ClassDriver/Joystick/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Joystick HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.joystick.example.avr8">
-		<require idref="lufa.demos.device.class.joystick"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Joystick HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.joystick.example.xmega">
-		<require idref="lufa.demos.device.class.joystick"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.joystick" caption="Joystick HID Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Joystick HID device demo, implementing a basic USB joystick that can send movement information to the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="Joystick.txt"/>
-
-		<build type="c-source" value="Joystick.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Joystick.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Joystick HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.joystick.example.avr8">
+		<require idref="lufa.demos.device.class.joystick"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Joystick HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.joystick.example.xmega">
+		<require idref="lufa.demos.device.class.joystick"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.joystick" caption="Joystick HID Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Joystick HID device demo, implementing a basic USB joystick that can send movement information to the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="Joystick.txt"/>
+
+		<build type="c-source" value="Joystick.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Joystick.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/ClassDriver/Keyboard/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Keyboard HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard.example.avr8">
-		<require idref="lufa.demos.device.class.keyboard"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Keyboard HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard.example.xmega">
-		<require idref="lufa.demos.device.class.keyboard"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.keyboard" caption="Keyboard HID Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Keyboard HID device demo, implementing a basic USB keyboard that can send key press information to the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="Keyboard.txt"/>
-
-		<build type="c-source" value="Keyboard.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Keyboard.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Keyboard HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard.example.avr8">
+		<require idref="lufa.demos.device.class.keyboard"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Keyboard HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard.example.xmega">
+		<require idref="lufa.demos.device.class.keyboard"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.keyboard" caption="Keyboard HID Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Keyboard HID device demo, implementing a basic USB keyboard that can send key press information to the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="Keyboard.txt"/>
+
+		<build type="c-source" value="Keyboard.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Keyboard.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/ClassDriver/KeyboardMouse/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Keyboard and Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard_mouse.example.avr8">
-		<require idref="lufa.demos.device.class.keyboard_mouse"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Keyboard and Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard_mouse.example.xmega">
-		<require idref="lufa.demos.device.class.keyboard_mouse"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.keyboard_mouse" caption="Keyboard and Mouse HID Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Keyboard and Mouse HID device demo, implementing a basic USB keyboard and mouse using a pair of HID interfaces. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="KeyboardMouse.txt"/>
-
-		<build type="c-source" value="KeyboardMouse.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="KeyboardMouse.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Keyboard and Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard_mouse.example.avr8">
+		<require idref="lufa.demos.device.class.keyboard_mouse"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Keyboard and Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard_mouse.example.xmega">
+		<require idref="lufa.demos.device.class.keyboard_mouse"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.keyboard_mouse" caption="Keyboard and Mouse HID Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Keyboard and Mouse HID device demo, implementing a basic USB keyboard and mouse using a pair of HID interfaces. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="KeyboardMouse.txt"/>
+
+		<build type="c-source" value="KeyboardMouse.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="KeyboardMouse.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 61 - 61
Demos/Device/ClassDriver/KeyboardMouseMultiReport/asf.xml

@@ -1,61 +1,61 @@
-<asf xmlversion="1.0">
-	<project caption="Keyboard and Mouse HID (Multi Report) Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard_mouse_mr.example.avr8">
-		<require idref="lufa.demos.device.class.keyboard_mouse_mr"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Keyboard and Mouse HID (Multi Report) Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard_mouse_mr.example.xmega">
-		<require idref="lufa.demos.device.class.keyboard_mouse_mr"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.keyboard_mouse_mr" caption="Keyboard and Mouse HID (Multi Report) Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Keyboard and Mouse HID device demo, implementing a basic USB keyboard and mouse using a single HID interface and multiple logical reports. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="KeyboardMouseMultiReport.txt"/>
-
-		<build type="c-source" value="KeyboardMouseMultiReport.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="KeyboardMouseMultiReport.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Keyboard and Mouse HID (Multi Report) Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard_mouse_mr.example.avr8">
+		<require idref="lufa.demos.device.class.keyboard_mouse_mr"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Keyboard and Mouse HID (Multi Report) Device Demo (Class Driver APIs)" id="lufa.demos.device.class.keyboard_mouse_mr.example.xmega">
+		<require idref="lufa.demos.device.class.keyboard_mouse_mr"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.keyboard_mouse_mr" caption="Keyboard and Mouse HID (Multi Report) Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Keyboard and Mouse HID device demo, implementing a basic USB keyboard and mouse using a single HID interface and multiple logical reports. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="KeyboardMouseMultiReport.txt"/>
+
+		<build type="c-source" value="KeyboardMouseMultiReport.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="KeyboardMouseMultiReport.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/ClassDriver/MIDI/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="MIDI Device Demo (Class Driver APIs)" id="lufa.demos.device.class.midi.example.avr8">
-		<require idref="lufa.demos.device.class.midi"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="MIDI Device Demo (Class Driver APIs)" id="lufa.demos.device.class.midi.example.xmega">
-		<require idref="lufa.demos.device.class.midi"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.midi" caption="MIDI Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		MIDI device demo, implementing a basic USB MIDI device that can send messages to the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="MIDI Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MIDI.txt"/>
-
-		<build type="c-source" value="MIDI.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="MIDI.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="MIDI Device Demo (Class Driver APIs)" id="lufa.demos.device.class.midi.example.avr8">
+		<require idref="lufa.demos.device.class.midi"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="MIDI Device Demo (Class Driver APIs)" id="lufa.demos.device.class.midi.example.xmega">
+		<require idref="lufa.demos.device.class.midi"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.midi" caption="MIDI Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		MIDI device demo, implementing a basic USB MIDI device that can send messages to the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="MIDI Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MIDI.txt"/>
+
+		<build type="c-source" value="MIDI.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="MIDI.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 67 - 67
Demos/Device/ClassDriver/MassStorage/asf.xml

@@ -1,67 +1,67 @@
-<asf xmlversion="1.0">
-	<project caption="Mass Storage Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mass_storage.example.avr8">
-		<require idref="lufa.demos.device.class.mass_storage"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Mass Storage Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mass_storage.example.xmega">
-		<require idref="lufa.demos.device.class.mass_storage"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.mass_storage" caption="Mass Storage Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Mass Storage device demo, implementing a basic USB storage disk using a Dataflash memory IC. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="Mass Storage Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MassStorage.txt"/>
-
-		<build type="c-source" value="MassStorage.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="c-source" value="Lib/DataflashManager.c"/>
-		<build type="c-source" value="Lib/SCSI.c"/>
-		<build type="header-file" value="MassStorage.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="header-file" value="Lib/DataflashManager.h"/>
-		<build type="header-file" value="Lib/SCSI.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.dataflash"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mass Storage Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mass_storage.example.avr8">
+		<require idref="lufa.demos.device.class.mass_storage"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Mass Storage Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mass_storage.example.xmega">
+		<require idref="lufa.demos.device.class.mass_storage"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.mass_storage" caption="Mass Storage Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Mass Storage device demo, implementing a basic USB storage disk using a Dataflash memory IC. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="Mass Storage Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MassStorage.txt"/>
+
+		<build type="c-source" value="MassStorage.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="c-source" value="Lib/DataflashManager.c"/>
+		<build type="c-source" value="Lib/SCSI.c"/>
+		<build type="header-file" value="MassStorage.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="header-file" value="Lib/DataflashManager.h"/>
+		<build type="header-file" value="Lib/SCSI.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.dataflash"/>
+	</module>
+</asf>

+ 70 - 70
Demos/Device/ClassDriver/MassStorageKeyboard/asf.xml

@@ -1,70 +1,70 @@
-<asf xmlversion="1.0">
-	<project caption="Mass Storage and HID Keyboard Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mass_storage_keyboard.example.avr8">
-		<require idref="lufa.demos.device.class.mass_storage_keyboard"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Mass Storage and HID Keyboard Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mass_storage_keyboard.example.xmega">
-		<require idref="lufa.demos.device.class.mass_storage_keyboard"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.mass_storage_keyboard" caption="Mass Storage and HID Keyboard Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Mass Storage and Keyboard device demo, implementing a basic USB storage disk using a Dataflash memory IC, and a basic HID keyboard. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-			<keyword value="Mass Storage Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MassStorageKeyboard.txt"/>
-
-		<build type="c-source" value="MassStorageKeyboard.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="c-source" value="Lib/DataflashManager.c"/>
-		<build type="c-source" value="Lib/SCSI.c"/>
-		<build type="header-file" value="MassStorageKeyboard.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="header-file" value="Lib/DataflashManager.h"/>
-		<build type="header-file" value="Lib/SCSI.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-		<require idref="lufa.drivers.board.dataflash"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mass Storage and HID Keyboard Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mass_storage_keyboard.example.avr8">
+		<require idref="lufa.demos.device.class.mass_storage_keyboard"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Mass Storage and HID Keyboard Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mass_storage_keyboard.example.xmega">
+		<require idref="lufa.demos.device.class.mass_storage_keyboard"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.mass_storage_keyboard" caption="Mass Storage and HID Keyboard Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Mass Storage and Keyboard device demo, implementing a basic USB storage disk using a Dataflash memory IC, and a basic HID keyboard. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+			<keyword value="Mass Storage Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MassStorageKeyboard.txt"/>
+
+		<build type="c-source" value="MassStorageKeyboard.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="c-source" value="Lib/DataflashManager.c"/>
+		<build type="c-source" value="Lib/SCSI.c"/>
+		<build type="header-file" value="MassStorageKeyboard.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="header-file" value="Lib/DataflashManager.h"/>
+		<build type="header-file" value="Lib/SCSI.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+		<require idref="lufa.drivers.board.dataflash"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/ClassDriver/Mouse/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mouse.example.avr8">
-		<require idref="lufa.demos.device.class.mouse"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mouse.example.xmega">
-		<require idref="lufa.demos.device.class.mouse"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.mouse" caption="Mouse HID Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Mouse device demo, implementing a basic USB mouse device that can send movement information to the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="Mouse.txt"/>
-
-		<build type="c-source" value="Mouse.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Mouse.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mouse.example.avr8">
+		<require idref="lufa.demos.device.class.mouse"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.mouse.example.xmega">
+		<require idref="lufa.demos.device.class.mouse"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.mouse" caption="Mouse HID Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Mouse device demo, implementing a basic USB mouse device that can send movement information to the host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="Mouse.txt"/>
+
+		<build type="c-source" value="Mouse.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Mouse.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 84 - 84
Demos/Device/ClassDriver/RNDISEthernet/asf.xml

@@ -1,84 +1,84 @@
-<asf xmlversion="1.0">
-	<project caption="RNDIS Ethernet Device Demo (Class Driver APIs)" id="lufa.demos.device.class.rndis.example.avr8">
-		<require idref="lufa.demos.device.class.rndis"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="RNDIS Ethernet Device Demo (Class Driver APIs)" id="lufa.demos.device.class.rndis.example.xmega">
-		<require idref="lufa.demos.device.class.rndis"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.rndis" caption="RNDIS Ethernet Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Microsoft RNDIS Ethernet networking device demo, implementing a basic HTTP webserver. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="RNDIS Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="RNDISEthernet.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA RNDIS.inf"/>
-
-		<build type="c-source" value="RNDISEthernet.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="c-source" value="Lib/ARP.c"/>
-		<build type="c-source" value="Lib/DHCP.c"/>
-		<build type="c-source" value="Lib/Ethernet.c"/>
-		<build type="c-source" value="Lib/ICMP.c"/>
-		<build type="c-source" value="Lib/IP.c"/>
-		<build type="c-source" value="Lib/ProtocolDecoders.c"/>
-		<build type="c-source" value="Lib/TCP.c"/>
-		<build type="c-source" value="Lib/UDP.c"/>
-		<build type="c-source" value="Lib/Webserver.c"/>
-		<build type="header-file" value="RNDISEthernet.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="header-file" value="Lib/ARP.h"/>
-		<build type="header-file" value="Lib/DHCP.h"/>
-		<build type="header-file" value="Lib/Ethernet.h"/>
-		<build type="header-file" value="Lib/ICMP.h"/>
-		<build type="header-file" value="Lib/IP.h"/>
-		<build type="header-file" value="Lib/ProtocolDecoders.h"/>
-		<build type="header-file" value="Lib/TCP.h"/>
-		<build type="header-file" value="Lib/UDP.h"/>
-		<build type="header-file" value="Lib/Webserver.h"/>
-		<build type="header-file" value="Lib/EthernetProtocols.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="RNDIS Ethernet Device Demo (Class Driver APIs)" id="lufa.demos.device.class.rndis.example.avr8">
+		<require idref="lufa.demos.device.class.rndis"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="RNDIS Ethernet Device Demo (Class Driver APIs)" id="lufa.demos.device.class.rndis.example.xmega">
+		<require idref="lufa.demos.device.class.rndis"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.rndis" caption="RNDIS Ethernet Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Microsoft RNDIS Ethernet networking device demo, implementing a basic HTTP webserver. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="RNDIS Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="RNDISEthernet.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA RNDIS.inf"/>
+
+		<build type="c-source" value="RNDISEthernet.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="c-source" value="Lib/ARP.c"/>
+		<build type="c-source" value="Lib/DHCP.c"/>
+		<build type="c-source" value="Lib/Ethernet.c"/>
+		<build type="c-source" value="Lib/ICMP.c"/>
+		<build type="c-source" value="Lib/IP.c"/>
+		<build type="c-source" value="Lib/ProtocolDecoders.c"/>
+		<build type="c-source" value="Lib/TCP.c"/>
+		<build type="c-source" value="Lib/UDP.c"/>
+		<build type="c-source" value="Lib/Webserver.c"/>
+		<build type="header-file" value="RNDISEthernet.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="header-file" value="Lib/ARP.h"/>
+		<build type="header-file" value="Lib/DHCP.h"/>
+		<build type="header-file" value="Lib/Ethernet.h"/>
+		<build type="header-file" value="Lib/ICMP.h"/>
+		<build type="header-file" value="Lib/IP.h"/>
+		<build type="header-file" value="Lib/ProtocolDecoders.h"/>
+		<build type="header-file" value="Lib/TCP.h"/>
+		<build type="header-file" value="Lib/UDP.h"/>
+		<build type="header-file" value="Lib/Webserver.h"/>
+		<build type="header-file" value="Lib/EthernetProtocols.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/ClassDriver/VirtualSerial/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Virtual Serial CDC Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc.example.avr8">
-		<require idref="lufa.demos.device.class.cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Virtual Serial CDC Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc.example.xmega">
-		<require idref="lufa.demos.device.class.cdc"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.cdc" caption="Virtual Serial CDC Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Virtual Serial device demo, implementing a virtual serial channel between the host PC and the device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="CDC Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="VirtualSerial.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA VirtualSerial.inf"/>
-
-		<build type="c-source" value="VirtualSerial.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="VirtualSerial.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Virtual Serial CDC Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc.example.avr8">
+		<require idref="lufa.demos.device.class.cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Virtual Serial CDC Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc.example.xmega">
+		<require idref="lufa.demos.device.class.cdc"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.cdc" caption="Virtual Serial CDC Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Virtual Serial device demo, implementing a virtual serial channel between the host PC and the device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="CDC Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="VirtualSerial.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA VirtualSerial.inf"/>
+
+		<build type="c-source" value="VirtualSerial.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="VirtualSerial.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 70 - 70
Demos/Device/ClassDriver/VirtualSerialMassStorage/asf.xml

@@ -1,70 +1,70 @@
-<asf xmlversion="1.0">
-	<project caption="Virtual Serial CDC and Mass Storage Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc_ms.example.avr8">
-		<require idref="lufa.demos.device.class.cdc_ms"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Virtual Serial CDC and Mass Storage Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc_ms.example.xmega">
-		<require idref="lufa.demos.device.class.cdc_ms"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.cdc_ms" caption="Virtual Serial CDC and Mass Storage Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Virtual Serial and Mass Storage device demo, implementing a virtual serial channel between the host PC and the device, and a basic USB storage disk using a Dataflash memory IC. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="CDC Class"/>
-			<keyword value="Mass Storage Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="VirtualSerialMassStorage.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA VirtualSerialMassStorage.inf"/>
-
-		<build type="c-source" value="VirtualSerialMassStorage.c"/>
-		<build type="c-source" value="Lib/DataflashManager.c"/>
-		<build type="c-source" value="Lib/SCSI.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="VirtualSerialMassStorage.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="header-file" value="Lib/DataflashManager.h"/>
-		<build type="header-file" value="Lib/SCSI.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-		<require idref="lufa.drivers.board.dataflash"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Virtual Serial CDC and Mass Storage Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc_ms.example.avr8">
+		<require idref="lufa.demos.device.class.cdc_ms"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Virtual Serial CDC and Mass Storage Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc_ms.example.xmega">
+		<require idref="lufa.demos.device.class.cdc_ms"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.cdc_ms" caption="Virtual Serial CDC and Mass Storage Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Virtual Serial and Mass Storage device demo, implementing a virtual serial channel between the host PC and the device, and a basic USB storage disk using a Dataflash memory IC. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="CDC Class"/>
+			<keyword value="Mass Storage Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="VirtualSerialMassStorage.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA VirtualSerialMassStorage.inf"/>
+
+		<build type="c-source" value="VirtualSerialMassStorage.c"/>
+		<build type="c-source" value="Lib/DataflashManager.c"/>
+		<build type="c-source" value="Lib/SCSI.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="VirtualSerialMassStorage.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="header-file" value="Lib/DataflashManager.h"/>
+		<build type="header-file" value="Lib/SCSI.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+		<require idref="lufa.drivers.board.dataflash"/>
+	</module>
+</asf>

+ 64 - 64
Demos/Device/ClassDriver/VirtualSerialMouse/asf.xml

@@ -1,64 +1,64 @@
-<asf xmlversion="1.0">
-	<project caption="Virtual Serial CDC and Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc_mouse.example.avr8">
-		<require idref="lufa.demos.device.class.cdc_mouse"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Virtual Serial CDC and Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc_mouse.example.xmega">
-		<require idref="lufa.demos.device.class.cdc_mouse"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.class.cdc_mouse" caption="Virtual Serial CDC and Mouse HID Device Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Virtual Serial and Mouse device demo, implementing a virtual serial channel between the host PC and the device, and a USB mouse. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="CDC Class"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="VirtualSerialMouse.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA VirtualSerialMouse.inf"/>
-
-		<build type="c-source" value="VirtualSerialMouse.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="VirtualSerialMouse.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Virtual Serial CDC and Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc_mouse.example.avr8">
+		<require idref="lufa.demos.device.class.cdc_mouse"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Virtual Serial CDC and Mouse HID Device Demo (Class Driver APIs)" id="lufa.demos.device.class.cdc_mouse.example.xmega">
+		<require idref="lufa.demos.device.class.cdc_mouse"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.class.cdc_mouse" caption="Virtual Serial CDC and Mouse HID Device Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Virtual Serial and Mouse device demo, implementing a virtual serial channel between the host PC and the device, and a USB mouse. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="CDC Class"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="VirtualSerialMouse.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA VirtualSerialMouse.inf"/>
+
+		<build type="c-source" value="VirtualSerialMouse.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="VirtualSerialMouse.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 52 - 52
Demos/Device/LowLevel/AudioInput/asf.xml

@@ -1,52 +1,52 @@
-<asf xmlversion="1.0">
-	<project caption="Audio Input Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.audio_input.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.audio_input"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.audio_input" caption="Audio Input Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Audio 1.0 Input device demo, implementing a basic USB microphone. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="Audio Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AudioInput.txt"/>
-
-		<build type="c-source" value="AudioInput.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="AudioInput.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.adc"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Audio Input Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.audio_input.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.audio_input"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.audio_input" caption="Audio Input Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Audio 1.0 Input device demo, implementing a basic USB microphone. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="Audio Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AudioInput.txt"/>
+
+		<build type="c-source" value="AudioInput.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="AudioInput.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.adc"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 51 - 51
Demos/Device/LowLevel/AudioOutput/asf.xml

@@ -1,51 +1,51 @@
-<asf xmlversion="1.0">
-	<project caption="Audio Output Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.audio_output.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.audio_output"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.audio_output" caption="Audio Output Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Audio 1.0 Output device demo, implementing a basic USB speaker. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="Audio Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AudioOutput.txt"/>
-
-		<build type="c-source" value="AudioOutput.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="AudioOutput.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Audio Output Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.audio_output.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.audio_output"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.audio_output" caption="Audio Output Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Audio 1.0 Output device demo, implementing a basic USB speaker. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="Audio Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AudioOutput.txt"/>
+
+		<build type="c-source" value="AudioOutput.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="AudioOutput.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/LowLevel/DualVirtualSerial/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Dual Virtual Serial Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.dual_cdc.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.dual_cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Dual Virtual Serial Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.dual_cdc.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.dual_cdc"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.dual_cdc" caption="Dual Virtual Serial Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Dual Virtual Serial (CDC) demo, implementing a pair of virtual serial port interfaces. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="CDC Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="DualVirtualSerial.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA DualVirtualSerial.inf"/>
-
-		<build type="c-source" value="DualVirtualSerial.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="DualVirtualSerial.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Dual Virtual Serial Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.dual_cdc.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.dual_cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Dual Virtual Serial Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.dual_cdc.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.dual_cdc"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.dual_cdc" caption="Dual Virtual Serial Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Dual Virtual Serial (CDC) demo, implementing a pair of virtual serial port interfaces. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="CDC Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="DualVirtualSerial.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA DualVirtualSerial.inf"/>
+
+		<build type="c-source" value="DualVirtualSerial.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="DualVirtualSerial.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 63 - 63
Demos/Device/LowLevel/GenericHID/asf.xml

@@ -1,63 +1,63 @@
-<asf xmlversion="1.0">
-	<project caption="Generic HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.generic_hid.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.generic_hid"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Generic HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.generic_hid.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.generic_hid"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.generic_hid" caption="Generic HID Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Generic HID device demo, implementing a device whose LEDs can be controlled via HID messages from the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="GenericHID.txt"/>
-		<build type="distribute" subtype="directory" value="HostTestApp"/>
-
-		<build type="c-source" value="GenericHID.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="GenericHID.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Generic HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.generic_hid.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.generic_hid"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Generic HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.generic_hid.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.generic_hid"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.generic_hid" caption="Generic HID Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Generic HID device demo, implementing a device whose LEDs can be controlled via HID messages from the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="GenericHID.txt"/>
+		<build type="distribute" subtype="directory" value="HostTestApp"/>
+
+		<build type="c-source" value="GenericHID.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="GenericHID.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/LowLevel/Joystick/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Joystick HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.joystick.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.joystick"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Joystick HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.joystick.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.joystick"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.joystick" caption="Joystick HID Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Joystick HID device demo, implementing a basic USB joystick that can send movement information to the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="Joystick.txt"/>
-
-		<build type="c-source" value="Joystick.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Joystick.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Joystick HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.joystick.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.joystick"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Joystick HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.joystick.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.joystick"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.joystick" caption="Joystick HID Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Joystick HID device demo, implementing a basic USB joystick that can send movement information to the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="Joystick.txt"/>
+
+		<build type="c-source" value="Joystick.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Joystick.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/LowLevel/Keyboard/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Keyboard HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.keyboard.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.keyboard"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Keyboard HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.keyboard.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.keyboard"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.keyboard" caption="Keyboard HID Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Keyboard HID device demo, implementing a basic USB keyboard that can send key press information to the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="Keyboard.txt"/>
-
-		<build type="c-source" value="Keyboard.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Keyboard.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Keyboard HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.keyboard.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.keyboard"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Keyboard HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.keyboard.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.keyboard"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.keyboard" caption="Keyboard HID Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Keyboard HID device demo, implementing a basic USB keyboard that can send key press information to the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="Keyboard.txt"/>
+
+		<build type="c-source" value="Keyboard.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Keyboard.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/LowLevel/KeyboardMouse/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Keyboard and Mouse HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.keyboard_mouse.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.keyboard_mouse"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Keyboard and Mouse HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.keyboard_mouse.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.keyboard_mouse"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.keyboard_mouse" caption="Keyboard and Mouse HID Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Keyboard and Mouse HID device demo, implementing a basic USB keyboard and mouse using a pair of HID interfaces. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="KeyboardMouse.txt"/>
-
-		<build type="c-source" value="KeyboardMouse.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="KeyboardMouse.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Keyboard and Mouse HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.keyboard_mouse.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.keyboard_mouse"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Keyboard and Mouse HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.keyboard_mouse.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.keyboard_mouse"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.keyboard_mouse" caption="Keyboard and Mouse HID Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Keyboard and Mouse HID device demo, implementing a basic USB keyboard and mouse using a pair of HID interfaces. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="KeyboardMouse.txt"/>
+
+		<build type="c-source" value="KeyboardMouse.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="KeyboardMouse.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/LowLevel/MIDI/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="MIDI Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.midi.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.midi"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="MIDI Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.midi.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.midi"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.midi" caption="MIDI Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		MIDI device demo, implementing a basic USB MIDI device that can send messages to the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="MIDI Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MIDI.txt"/>
-
-		<build type="c-source" value="MIDI.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="MIDI.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="MIDI Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.midi.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.midi"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="MIDI Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.midi.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.midi"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.midi" caption="MIDI Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		MIDI device demo, implementing a basic USB MIDI device that can send messages to the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="MIDI Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MIDI.txt"/>
+
+		<build type="c-source" value="MIDI.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="MIDI.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 67 - 67
Demos/Device/LowLevel/MassStorage/asf.xml

@@ -1,67 +1,67 @@
-<asf xmlversion="1.0">
-	<project caption="Mass Storage Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.mass_storage.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.mass_storage"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Mass Storage Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.mass_storage.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.mass_storage"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.mass_storage" caption="Mass Storage Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Mass Storage device demo, implementing a basic USB storage disk using a Dataflash memory IC. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="Mass Storage Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MassStorage.txt"/>
-
-		<build type="c-source" value="MassStorage.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="c-source" value="Lib/DataflashManager.c"/>
-		<build type="c-source" value="Lib/SCSI.c"/>
-		<build type="header-file" value="MassStorage.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="header-file" value="Lib/DataflashManager.h"/>
-		<build type="header-file" value="Lib/SCSI.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.dataflash"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mass Storage Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.mass_storage.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.mass_storage"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Mass Storage Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.mass_storage.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.mass_storage"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.mass_storage" caption="Mass Storage Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Mass Storage device demo, implementing a basic USB storage disk using a Dataflash memory IC. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="Mass Storage Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MassStorage.txt"/>
+
+		<build type="c-source" value="MassStorage.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="c-source" value="Lib/DataflashManager.c"/>
+		<build type="c-source" value="Lib/SCSI.c"/>
+		<build type="header-file" value="MassStorage.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="header-file" value="Lib/DataflashManager.h"/>
+		<build type="header-file" value="Lib/SCSI.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.dataflash"/>
+	</module>
+</asf>

+ 62 - 62
Demos/Device/LowLevel/Mouse/asf.xml

@@ -1,62 +1,62 @@
-<asf xmlversion="1.0">
-	<project caption="Mouse HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.mouse.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.mouse"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Mouse HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.mouse.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.mouse"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.mouse" caption="Mouse HID Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Mouse device demo, implementing a basic USB mouse device that can send movement information to the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="Mouse.txt"/>
-
-		<build type="c-source" value="Mouse.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Mouse.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mouse HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.mouse.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.mouse"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Mouse HID Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.mouse.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.mouse"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.mouse" caption="Mouse HID Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Mouse device demo, implementing a basic USB mouse device that can send movement information to the host. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="Mouse.txt"/>
+
+		<build type="c-source" value="Mouse.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Mouse.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 86 - 86
Demos/Device/LowLevel/RNDISEthernet/asf.xml

@@ -1,86 +1,86 @@
-<asf xmlversion="1.0">
-	<project caption="RNDIS Ethernet Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.rndis.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.rndis"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="RNDIS Ethernet Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.rndis.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.rndis"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.rndis" caption="RNDIS Ethernet Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Microsoft RNDIS Ethernet networking device demo, implementing a basic HTTP webserver. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="RNDIS Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="RNDISEthernet.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA RNDIS.inf"/>
-
-		<build type="c-source" value="RNDISEthernet.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="c-source" value="Lib/ARP.c"/>
-		<build type="c-source" value="Lib/DHCP.c"/>
-		<build type="c-source" value="Lib/Ethernet.c"/>
-		<build type="c-source" value="Lib/ICMP.c"/>
-		<build type="c-source" value="Lib/IP.c"/>
-		<build type="c-source" value="Lib/ProtocolDecoders.c"/>
-		<build type="c-source" value="Lib/RNDIS.c"/>
-		<build type="c-source" value="Lib/TCP.c"/>
-		<build type="c-source" value="Lib/UDP.c"/>
-		<build type="c-source" value="Lib/Webserver.c"/>
-		<build type="header-file" value="RNDISEthernet.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="header-file" value="Lib/ARP.h"/>
-		<build type="header-file" value="Lib/DHCP.h"/>
-		<build type="header-file" value="Lib/Ethernet.h"/>
-		<build type="header-file" value="Lib/ICMP.h"/>
-		<build type="header-file" value="Lib/IP.h"/>
-		<build type="header-file" value="Lib/ProtocolDecoders.h"/>
-		<build type="header-file" value="Lib/RNDIS.h"/>
-		<build type="header-file" value="Lib/TCP.h"/>
-		<build type="header-file" value="Lib/UDP.h"/>
-		<build type="header-file" value="Lib/Webserver.h"/>
-		<build type="header-file" value="Lib/EthernetProtocols.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="RNDIS Ethernet Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.rndis.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.rndis"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="RNDIS Ethernet Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.rndis.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.rndis"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.rndis" caption="RNDIS Ethernet Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Microsoft RNDIS Ethernet networking device demo, implementing a basic HTTP webserver. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="RNDIS Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="RNDISEthernet.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA RNDIS.inf"/>
+
+		<build type="c-source" value="RNDISEthernet.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="c-source" value="Lib/ARP.c"/>
+		<build type="c-source" value="Lib/DHCP.c"/>
+		<build type="c-source" value="Lib/Ethernet.c"/>
+		<build type="c-source" value="Lib/ICMP.c"/>
+		<build type="c-source" value="Lib/IP.c"/>
+		<build type="c-source" value="Lib/ProtocolDecoders.c"/>
+		<build type="c-source" value="Lib/RNDIS.c"/>
+		<build type="c-source" value="Lib/TCP.c"/>
+		<build type="c-source" value="Lib/UDP.c"/>
+		<build type="c-source" value="Lib/Webserver.c"/>
+		<build type="header-file" value="RNDISEthernet.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="header-file" value="Lib/ARP.h"/>
+		<build type="header-file" value="Lib/DHCP.h"/>
+		<build type="header-file" value="Lib/Ethernet.h"/>
+		<build type="header-file" value="Lib/ICMP.h"/>
+		<build type="header-file" value="Lib/IP.h"/>
+		<build type="header-file" value="Lib/ProtocolDecoders.h"/>
+		<build type="header-file" value="Lib/RNDIS.h"/>
+		<build type="header-file" value="Lib/TCP.h"/>
+		<build type="header-file" value="Lib/UDP.h"/>
+		<build type="header-file" value="Lib/Webserver.h"/>
+		<build type="header-file" value="Lib/EthernetProtocols.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+	</module>
+</asf>

+ 63 - 63
Demos/Device/LowLevel/VirtualSerial/asf.xml

@@ -1,63 +1,63 @@
-<asf xmlversion="1.0">
-	<project caption="Virtual Serial CDC Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.cdc.example.avr8">
-		<require idref="lufa.demos.device.lowlevel.cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<project caption="Virtual Serial CDC Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.cdc.example.xmega">
-		<require idref="lufa.demos.device.lowlevel.cdc"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8"/>
-
-		<device-support value="atxmega128a1u"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.device.lowlevel.cdc" caption="Virtual Serial CDC Device Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Virtual Serial device demo, implementing a virtual serial channel between the host PC and the device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="CDC Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="VirtualSerial.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA VirtualSerial.inf"/>
-
-		<build type="c-source" value="VirtualSerial.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="VirtualSerial.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Virtual Serial CDC Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.cdc.example.avr8">
+		<require idref="lufa.demos.device.lowlevel.cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<project caption="Virtual Serial CDC Device Demo (Low Level APIs)" id="lufa.demos.device.lowlevel.cdc.example.xmega">
+		<require idref="lufa.demos.device.lowlevel.cdc"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8"/>
+
+		<device-support value="atxmega128a1u"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.device.lowlevel.cdc" caption="Virtual Serial CDC Device Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Virtual Serial device demo, implementing a virtual serial channel between the host PC and the device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="CDC Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="VirtualSerial.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA VirtualSerial.inf"/>
+
+		<build type="c-source" value="VirtualSerial.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="VirtualSerial.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 56 - 56
Demos/DualRole/ClassDriver/MouseHostDevice/asf.xml

@@ -1,56 +1,56 @@
-<asf xmlversion="1.0">
-	<project caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)" id="lufa.demos.dualrole.class.mouse.example.avr8">
-		<require idref="lufa.demos.dualrole.class.mouse"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.dualrole.class.mouse" caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Mouse host and device dual role demo, implementing a basic mouse device and host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Dual Role"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MouseHostDevice.txt"/>
-
-		<build type="c-source" value="MouseHostDevice.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="c-source" value="DeviceFunctions.c"/>
-		<build type="c-source" value="HostFunctions.c"/>
-		<build type="header-file" value="MouseHostDevice.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-		<build type="header-file" value="DeviceFunctions.h"/>
-		<build type="header-file" value="HostFunctions.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.joystick"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)" id="lufa.demos.dualrole.class.mouse.example.avr8">
+		<require idref="lufa.demos.dualrole.class.mouse"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.dualrole.class.mouse" caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Mouse host and device dual role demo, implementing a basic mouse device and host. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Dual Role"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MouseHostDevice.txt"/>
+
+		<build type="c-source" value="MouseHostDevice.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="c-source" value="DeviceFunctions.c"/>
+		<build type="c-source" value="HostFunctions.c"/>
+		<build type="header-file" value="MouseHostDevice.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+		<build type="header-file" value="DeviceFunctions.h"/>
+		<build type="header-file" value="HostFunctions.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.joystick"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 49 - 49
Demos/Host/ClassDriver/AndroidAccessoryHost/asf.xml

@@ -1,49 +1,49 @@
-<asf xmlversion="1.0">
-	<project caption="Android Accessory Host Demo (Class Driver APIs)" id="lufa.demos.host.class.android.example.avr8">
-		<require idref="lufa.demos.host.class.android"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.android" caption="Android Accessory Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Android Accessory Host demo, implementing a basic USB device whose LEDs can be controlled via an Android device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Android Accessory Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AndroidAccessoryHost.txt"/>
-		<build type="distribute" subtype="directory" value="AndroidHostApp"/>
-
-		<build type="c-source" value="AndroidAccessoryHost.c"/>
-		<build type="header-file" value="AndroidAccessoryHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Android Accessory Host Demo (Class Driver APIs)" id="lufa.demos.host.class.android.example.avr8">
+		<require idref="lufa.demos.host.class.android"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.android" caption="Android Accessory Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Android Accessory Host demo, implementing a basic USB device whose LEDs can be controlled via an Android device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Android Accessory Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AndroidAccessoryHost.txt"/>
+		<build type="distribute" subtype="directory" value="AndroidHostApp"/>
+
+		<build type="c-source" value="AndroidAccessoryHost.c"/>
+		<build type="header-file" value="AndroidAccessoryHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/AudioInputHost/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Audio Input Host Demo (Class Driver APIs)" id="lufa.demos.host.class.audio_input.example.avr8">
-		<require idref="lufa.demos.host.class.audio_input"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.audio_input" caption="Audio Input Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Audio Input Host demo, implementing a basic USB audio sink that can output incoming audio data to a speaker. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Audio Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AudioInputHost.txt"/>
-
-		<build type="c-source" value="AudioInputHost.c"/>
-		<build type="header-file" value="AudioInputHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Audio Input Host Demo (Class Driver APIs)" id="lufa.demos.host.class.audio_input.example.avr8">
+		<require idref="lufa.demos.host.class.audio_input"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.audio_input" caption="Audio Input Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Audio Input Host demo, implementing a basic USB audio sink that can output incoming audio data to a speaker. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Audio Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AudioInputHost.txt"/>
+
+		<build type="c-source" value="AudioInputHost.c"/>
+		<build type="header-file" value="AudioInputHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 52 - 52
Demos/Host/ClassDriver/AudioOutputHost/asf.xml

@@ -1,52 +1,52 @@
-<asf xmlversion="1.0">
-	<project caption="Audio Output Host Demo (Class Driver APIs)" id="lufa.demos.host.class.audio_output.example.avr8">
-		<require idref="lufa.demos.host.class.audio_output"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.audio_output" caption="Audio Output Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Audio Output Host demo, implementing a basic USB audio source that can output audio data to an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Audio Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AudioOutputHost.txt"/>
-
-		<build type="c-source" value="AudioOutputHost.c"/>
-		<build type="header-file" value="AudioOutputHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.peripheral.adc"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Audio Output Host Demo (Class Driver APIs)" id="lufa.demos.host.class.audio_output.example.avr8">
+		<require idref="lufa.demos.host.class.audio_output"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.audio_output" caption="Audio Output Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Audio Output Host demo, implementing a basic USB audio source that can output audio data to an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Audio Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AudioOutputHost.txt"/>
+
+		<build type="c-source" value="AudioOutputHost.c"/>
+		<build type="header-file" value="AudioOutputHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.peripheral.adc"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/JoystickHostWithParser/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Joystick HID (with parser) Host Demo (Class Driver APIs)" id="lufa.demos.host.class.joystick_parser.example.avr8">
-		<require idref="lufa.demos.host.class.joystick_parser"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.joystick_parser" caption="Joystick HID (with parser) Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Joystick HID Host demo with HID parser, implementing a basic USB joystick host that can display movement data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="JoystickHostWithParser.txt"/>
-
-		<build type="c-source" value="JoystickHostWithParser.c"/>
-		<build type="header-file" value="JoystickHostWithParser.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Joystick HID (with parser) Host Demo (Class Driver APIs)" id="lufa.demos.host.class.joystick_parser.example.avr8">
+		<require idref="lufa.demos.host.class.joystick_parser"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.joystick_parser" caption="Joystick HID (with parser) Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Joystick HID Host demo with HID parser, implementing a basic USB joystick host that can display movement data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="JoystickHostWithParser.txt"/>
+
+		<build type="c-source" value="JoystickHostWithParser.c"/>
+		<build type="header-file" value="JoystickHostWithParser.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/KeyboardHost/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Keyboard HID Host Demo (Class Driver APIs)" id="lufa.demos.host.class.keyboard.example.avr8">
-		<require idref="lufa.demos.host.class.keyboard"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.keyboard" caption="Keyboard HID Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Keyboard HID Host demo, implementing a basic USB keyboard host that can display key press data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="KeyboardHost.txt"/>
-
-		<build type="c-source" value="KeyboardHost.c"/>
-		<build type="header-file" value="KeyboardHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Keyboard HID Host Demo (Class Driver APIs)" id="lufa.demos.host.class.keyboard.example.avr8">
+		<require idref="lufa.demos.host.class.keyboard"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.keyboard" caption="Keyboard HID Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Keyboard HID Host demo, implementing a basic USB keyboard host that can display key press data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="KeyboardHost.txt"/>
+
+		<build type="c-source" value="KeyboardHost.c"/>
+		<build type="header-file" value="KeyboardHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/KeyboardHostWithParser/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Keyboard HID (with parser) Host Demo (Class Driver APIs)" id="lufa.demos.host.class.keyboard_parser.example.avr8">
-		<require idref="lufa.demos.host.class.keyboard_parser"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.keyboard_parser" caption="Keyboard HID (with parser) Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Keyboard HID Host demo with HID parser, implementing a basic USB keyboard host that can display key press data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="KeyboardHostWithParser.txt"/>
-
-		<build type="c-source" value="KeyboardHostWithParser.c"/>
-		<build type="header-file" value="KeyboardHostWithParser.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Keyboard HID (with parser) Host Demo (Class Driver APIs)" id="lufa.demos.host.class.keyboard_parser.example.avr8">
+		<require idref="lufa.demos.host.class.keyboard_parser"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.keyboard_parser" caption="Keyboard HID (with parser) Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Keyboard HID Host demo with HID parser, implementing a basic USB keyboard host that can display key press data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="KeyboardHostWithParser.txt"/>
+
+		<build type="c-source" value="KeyboardHostWithParser.c"/>
+		<build type="header-file" value="KeyboardHostWithParser.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 50 - 50
Demos/Host/ClassDriver/MIDIHost/asf.xml

@@ -1,50 +1,50 @@
-<asf xmlversion="1.0">
-	<project caption="MIDI Host Demo (Class Driver APIs)" id="lufa.demos.host.class.midi.example.avr8">
-		<require idref="lufa.demos.host.class.midi"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.midi" caption="MIDI Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		MIDI Host demo, capable of sending and receiving MIDI messages to and from an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="MIDI Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MIDIHost.txt"/>
-
-		<build type="c-source" value="MIDIHost.c"/>
-		<build type="header-file" value="MIDIHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="MIDI Host Demo (Class Driver APIs)" id="lufa.demos.host.class.midi.example.avr8">
+		<require idref="lufa.demos.host.class.midi"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.midi" caption="MIDI Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		MIDI Host demo, capable of sending and receiving MIDI messages to and from an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="MIDI Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MIDIHost.txt"/>
+
+		<build type="c-source" value="MIDIHost.c"/>
+		<build type="header-file" value="MIDIHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/MassStorageHost/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Mass Storage Host Demo (Class Driver APIs)" id="lufa.demos.host.class.ms.example.avr8">
-		<require idref="lufa.demos.host.class.ms"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.ms" caption="Mass Storage Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Mass Storage Host demo, capable of reading and writing raw 512 byte segments to the device's serial port. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Mass Storage Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MassStorageHost.txt"/>
-
-		<build type="c-source" value="MassStorageHost.c"/>
-		<build type="header-file" value="MassStorageHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mass Storage Host Demo (Class Driver APIs)" id="lufa.demos.host.class.ms.example.avr8">
+		<require idref="lufa.demos.host.class.ms"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.ms" caption="Mass Storage Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Mass Storage Host demo, capable of reading and writing raw 512 byte segments to the device's serial port. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Mass Storage Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MassStorageHost.txt"/>
+
+		<build type="c-source" value="MassStorageHost.c"/>
+		<build type="header-file" value="MassStorageHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/MouseHost/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Mouse HID Host Demo (Class Driver APIs)" id="lufa.demos.host.class.mouse.example.avr8">
-		<require idref="lufa.demos.host.class.mouse"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.mouse" caption="Mouse HID Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Mouse HID Host demo, implementing a basic USB mouse host that can display movement data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MouseHost.txt"/>
-
-		<build type="c-source" value="MouseHost.c"/>
-		<build type="header-file" value="MouseHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mouse HID Host Demo (Class Driver APIs)" id="lufa.demos.host.class.mouse.example.avr8">
+		<require idref="lufa.demos.host.class.mouse"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.mouse" caption="Mouse HID Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Mouse HID Host demo, implementing a basic USB mouse host that can display movement data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MouseHost.txt"/>
+
+		<build type="c-source" value="MouseHost.c"/>
+		<build type="header-file" value="MouseHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/MouseHostWithParser/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Mouse HID (with parser) Host Demo (Class Driver APIs)" id="lufa.demos.host.class.mouse_parser.example.avr8">
-		<require idref="lufa.demos.host.class.mouse_parser"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.mouse_parser" caption="Mouse HID (with parser) Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Mouse HID Host demo with HID parser, implementing a basic USB mouse host that can display movement data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MouseHostWithParser.txt"/>
-
-		<build type="c-source" value="MouseHostWithParser.c"/>
-		<build type="header-file" value="MouseHostWithParser.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mouse HID (with parser) Host Demo (Class Driver APIs)" id="lufa.demos.host.class.mouse_parser.example.avr8">
+		<require idref="lufa.demos.host.class.mouse_parser"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.mouse_parser" caption="Mouse HID (with parser) Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Mouse HID Host demo with HID parser, implementing a basic USB mouse host that can display movement data on the board LEDs. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MouseHostWithParser.txt"/>
+
+		<build type="c-source" value="MouseHostWithParser.c"/>
+		<build type="header-file" value="MouseHostWithParser.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/PrinterHost/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Printer Host Demo (Class Driver APIs)" id="lufa.demos.host.class.printer.example.avr8">
-		<require idref="lufa.demos.host.class.printer"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.printer" caption="Printer Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Printer Host demo, implementing a basic USB printer host that can send raw printer control data to an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Printer Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="PrinterHost.txt"/>
-
-		<build type="c-source" value="PrinterHost.c"/>
-		<build type="header-file" value="PrinterHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Printer Host Demo (Class Driver APIs)" id="lufa.demos.host.class.printer.example.avr8">
+		<require idref="lufa.demos.host.class.printer"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.printer" caption="Printer Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Printer Host demo, implementing a basic USB printer host that can send raw printer control data to an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Printer Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="PrinterHost.txt"/>
+
+		<build type="c-source" value="PrinterHost.c"/>
+		<build type="header-file" value="PrinterHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/RNDISEthernetHost/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="RNDIS Ethernet Host Demo (Class Driver APIs)" id="lufa.demos.host.class.rndis.example.avr8">
-		<require idref="lufa.demos.host.class.rndis"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.rndis" caption="RNDIS Ethernet Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Microsoft RNDIS Ethernet Host demo, implementing a RNDIS host that can send and receive Ethernet data to and from an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="RNDIS Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="RNDISEthernetHost.txt"/>
-
-		<build type="c-source" value="RNDISEthernetHost.c"/>
-		<build type="header-file" value="RNDISEthernetHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="RNDIS Ethernet Host Demo (Class Driver APIs)" id="lufa.demos.host.class.rndis.example.avr8">
+		<require idref="lufa.demos.host.class.rndis"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.rndis" caption="RNDIS Ethernet Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Microsoft RNDIS Ethernet Host demo, implementing a RNDIS host that can send and receive Ethernet data to and from an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="RNDIS Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="RNDISEthernetHost.txt"/>
+
+		<build type="c-source" value="RNDISEthernetHost.c"/>
+		<build type="header-file" value="RNDISEthernetHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/StillImageHost/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Still Image Host Demo (Class Driver APIs)" id="lufa.demos.host.class.si.example.avr8">
-		<require idref="lufa.demos.host.class.si"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.si" caption="Still Image Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Still Image Host demo, implementing a Still Image host that can send and receive PIMA data to and from an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Still Image Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="StillImageHost.txt"/>
-
-		<build type="c-source" value="StillImageHost.c"/>
-		<build type="header-file" value="StillImageHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Still Image Host Demo (Class Driver APIs)" id="lufa.demos.host.class.si.example.avr8">
+		<require idref="lufa.demos.host.class.si"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.si" caption="Still Image Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Still Image Host demo, implementing a Still Image host that can send and receive PIMA data to and from an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Still Image Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="StillImageHost.txt"/>
+
+		<build type="c-source" value="StillImageHost.c"/>
+		<build type="header-file" value="StillImageHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Demos/Host/ClassDriver/VirtualSerialHost/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="Virtual Serial CDC Host Demo (Class Driver APIs)" id="lufa.demos.host.class.cdc.example.avr8">
-		<require idref="lufa.demos.host.class.cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.class.cdc" caption="Virtual Serial CDC Host Demo (Class Driver APIs)">
-		<info type="description" value="summary">
-		Virtual Serial Host demo, implementing a CDC host that can send and receive data to and from an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="CDC Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="VirtualSerialHost.txt"/>
-
-		<build type="c-source" value="VirtualSerialHost.c"/>
-		<build type="header-file" value="VirtualSerialHost.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Virtual Serial CDC Host Demo (Class Driver APIs)" id="lufa.demos.host.class.cdc.example.avr8">
+		<require idref="lufa.demos.host.class.cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.class.cdc" caption="Virtual Serial CDC Host Demo (Class Driver APIs)">
+		<info type="description" value="summary">
+		Virtual Serial Host demo, implementing a CDC host that can send and receive data to and from an attached device. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="CDC Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="VirtualSerialHost.txt"/>
+
+		<build type="c-source" value="VirtualSerialHost.c"/>
+		<build type="header-file" value="VirtualSerialHost.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 55 - 55
Demos/Host/LowLevel/AndroidAccessoryHost/asf.xml

@@ -1,55 +1,55 @@
-<asf xmlversion="1.0">
-	<project caption="Android Accessory Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.android.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.android"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.android" caption="Android Accessory Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Android Accessory Host demo, implementing a basic USB device whose LEDs can be controlled via an Android device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Android Accessory Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AndroidAccessoryHost.txt"/>
-
-		<build type="c-source" value="AndroidAccessoryHost.c"/>
-		<build type="c-source" value="DeviceDescriptor.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="AndroidAccessoryHost.h"/>
-		<build type="header-file" value="DeviceDescriptor.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="c-source" value="Lib/AndroidAccessoryCommands.c"/>
-		<build type="header-file" value="Lib/AndroidAccessoryCommands.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Android Accessory Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.android.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.android"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.android" caption="Android Accessory Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Android Accessory Host demo, implementing a basic USB device whose LEDs can be controlled via an Android device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Android Accessory Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AndroidAccessoryHost.txt"/>
+
+		<build type="c-source" value="AndroidAccessoryHost.c"/>
+		<build type="c-source" value="DeviceDescriptor.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="AndroidAccessoryHost.h"/>
+		<build type="header-file" value="DeviceDescriptor.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="c-source" value="Lib/AndroidAccessoryCommands.c"/>
+		<build type="header-file" value="Lib/AndroidAccessoryCommands.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 50 - 50
Demos/Host/LowLevel/AudioInputHost/asf.xml

@@ -1,50 +1,50 @@
-<asf xmlversion="1.0">
-	<project caption="Audio Input Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.audio_input.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.audio_input"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.audio_input" caption="Audio Input Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Audio Input Host demo, implementing a basic USB audio sink that can output incoming audio data to a speaker. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Audio Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AudioInputHost.txt"/>
-
-		<build type="c-source" value="AudioInputHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="AudioInputHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Audio Input Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.audio_input.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.audio_input"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.audio_input" caption="Audio Input Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Audio Input Host demo, implementing a basic USB audio sink that can output incoming audio data to a speaker. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Audio Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AudioInputHost.txt"/>
+
+		<build type="c-source" value="AudioInputHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="AudioInputHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 54 - 54
Demos/Host/LowLevel/AudioOutputHost/asf.xml

@@ -1,54 +1,54 @@
-<asf xmlversion="1.0">
-	<project caption="Audio Output Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.audio_output.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.audio_output"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.audio_output" caption="Audio Output Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Audio Output Host demo, implementing a basic USB audio source that can output audio data to an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Audio Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AudioOutputHost.txt"/>
-
-		<build type="c-source" value="AudioOutputHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="AudioOutputHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.peripheral.adc"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Audio Output Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.audio_output.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.audio_output"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.audio_output" caption="Audio Output Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Audio Output Host demo, implementing a basic USB audio source that can output audio data to an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Audio Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AudioOutputHost.txt"/>
+
+		<build type="c-source" value="AudioOutputHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="AudioOutputHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.peripheral.adc"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+	</module>
+</asf>

+ 50 - 50
Demos/Host/LowLevel/GenericHIDHost/asf.xml

@@ -1,50 +1,50 @@
-<asf xmlversion="1.0">
-	<project caption="Generic HID Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.generic_hid.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.generic_hid"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.generic_hid" caption="Generic HID Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Generic HID Host demo, implementing a basic USB HID device that can send and receive data to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="GenericHIDHost.txt"/>
-
-		<build type="c-source" value="GenericHIDHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="GenericHIDHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Generic HID Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.generic_hid.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.generic_hid"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.generic_hid" caption="Generic HID Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Generic HID Host demo, implementing a basic USB HID device that can send and receive data to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="GenericHIDHost.txt"/>
+
+		<build type="c-source" value="GenericHIDHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="GenericHIDHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 52 - 52
Demos/Host/LowLevel/JoystickHostWithParser/asf.xml

@@ -1,52 +1,52 @@
-<asf xmlversion="1.0">
-	<project caption="Joystick HID (with parser) Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.joystick_parser.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.joystick_parser"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.joystick_parser" caption="Joystick HID (with parser) Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Joystick HID Host demo with HID parser, implementing a basic USB joystick host that can display movement data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="JoystickHostWithParser.txt"/>
-
-		<build type="c-source" value="JoystickHostWithParser.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="c-source" value="HIDReport.c"/>
-		<build type="header-file" value="JoystickHostWithParser.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-		<build type="header-file" value="HIDReport.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Joystick HID (with parser) Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.joystick_parser.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.joystick_parser"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.joystick_parser" caption="Joystick HID (with parser) Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Joystick HID Host demo with HID parser, implementing a basic USB joystick host that can display movement data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="JoystickHostWithParser.txt"/>
+
+		<build type="c-source" value="JoystickHostWithParser.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="c-source" value="HIDReport.c"/>
+		<build type="header-file" value="JoystickHostWithParser.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+		<build type="header-file" value="HIDReport.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 50 - 50
Demos/Host/LowLevel/KeyboardHost/asf.xml

@@ -1,50 +1,50 @@
-<asf xmlversion="1.0">
-	<project caption="Keyboard HID Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.keyboard.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.keyboard"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.keyboard" caption="Keyboard HID Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Keyboard HID Host demo, implementing a basic USB keyboard host that can display key press data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="KeyboardHost.txt"/>
-
-		<build type="c-source" value="KeyboardHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="KeyboardHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Keyboard HID Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.keyboard.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.keyboard"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.keyboard" caption="Keyboard HID Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Keyboard HID Host demo, implementing a basic USB keyboard host that can display key press data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="KeyboardHost.txt"/>
+
+		<build type="c-source" value="KeyboardHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="KeyboardHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 52 - 52
Demos/Host/LowLevel/KeyboardHostWithParser/asf.xml

@@ -1,52 +1,52 @@
-<asf xmlversion="1.0">
-	<project caption="Keyboard HID (with parser) Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.keyboard_parser.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.keyboard_parser"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.keyboard_parser" caption="Keyboard HID (with parser) Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Keyboard HID Host demo with HID parser, implementing a basic USB keyboard host that can display key press data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="KeyboardHostWithParser.txt"/>
-
-		<build type="c-source" value="KeyboardHostWithParser.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="c-source" value="HIDReport.c"/>
-		<build type="header-file" value="KeyboardHostWithParser.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-		<build type="header-file" value="HIDReport.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Keyboard HID (with parser) Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.keyboard_parser.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.keyboard_parser"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.keyboard_parser" caption="Keyboard HID (with parser) Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Keyboard HID Host demo with HID parser, implementing a basic USB keyboard host that can display key press data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="KeyboardHostWithParser.txt"/>
+
+		<build type="c-source" value="KeyboardHostWithParser.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="c-source" value="HIDReport.c"/>
+		<build type="header-file" value="KeyboardHostWithParser.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+		<build type="header-file" value="HIDReport.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 52 - 52
Demos/Host/LowLevel/MIDIHost/asf.xml

@@ -1,52 +1,52 @@
-<asf xmlversion="1.0">
-	<project caption="MIDI Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.midi.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.midi"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.midi" caption="MIDI Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		MIDI Host demo, capable of sending and receiving MIDI messages to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="MIDI Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MIDIHost.txt"/>
-
-		<build type="c-source" value="MIDIHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="MIDIHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-		<require idref="lufa.drivers.board.buttons"/>
-		<require idref="lufa.drivers.board.joystick"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="MIDI Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.midi.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.midi"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.midi" caption="MIDI Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		MIDI Host demo, capable of sending and receiving MIDI messages to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="MIDI Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MIDIHost.txt"/>
+
+		<build type="c-source" value="MIDIHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="MIDIHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+		<require idref="lufa.drivers.board.buttons"/>
+		<require idref="lufa.drivers.board.joystick"/>
+	</module>
+</asf>

+ 53 - 53
Demos/Host/LowLevel/MassStorageHost/asf.xml

@@ -1,53 +1,53 @@
-<asf xmlversion="1.0">
-	<project caption="Mass Storage Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.ms.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.ms"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.ms" caption="Mass Storage Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Mass Storage Host demo, capable of reading and writing raw 512 byte segments to the device's serial port. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Mass Storage Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MassStorageHost.txt"/>
-
-		<build type="c-source" value="MassStorageHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="MassStorageHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="c-source" value="Lib/MassStoreCommands.c"/>
-		<build type="header-file" value="Lib/MassStoreCommands.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mass Storage Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.ms.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.ms"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.ms" caption="Mass Storage Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Mass Storage Host demo, capable of reading and writing raw 512 byte segments to the device's serial port. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Mass Storage Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MassStorageHost.txt"/>
+
+		<build type="c-source" value="MassStorageHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="MassStorageHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="c-source" value="Lib/MassStoreCommands.c"/>
+		<build type="header-file" value="Lib/MassStoreCommands.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 50 - 50
Demos/Host/LowLevel/MouseHost/asf.xml

@@ -1,50 +1,50 @@
-<asf xmlversion="1.0">
-	<project caption="Mouse HID Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.mouse.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.mouse"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.mouse" caption="Mouse HID Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Keyboard HID Host demo, implementing a basic USB mouse host that can display movement data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MouseHost.txt"/>
-
-		<build type="c-source" value="MouseHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="MouseHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mouse HID Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.mouse.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.mouse"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.mouse" caption="Mouse HID Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Keyboard HID Host demo, implementing a basic USB mouse host that can display movement data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MouseHost.txt"/>
+
+		<build type="c-source" value="MouseHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="MouseHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 52 - 52
Demos/Host/LowLevel/MouseHostWithParser/asf.xml

@@ -1,52 +1,52 @@
-<asf xmlversion="1.0">
-	<project caption="Mouse HID (with parser) Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.mouse_parser.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.mouse_parser"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.mouse_parser" caption="Mouse HID (with parser) Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Mouse HID Host demo with HID parser, implementing a basic USB mouse host that can display movement data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MouseHostWithParser.txt"/>
-
-		<build type="c-source" value="MouseHostWithParser.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="c-source" value="HIDReport.c"/>
-		<build type="header-file" value="MouseHostWithParser.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-		<build type="header-file" value="HIDReport.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Mouse HID (with parser) Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.mouse_parser.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.mouse_parser"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.mouse_parser" caption="Mouse HID (with parser) Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Mouse HID Host demo with HID parser, implementing a basic USB mouse host that can display movement data on the board LEDs. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MouseHostWithParser.txt"/>
+
+		<build type="c-source" value="MouseHostWithParser.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="c-source" value="HIDReport.c"/>
+		<build type="header-file" value="MouseHostWithParser.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+		<build type="header-file" value="HIDReport.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 53 - 53
Demos/Host/LowLevel/PrinterHost/asf.xml

@@ -1,53 +1,53 @@
-<asf xmlversion="1.0">
-	<project caption="Printer Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.printer.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.printer"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.printer" caption="Printer Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Printer Host demo, implementing a basic USB printer host that can send raw printer control data to an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Printer Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="PrinterHost.txt"/>
-
-		<build type="c-source" value="PrinterHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="PrinterHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="c-source" value="Lib/PrinterCommands.c"/>
-		<build type="header-file" value="Lib/PrinterCommands.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Printer Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.printer.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.printer"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.printer" caption="Printer Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Printer Host demo, implementing a basic USB printer host that can send raw printer control data to an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Printer Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="PrinterHost.txt"/>
+
+		<build type="c-source" value="PrinterHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="PrinterHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="c-source" value="Lib/PrinterCommands.c"/>
+		<build type="header-file" value="Lib/PrinterCommands.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 53 - 53
Demos/Host/LowLevel/RNDISEthernetHost/asf.xml

@@ -1,53 +1,53 @@
-<asf xmlversion="1.0">
-	<project caption="RNDIS Ethernet Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.rndis.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.rndis"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.rndis" caption="RNDIS Ethernet Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Microsoft RNDIS Ethernet Host demo, implementing a RNDIS host that can send and receive Ethernet data to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="RNDIS Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="RNDISHost.txt"/>
-
-		<build type="c-source" value="RNDISEthernetHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="RNDISEthernetHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="c-source" value="Lib/RNDISCommands.c"/>
-		<build type="header-file" value="Lib/RNDISCommands.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="RNDIS Ethernet Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.rndis.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.rndis"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.rndis" caption="RNDIS Ethernet Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Microsoft RNDIS Ethernet Host demo, implementing a RNDIS host that can send and receive Ethernet data to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="RNDIS Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="RNDISHost.txt"/>
+
+		<build type="c-source" value="RNDISEthernetHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="RNDISEthernetHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="c-source" value="Lib/RNDISCommands.c"/>
+		<build type="header-file" value="Lib/RNDISCommands.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 54 - 54
Demos/Host/LowLevel/StillImageHost/asf.xml

@@ -1,54 +1,54 @@
-<asf xmlversion="1.0">
-	<project caption="Still Image Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.si.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.si"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.si" caption="Still Image Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Still Image Host demo, implementing a Still Image host that can send and receive PIMA data to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="Still Image Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="StillImageHost.txt"/>
-
-		<build type="c-source" value="StillImageHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="StillImageHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="c-source" value="Lib/StillImageCommands.c"/>
-		<build type="header-file" value="Lib/StillImageCommands.h"/>
-		<build type="header-file" value="Lib/PIMACodes.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Still Image Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.si.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.si"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.si" caption="Still Image Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Still Image Host demo, implementing a Still Image host that can send and receive PIMA data to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="Still Image Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="StillImageHost.txt"/>
+
+		<build type="c-source" value="StillImageHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="StillImageHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="c-source" value="Lib/StillImageCommands.c"/>
+		<build type="header-file" value="Lib/StillImageCommands.h"/>
+		<build type="header-file" value="Lib/PIMACodes.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 50 - 50
Demos/Host/LowLevel/VirtualSerialHost/asf.xml

@@ -1,50 +1,50 @@
-<asf xmlversion="1.0">
-	<project caption="Virtual Serial CDC Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.cdc.example.avr8">
-		<require idref="lufa.demos.host.lowlevel.cdc"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="none"/>
-
-		<build type="define" name="F_CPU" value="16000000UL"/>
-		<build type="define" name="F_USB" value="16000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.demos.host.lowlevel.cdc" caption="Virtual Serial CDC Host Demo (Low Level APIs)">
-		<info type="description" value="summary">
-		Virtual Serial Host demo, implementing a CDC host that can send and receive data to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="CDC Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="VirtualSerialHost.txt"/>
-
-		<build type="c-source" value="VirtualSerialHost.c"/>
-		<build type="c-source" value="ConfigDescriptor.c"/>
-		<build type="header-file" value="VirtualSerialHost.h"/>
-		<build type="header-file" value="ConfigDescriptor.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Virtual Serial CDC Host Demo (Low Level APIs)" id="lufa.demos.host.lowlevel.cdc.example.avr8">
+		<require idref="lufa.demos.host.lowlevel.cdc"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="none"/>
+
+		<build type="define" name="F_CPU" value="16000000UL"/>
+		<build type="define" name="F_USB" value="16000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.demos.host.lowlevel.cdc" caption="Virtual Serial CDC Host Demo (Low Level APIs)">
+		<info type="description" value="summary">
+		Virtual Serial Host demo, implementing a CDC host that can send and receive data to and from an attached device. This demo uses the Low Level LUFA APIs to manually implement a USB Class for demonstration purposes without using the simpler in-built LUFA Class Driver APIs.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="CDC Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="VirtualSerialHost.txt"/>
+
+		<build type="c-source" value="VirtualSerialHost.c"/>
+		<build type="c-source" value="ConfigDescriptor.c"/>
+		<build type="header-file" value="VirtualSerialHost.h"/>
+		<build type="header-file" value="ConfigDescriptor.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 55 - 55
LUFA/CodeTemplates/DeviceTemplate/asf.xml

@@ -1,55 +1,55 @@
-<asf xmlversion="1.0">
-	<project caption="USB Device Template" id="lufa.templates.device.project.avr8">
-		<require idref="lufa.templates.device"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8_template"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="usbkey"/>
-
-		<build type="define" name="F_CPU" value="8000000UL"/>
-		<build type="define" name="F_USB" value="8000000UL"/>
-	</project>
-
-	<project caption="USB Device Template" id="lufa.templates.device.project.xmega">
-		<require idref="lufa.templates.device"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8_template"/>
-
-		<device-support value="atxmega256a3bu"/>
-		<config name="lufa.drivers.board.name" value="a3bu_xplained"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.templates.device" caption="USB Device Template">
-		<info type="description" value="summary">
-		Template for a LUFA USB device mode application.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="USB Device"/>
-			<keyword value="Template Projects"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="c-source" value="DeviceApplication.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="DeviceApplication.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value=".."/>
-		<build type="header-file" value="../LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="USB Device Template" id="lufa.templates.device.project.avr8">
+		<require idref="lufa.templates.device"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8_template"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="usbkey"/>
+
+		<build type="define" name="F_CPU" value="8000000UL"/>
+		<build type="define" name="F_USB" value="8000000UL"/>
+	</project>
+
+	<project caption="USB Device Template" id="lufa.templates.device.project.xmega">
+		<require idref="lufa.templates.device"/>
+		<require idref="lufa.boards.dummy.xmega"/>
+		<generator value="as5_8_template"/>
+
+		<device-support value="atxmega256a3bu"/>
+		<config name="lufa.drivers.board.name" value="a3bu_xplained"/>
+
+		<build type="define" name="F_CPU" value="32000000UL"/>
+		<build type="define" name="F_USB" value="48000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.templates.device" caption="USB Device Template">
+		<info type="description" value="summary">
+		Template for a LUFA USB device mode application.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="USB Device"/>
+			<keyword value="Template Projects"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="c-source" value="DeviceApplication.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="DeviceApplication.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value=".."/>
+		<build type="header-file" value="../LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+	</module>
+</asf>

+ 41 - 41
LUFA/CodeTemplates/HostTemplate/asf.xml

@@ -1,41 +1,41 @@
-<asf xmlversion="1.0">
-	<project caption="USB Host Template" id="lufa.templates.host.project">
-		<require idref="lufa.templates.host"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8_template"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="usbkey"/>
-
-		<build type="define" name="F_CPU" value="8000000UL"/>
-		<build type="define" name="F_USB" value="8000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.templates.host" caption="USB Host Template">
-		<info type="description" value="summary">
-		Template for a LUFA USB host mode application.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="USB Host"/>
-			<keyword value="Template Projects"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="c-source" value="HostApplication.c"/>
-		<build type="header-file" value="HostApplication.h"/>
-
-		<build type="module-config" subtype="path" value=".."/>
-		<build type="header-file" value="../LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="USB Host Template" id="lufa.templates.host.project">
+		<require idref="lufa.templates.host"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8_template"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="usbkey"/>
+
+		<build type="define" name="F_CPU" value="8000000UL"/>
+		<build type="define" name="F_USB" value="8000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.templates.host" caption="USB Host Template">
+		<info type="description" value="summary">
+		Template for a LUFA USB host mode application.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="USB Host"/>
+			<keyword value="Template Projects"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="c-source" value="HostApplication.c"/>
+		<build type="header-file" value="HostApplication.h"/>
+
+		<build type="module-config" subtype="path" value=".."/>
+		<build type="header-file" value="../LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+	</module>
+</asf>

+ 281 - 281
LUFA/DoxygenPages/BuildSystem.txt

@@ -1,281 +1,281 @@
-/** \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_BuildSystem The LUFA Build System
- *
- *  \section Sec_BuildSystem_Overview Overview of the LUFA Build System
- *  The LUFA build system was originally an attempt at making a set of
- *  re-usable, modular build make files which could be referenced in a LUFA
- *  powered project, to minimize the amount of code required in an
- *  application makefile.
- *
- *  As it turned out to be fairly generic in nature, it was split out into its
- *  own separate project, called DMBS (<i>Dean's Makefile Build System</i>)
- *  which is released into the public domain. LUFA-specific portions of the
- *  LUFA build system extend DMBS, and provide a universal build system for all
- *  LUFA projects.
- *
- *  The latest DMBS project information and documentation can be found at:
- *  https://github.com/abcminiuser/dmbs
- *
- *  DMBS is written in GNU Make, and each module is independent of one-another.
- *
- *  LUFA now uses DMBS for its build system, with some LUFA specific extension
- *  modules.
- *
- *  If you have problems building using LUFA, see \subpage Page_BuildTroubleshooting for resolution steps.
- *
- *  \li \subpage Page_BuildModule_LUFA_SOURCES - The LUFA SOURCES extension module for DMBS
- *  \li \subpage Page_BuildModule_LUFA_GCC - The LUFA GCC extension module for DMBS
- */
-
-/** \page Page_BuildModule_LUFA_SOURCES LUFA SOURCES extension module for DMBS
- *
- *  The LUFA SOURCES extension more for DMBS provides LUFA specific variables
- *  listing the various LUFA source files required to be build by a project for
- *  a given LUFA module. This module gives a way to reference LUFA source files
- *  symbolically, so that changes to the library structure do not break the
- *  library makefile.
- *
- *  To use this module in your application makefile, add the following code:
- *  \code
- *  include $(LUFA_PATH)/Build/LUFA/lufa-sources.mk
- *  \endcode
- *
- *  \section SSec_BuildModule_LUFA_SOURCES_Requirements Requirements
- *  None.
- *
- *  \section SSec_BuildModule_LUFA_SOURCES_Targets Targets
- *
- *  <table>
- *   <tr>
- *    <td><i>None</i></td>
- *   </tr>
- *  </table>
- *
- *  \section SSec_BuildModule_LUFA_SOURCES_MandatoryParams Mandatory Parameters
- *
- *  <table>
- *   <tr>
- *    <td><tt>LUFA_PATH</tt></td>
- *    <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td>
- *   </tr>
- *   <tr>
- *    <td><tt>ARCH</tt></td>
- *    <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td>
- *   </tr>
- *  </table>
- *
- *  \section SSec_BuildModule_LUFA_SOURCES_OptionalParams Optional Parameters
- *
- *  <table>
- *   <tr>
- *    <td><i>None</i></td>
- *   </tr>
- *  </table>
- *
- *  \section SSec_BuildModule_LUFA_SOURCES_ProvidedVariables Module Provided Variables
- *
- *  <table>
- *   <tr>
- *    <td><tt>LUFA_SRC_USB</tt></td>
- *    <td>List of LUFA USB driver source files.</td>
- *   </tr>
- *   <tr>
- *    <td><tt>LUFA_SRC_USBCLASS</tt></td>
- *    <td>List of LUFA USB Class driver source files.</td>
- *   </tr>
- *   <tr>
- *    <td><tt>LUFA_SRC_TEMPERATURE</tt></td>
- *    <td>List of LUFA temperature sensor driver source files.</td>
- *   </tr>
- *   <tr>
- *    <td><tt>LUFA_SRC_SERIAL</tt></td>
- *    <td>List of LUFA Serial U(S)ART driver source files.</td>
- *   </tr>
- *   <tr>
- *    <td><tt>LUFA_SRC_TWI</tt></td>
- *    <td>List of LUFA TWI driver source files.</td>
- *   </tr>
- *   <tr>
- *    <td><tt>LUFA_SRC_PLATFORM</tt></td>
- *    <td>List of LUFA architecture specific platform management source files.</td>
- *   </tr>
- *  </table>
- *
- *  \section SSec_BuildModule_LUFA_SOURCES_ProvidedMacros Module Provided Macros
- *
- *  <table>
- *   <tr>
- *    <td><i>None</i></td>
- *   </tr>
- *  </table>
- */
-
-/** \page Page_BuildModule_LUFA_GCC LUFA GCC extension module for DMBS
- *
- *  The LUFA GCC extension module for the standard DMBS GCC module extends the
- *  latter to support the compilation of LUFA powered projects. It should be
- *  imported into your LUFA powered project makefiles to ensure that the correct
- *  build settings are used for the project's configuration.
- *
- *  To use this module in your application makefile, add the following code:
- *  \code
- *  include $(LUFA_PATH)/Build/LUFA/lufa-gcc.mk
- *  \endcode
- *
- *  \section SSec_BuildModule_LUFA_GCC_Requirements Requirements
- *  This module should be included in your makefile *after* the DMBS GCC module.
- *
- *  \section SSec_BuildModule_LUFA_GCC_Targets Targets
- *
- *  <table>
- *   <tr>
- *    <td><i>None</i></td>
- *   </tr>
- *  </table>
- *
- *  \section SSec_BuildModule_LUFA_GCC_MandatoryParams Mandatory Parameters
- *
- *  <table>
- *   <tr>
- *    <td><tt>LUFA_PATH</tt></td>
- *    <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td>
- *   </tr>
- *  </table>
- *
- *  \section SSec_BuildModule_LUFA_GCC_OptionalParams Optional Parameters
- *
- *  <table>
- *   <tr>
- *    <td><tt>BOARD</tt></td>
- *    <td>LUFA board hardware drivers to use (see \ref Page_DeviceSupport).</td>
- *   </tr>
- *  </table>
- *
- *  \section SSec_BuildModule_LUFA_GCC_ProvidedVariables Module Provided Variables
- *
- *  <table>
- *   <tr>
- *    <td><i>None</i></td>
- *   </tr>
- *  </table>
- *
- *  \section SSec_BuildModule_LUFA_GCC_ProvidedMacros Module Provided Macros
- *
- *  <table>
- *   <tr>
- *    <td><i>None</i></td>
- *   </tr>
- *  </table>
- */
-
-/** \page Page_BuildTroubleshooting Troubleshooting Information
- *
- *  LUFA uses a lot of advanced features of the AVR-GCC compiler, linker, and
- *  surrounding binaries. This can sometimes lead to problems compiling
- *  applications if one of these features is buggy in the version of the tools
- *  used in a build environment. Missing utilities and incorrectly set makefile
- *  configuration options can also result in different errors being produced
- *  when compilation or other operations are attempted. The table below lists a
- *  set of commonly encountered errors and their resolutions.
- *
- *  <table>
- *    <tr>
- *    <th>Problem</th>
- *    <th>Resolution</th>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>relocation truncated to fit: R_AVR_13_PCREL against symbol <i>{X}</i></tt></b>&quot; shown when compiling.</td>
- *    <td>Try compiling with the setting <tt>LINKER_RELAXATIONS=N</tt> in your LUFA Build System 2.0 makefile, or remove the line <tt>-Wl,--relax</tt>
- *        from other makefiles. Alternatively, make sure you have the latest version of the Atmel Toolchain installed for your system.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>error: ld terminated with signal 11 [Segmentation fault]</tt></b>&quot; shown when compiling.</td>
- *    <td>Try compiling with the setting <tt>DEBUG_LEVEL=2</tt> in your LUFA Build System 2.0 makefile, or make sure you are using <tt>binutils</tt> version 2.22 or later.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>EMERGENCY ABORT: INFINITE RECURSION DETECTED</tt></b>&quot; shown when compiling.</td>
- *    <td>Make sure you are using an up to date version of GNU Make when compiling. This error is a safety system added to the mid-level makefiles, to prevent an issue with
- *        GNU make or other variants of Make causing an infinitely recursive build.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>Unsupported architecture &quot;<i>{X}</i>&quot;</tt></b>&quot; shown when compiling.</td>
- *    <td>Ensure your makefile's <tt>ARCH</tt> setting is set to one of the architecture names (case-sensitive) supported by the version of LUFA you are compiling against.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>Makefile <i>{X}</i> value not set</tt></b>&quot; shown when compiling.</td>
- *    <td>The specified Makefile value was not configured in your project's makefile or on the command line, and the nominated setting is required by one or more LUFA
- *        build system modules. Define the value in your project makefile and try again.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>Makefile <i>{X}</i> option cannot be blank</tt></b>&quot; shown when compiling.</td>
- *    <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to an empty value. For the nominated configuration
- *        option, an empty value is not allowed. Define the nominated setting to a correct non-blank value and try again.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>Makefile <i>{X}</i> option must be Y or N</tt></b>&quot; shown when compiling.</td>
- *    <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to a value other than a Y (for "Yes") or "N" (for "No").
- *        This configuration option is required to be one of the aforementioned boolean values, and other values are invalid. Set this option to either Y or N and try again.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>Unknown input source file formats: <i>{X}</i></tt></b>&quot; shown when compiling.</td>
- *    <td>The nominated source files, specified in your project's makefile in the <tt>SRC</tt> configuration option, has an extension that the LUFA build system does not
- *        recognise. The file extensions are case sensitive, and must be one of the supported formats (<tt>*.c</tt>, <tt>*.cpp</tt> or <tt>*.S</tt>).</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>Cannot build with OBJDIR parameter set - one or more object file name is not unique</tt></b>&quot; shown when compiling.</td>
- *    <td>When a project is built with a non-empty <tt>OBJDIR</tt> object directory name set, all input source files must have unique names, excluding extension and path.
- *        This means that input files that are named identically and differ only by their path or extension are invalid when this mode is used.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>Source file does not exist: <i>{X}</i></tt></b>&quot; shown when compiling.</td>
- *    <td>The nominated input source file, specified in the user project's <tt>SRC</tt> parameter, could not be found. Ensure the source file exists and the absolute or
- *        relative path given in the user project makefile is correct and try again.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>Doxygen configuration file <i>{X}</i> does not exist</tt></b>&quot; shown when upgrading a Doxygen configuration file.</td>
- *    <td>The nominated Doxygen configuration file, specified in the user project's <tt>DOXYGEN_CONF</tt> parameter, could not be found. Ensure the configuration file exists
- *        and the absolute or relative path given in the user project makefile is correct and try again, or run the appropriate makefile target to generate a new configuration
- *        file.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>avr-gcc: error: unrecognized option '<i>{X}</i>'</tt></b>&quot; shown when compiling.</td>
- *    <td>An unrecognised option was supplied to the compiler, usually in the <tt>C_FLAGS</tt>, <tt>CPP_FLAGS</tt>, <tt>ASM_FLAGS</tt> or <tt>CC_FLAGS</tt> configuration
- *        options. The nominated compiler switch may be invalid, or unsupported by the version of AVR-GCC on the host system. Remove the unrecognised flag if invalid, or
- *        upgrade to the latest AVR-GCC. If the option is a valid linker option, use the prefix "-Wl," to ensure it is passed to the linker correctly.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>makefile:{X}: {Y}.mk: No such file or directory</tt></b>&quot; shown when make is invoked.</td>
- *    <td>The path to the nominated makefile module was incorrect. This usually indicates that the makefile <tt>LUFA_PATH</tt> option is not set to a valid relative or
- *        absolute path to the LUFA library core.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>fatal error: LUFAConfig.h: No such file or directory</tt></b>&quot; shown when compiling.</td>
- *    <td>The <tt>USE_LUFA_CONFIG_HEADER</tt> compile time option was set in the user project makefile, but the user supplied <tt>LUFAConfig.h</tt> header could not be
- *        found. Ensure that the directory that contains this configuration file is correctly passed to the compiler via the -I switch in the makefile <tt>CC_FLAGS</tt>
- *        parameter.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>ld.exe: section .apitable_trampolines loaded at <i>{X}</i> overlaps section .text</tt></b>&quot; shown when compiling a bootloader.</td>
- *    <td>The bootloader is compiling too large for the given <tt>FLASH_SIZE_KB</tt> and <tt>BOOT_SECTION_SIZE_KB</tt> parameters set in the bootloader makefile. This
- *        usually indicates that these values are incorrect for the specified device the bootloader is targeting. If these values are correct, a newer version of the
- *        compiler may need to be used to ensure that the bootloader is built within the section size constraints of the target device.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>unknown MCU '<i>{X}</i>' specified</tt></b>&quot; shown when compiling.</td>
- *    <td>The specified microcontroller device model name set in the user application's makefile as the <tt>MCU</tt> parameter is incorrect, or unsupported by the
- *        version of the compiler being used. Make sure the model name is correct, or upgrade to the latest Atmel Toolchain to obtain newer device support.</td>
- *   </tr>
- *   <tr>
- *    <td>Error &quot;<b><tt>undefined reference to `<i>{X}</i>'</tt></b>&quot; shown when compiling.</td>
- *    <td>This is usually caused by a missing source file in the user application's <tt>SRC</tt> configuration parameter. If the indicated symbol is one from the LUFA
- *        library, you may be missing a LUFA source makefile module (see \ref Page_BuildModule_LUFA_SOURCES).</td>
- *   </tr>
- *  </table>
- *
- *  For troubleshooting other errors you encounter, please see \ref Sec_ProjectHelp.
- */
+/** \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_BuildSystem The LUFA Build System
+ *
+ *  \section Sec_BuildSystem_Overview Overview of the LUFA Build System
+ *  The LUFA build system was originally an attempt at making a set of
+ *  re-usable, modular build make files which could be referenced in a LUFA
+ *  powered project, to minimize the amount of code required in an
+ *  application makefile.
+ *
+ *  As it turned out to be fairly generic in nature, it was split out into its
+ *  own separate project, called DMBS (<i>Dean's Makefile Build System</i>)
+ *  which is released into the public domain. LUFA-specific portions of the
+ *  LUFA build system extend DMBS, and provide a universal build system for all
+ *  LUFA projects.
+ *
+ *  The latest DMBS project information and documentation can be found at:
+ *  https://github.com/abcminiuser/dmbs
+ *
+ *  DMBS is written in GNU Make, and each module is independent of one-another.
+ *
+ *  LUFA now uses DMBS for its build system, with some LUFA specific extension
+ *  modules.
+ *
+ *  If you have problems building using LUFA, see \subpage Page_BuildTroubleshooting for resolution steps.
+ *
+ *  \li \subpage Page_BuildModule_LUFA_SOURCES - The LUFA SOURCES extension module for DMBS
+ *  \li \subpage Page_BuildModule_LUFA_GCC - The LUFA GCC extension module for DMBS
+ */
+
+/** \page Page_BuildModule_LUFA_SOURCES LUFA SOURCES extension module for DMBS
+ *
+ *  The LUFA SOURCES extension more for DMBS provides LUFA specific variables
+ *  listing the various LUFA source files required to be build by a project for
+ *  a given LUFA module. This module gives a way to reference LUFA source files
+ *  symbolically, so that changes to the library structure do not break the
+ *  library makefile.
+ *
+ *  To use this module in your application makefile, add the following code:
+ *  \code
+ *  include $(LUFA_PATH)/Build/LUFA/lufa-sources.mk
+ *  \endcode
+ *
+ *  \section SSec_BuildModule_LUFA_SOURCES_Requirements Requirements
+ *  None.
+ *
+ *  \section SSec_BuildModule_LUFA_SOURCES_Targets Targets
+ *
+ *  <table>
+ *   <tr>
+ *    <td><i>None</i></td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_BuildModule_LUFA_SOURCES_MandatoryParams Mandatory Parameters
+ *
+ *  <table>
+ *   <tr>
+ *    <td><tt>LUFA_PATH</tt></td>
+ *    <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td>
+ *   </tr>
+ *   <tr>
+ *    <td><tt>ARCH</tt></td>
+ *    <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_BuildModule_LUFA_SOURCES_OptionalParams Optional Parameters
+ *
+ *  <table>
+ *   <tr>
+ *    <td><i>None</i></td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_BuildModule_LUFA_SOURCES_ProvidedVariables Module Provided Variables
+ *
+ *  <table>
+ *   <tr>
+ *    <td><tt>LUFA_SRC_USB</tt></td>
+ *    <td>List of LUFA USB driver source files.</td>
+ *   </tr>
+ *   <tr>
+ *    <td><tt>LUFA_SRC_USBCLASS</tt></td>
+ *    <td>List of LUFA USB Class driver source files.</td>
+ *   </tr>
+ *   <tr>
+ *    <td><tt>LUFA_SRC_TEMPERATURE</tt></td>
+ *    <td>List of LUFA temperature sensor driver source files.</td>
+ *   </tr>
+ *   <tr>
+ *    <td><tt>LUFA_SRC_SERIAL</tt></td>
+ *    <td>List of LUFA Serial U(S)ART driver source files.</td>
+ *   </tr>
+ *   <tr>
+ *    <td><tt>LUFA_SRC_TWI</tt></td>
+ *    <td>List of LUFA TWI driver source files.</td>
+ *   </tr>
+ *   <tr>
+ *    <td><tt>LUFA_SRC_PLATFORM</tt></td>
+ *    <td>List of LUFA architecture specific platform management source files.</td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_BuildModule_LUFA_SOURCES_ProvidedMacros Module Provided Macros
+ *
+ *  <table>
+ *   <tr>
+ *    <td><i>None</i></td>
+ *   </tr>
+ *  </table>
+ */
+
+/** \page Page_BuildModule_LUFA_GCC LUFA GCC extension module for DMBS
+ *
+ *  The LUFA GCC extension module for the standard DMBS GCC module extends the
+ *  latter to support the compilation of LUFA powered projects. It should be
+ *  imported into your LUFA powered project makefiles to ensure that the correct
+ *  build settings are used for the project's configuration.
+ *
+ *  To use this module in your application makefile, add the following code:
+ *  \code
+ *  include $(LUFA_PATH)/Build/LUFA/lufa-gcc.mk
+ *  \endcode
+ *
+ *  \section SSec_BuildModule_LUFA_GCC_Requirements Requirements
+ *  This module should be included in your makefile *after* the DMBS GCC module.
+ *
+ *  \section SSec_BuildModule_LUFA_GCC_Targets Targets
+ *
+ *  <table>
+ *   <tr>
+ *    <td><i>None</i></td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_BuildModule_LUFA_GCC_MandatoryParams Mandatory Parameters
+ *
+ *  <table>
+ *   <tr>
+ *    <td><tt>LUFA_PATH</tt></td>
+ *    <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_BuildModule_LUFA_GCC_OptionalParams Optional Parameters
+ *
+ *  <table>
+ *   <tr>
+ *    <td><tt>BOARD</tt></td>
+ *    <td>LUFA board hardware drivers to use (see \ref Page_DeviceSupport).</td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_BuildModule_LUFA_GCC_ProvidedVariables Module Provided Variables
+ *
+ *  <table>
+ *   <tr>
+ *    <td><i>None</i></td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_BuildModule_LUFA_GCC_ProvidedMacros Module Provided Macros
+ *
+ *  <table>
+ *   <tr>
+ *    <td><i>None</i></td>
+ *   </tr>
+ *  </table>
+ */
+
+/** \page Page_BuildTroubleshooting Troubleshooting Information
+ *
+ *  LUFA uses a lot of advanced features of the AVR-GCC compiler, linker, and
+ *  surrounding binaries. This can sometimes lead to problems compiling
+ *  applications if one of these features is buggy in the version of the tools
+ *  used in a build environment. Missing utilities and incorrectly set makefile
+ *  configuration options can also result in different errors being produced
+ *  when compilation or other operations are attempted. The table below lists a
+ *  set of commonly encountered errors and their resolutions.
+ *
+ *  <table>
+ *    <tr>
+ *    <th>Problem</th>
+ *    <th>Resolution</th>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>relocation truncated to fit: R_AVR_13_PCREL against symbol <i>{X}</i></tt></b>&quot; shown when compiling.</td>
+ *    <td>Try compiling with the setting <tt>LINKER_RELAXATIONS=N</tt> in your LUFA Build System 2.0 makefile, or remove the line <tt>-Wl,--relax</tt>
+ *        from other makefiles. Alternatively, make sure you have the latest version of the Atmel Toolchain installed for your system.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>error: ld terminated with signal 11 [Segmentation fault]</tt></b>&quot; shown when compiling.</td>
+ *    <td>Try compiling with the setting <tt>DEBUG_LEVEL=2</tt> in your LUFA Build System 2.0 makefile, or make sure you are using <tt>binutils</tt> version 2.22 or later.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>EMERGENCY ABORT: INFINITE RECURSION DETECTED</tt></b>&quot; shown when compiling.</td>
+ *    <td>Make sure you are using an up to date version of GNU Make when compiling. This error is a safety system added to the mid-level makefiles, to prevent an issue with
+ *        GNU make or other variants of Make causing an infinitely recursive build.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>Unsupported architecture &quot;<i>{X}</i>&quot;</tt></b>&quot; shown when compiling.</td>
+ *    <td>Ensure your makefile's <tt>ARCH</tt> setting is set to one of the architecture names (case-sensitive) supported by the version of LUFA you are compiling against.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>Makefile <i>{X}</i> value not set</tt></b>&quot; shown when compiling.</td>
+ *    <td>The specified Makefile value was not configured in your project's makefile or on the command line, and the nominated setting is required by one or more LUFA
+ *        build system modules. Define the value in your project makefile and try again.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>Makefile <i>{X}</i> option cannot be blank</tt></b>&quot; shown when compiling.</td>
+ *    <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to an empty value. For the nominated configuration
+ *        option, an empty value is not allowed. Define the nominated setting to a correct non-blank value and try again.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>Makefile <i>{X}</i> option must be Y or N</tt></b>&quot; shown when compiling.</td>
+ *    <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to a value other than a Y (for "Yes") or "N" (for "No").
+ *        This configuration option is required to be one of the aforementioned boolean values, and other values are invalid. Set this option to either Y or N and try again.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>Unknown input source file formats: <i>{X}</i></tt></b>&quot; shown when compiling.</td>
+ *    <td>The nominated source files, specified in your project's makefile in the <tt>SRC</tt> configuration option, has an extension that the LUFA build system does not
+ *        recognise. The file extensions are case sensitive, and must be one of the supported formats (<tt>*.c</tt>, <tt>*.cpp</tt> or <tt>*.S</tt>).</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>Cannot build with OBJDIR parameter set - one or more object file name is not unique</tt></b>&quot; shown when compiling.</td>
+ *    <td>When a project is built with a non-empty <tt>OBJDIR</tt> object directory name set, all input source files must have unique names, excluding extension and path.
+ *        This means that input files that are named identically and differ only by their path or extension are invalid when this mode is used.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>Source file does not exist: <i>{X}</i></tt></b>&quot; shown when compiling.</td>
+ *    <td>The nominated input source file, specified in the user project's <tt>SRC</tt> parameter, could not be found. Ensure the source file exists and the absolute or
+ *        relative path given in the user project makefile is correct and try again.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>Doxygen configuration file <i>{X}</i> does not exist</tt></b>&quot; shown when upgrading a Doxygen configuration file.</td>
+ *    <td>The nominated Doxygen configuration file, specified in the user project's <tt>DOXYGEN_CONF</tt> parameter, could not be found. Ensure the configuration file exists
+ *        and the absolute or relative path given in the user project makefile is correct and try again, or run the appropriate makefile target to generate a new configuration
+ *        file.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>avr-gcc: error: unrecognized option '<i>{X}</i>'</tt></b>&quot; shown when compiling.</td>
+ *    <td>An unrecognised option was supplied to the compiler, usually in the <tt>C_FLAGS</tt>, <tt>CPP_FLAGS</tt>, <tt>ASM_FLAGS</tt> or <tt>CC_FLAGS</tt> configuration
+ *        options. The nominated compiler switch may be invalid, or unsupported by the version of AVR-GCC on the host system. Remove the unrecognised flag if invalid, or
+ *        upgrade to the latest AVR-GCC. If the option is a valid linker option, use the prefix "-Wl," to ensure it is passed to the linker correctly.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>makefile:{X}: {Y}.mk: No such file or directory</tt></b>&quot; shown when make is invoked.</td>
+ *    <td>The path to the nominated makefile module was incorrect. This usually indicates that the makefile <tt>LUFA_PATH</tt> option is not set to a valid relative or
+ *        absolute path to the LUFA library core.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>fatal error: LUFAConfig.h: No such file or directory</tt></b>&quot; shown when compiling.</td>
+ *    <td>The <tt>USE_LUFA_CONFIG_HEADER</tt> compile time option was set in the user project makefile, but the user supplied <tt>LUFAConfig.h</tt> header could not be
+ *        found. Ensure that the directory that contains this configuration file is correctly passed to the compiler via the -I switch in the makefile <tt>CC_FLAGS</tt>
+ *        parameter.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>ld.exe: section .apitable_trampolines loaded at <i>{X}</i> overlaps section .text</tt></b>&quot; shown when compiling a bootloader.</td>
+ *    <td>The bootloader is compiling too large for the given <tt>FLASH_SIZE_KB</tt> and <tt>BOOT_SECTION_SIZE_KB</tt> parameters set in the bootloader makefile. This
+ *        usually indicates that these values are incorrect for the specified device the bootloader is targeting. If these values are correct, a newer version of the
+ *        compiler may need to be used to ensure that the bootloader is built within the section size constraints of the target device.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>unknown MCU '<i>{X}</i>' specified</tt></b>&quot; shown when compiling.</td>
+ *    <td>The specified microcontroller device model name set in the user application's makefile as the <tt>MCU</tt> parameter is incorrect, or unsupported by the
+ *        version of the compiler being used. Make sure the model name is correct, or upgrade to the latest Atmel Toolchain to obtain newer device support.</td>
+ *   </tr>
+ *   <tr>
+ *    <td>Error &quot;<b><tt>undefined reference to `<i>{X}</i>'</tt></b>&quot; shown when compiling.</td>
+ *    <td>This is usually caused by a missing source file in the user application's <tt>SRC</tt> configuration parameter. If the indicated symbol is one from the LUFA
+ *        library, you may be missing a LUFA source makefile module (see \ref Page_BuildModule_LUFA_SOURCES).</td>
+ *   </tr>
+ *  </table>
+ *
+ *  For troubleshooting other errors you encounter, please see \ref Sec_ProjectHelp.
+ */

+ 65 - 65
LUFA/Drivers/Board/AVR8/QMK/Board.h

@@ -1,65 +1,65 @@
-/*
-Copyright 2017 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/** \file
- *  \brief General driver header for QMK-powered keyboards.
- *  \copydetails Group_BoardInfo_QMK
- *
- *  \note This file should not be included directly. It is automatically included as needed by the Board driver
- *        dispatch header located in LUFA/Drivers/Board/Board.h.
- */
-
-/** \ingroup Group_BoardInfo
- *  \defgroup Group_BoardInfo_QMK QMK
- *  \brief General driver header for QMK-powered keyboards.
- *
- *  General driver header for QMK-powered keyboards (http://qmk.fm).
- *
- *  @{
- */
-
-#ifndef __BOARD_QMK_H__
-#define __BOARD_QMK_H__
-
-	/* Includes: */
-		#include "../../../../Common/Common.h"
-		#include "../../LEDs.h"
-
-	/* Enable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			extern "C" {
-		#endif
-
-	/* Preprocessor Checks: */
-		#if !defined(__INCLUDE_FROM_BOARD_H)
-			#error Do not include this file directly. Include LUFA/Drivers/Board/Board.h instead.
-		#endif
-
-	/* Public Interface - May be used in end-application: */
-		/* Macros: */
-			/** Indicates the board has hardware LEDs mounted. */
-			#define BOARD_HAS_LEDS
-
-	/* Disable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			}
-		#endif
-
-#endif
-
-/** @} */
-
+/*
+Copyright 2017 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/** \file
+ *  \brief General driver header for QMK-powered keyboards.
+ *  \copydetails Group_BoardInfo_QMK
+ *
+ *  \note This file should not be included directly. It is automatically included as needed by the Board driver
+ *        dispatch header located in LUFA/Drivers/Board/Board.h.
+ */
+
+/** \ingroup Group_BoardInfo
+ *  \defgroup Group_BoardInfo_QMK QMK
+ *  \brief General driver header for QMK-powered keyboards.
+ *
+ *  General driver header for QMK-powered keyboards (http://qmk.fm).
+ *
+ *  @{
+ */
+
+#ifndef __BOARD_QMK_H__
+#define __BOARD_QMK_H__
+
+	/* Includes: */
+		#include "../../../../Common/Common.h"
+		#include "../../LEDs.h"
+
+	/* Enable C linkage for C++ Compilers: */
+		#if defined(__cplusplus)
+			extern "C" {
+		#endif
+
+	/* Preprocessor Checks: */
+		#if !defined(__INCLUDE_FROM_BOARD_H)
+			#error Do not include this file directly. Include LUFA/Drivers/Board/Board.h instead.
+		#endif
+
+	/* Public Interface - May be used in end-application: */
+		/* Macros: */
+			/** Indicates the board has hardware LEDs mounted. */
+			#define BOARD_HAS_LEDS
+
+	/* Disable C linkage for C++ Compilers: */
+		#if defined(__cplusplus)
+			}
+		#endif
+
+#endif
+
+/** @} */
+

+ 194 - 194
LUFA/Drivers/Board/AVR8/QMK/LEDs.h

@@ -1,194 +1,194 @@
-/*
-Copyright 2017 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/** \file
- *  \brief General driver header for QMK-powered keyboards.
- *  \copydetails Group_LEDs_QMK
- *
- *  \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- *        dispatch header located in LUFA/Drivers/Board/LEDs.h.
- */
-
-/** \ingroup Group_LEDs
- *  \defgroup Group_LEDs_QMK QMK
- *  \brief General driver header for QMK-powered keyboards.
- *
- *  General driver header for QMK-powered keyboards (http://qmk.fm).
- *
- *  <b>QMK</b>:
- *  <table>
- *    <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
- *    <tr><td>LEDS_LED1</td><td>Green</td><td>General Indicator</td><td>High</td><td>PORT(QMK_LED).6</td></tr>
- *  </table>
- *
- *  @{
- */
-
-#ifndef __LEDS_QMK_H__
-#define __LEDS_QMK_H__
-
-    /* Includes: */
-        #include "../../../../Common/Common.h"
-
-    /* Enable C linkage for C++ Compilers: */
-        #if defined(__cplusplus)
-            extern "C" {
-        #endif
-
-    /* Preprocessor Checks: */
-        #if !defined(__INCLUDE_FROM_LEDS_H)
-            #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
-        #endif
-
-        #define B0 0x30
-        #define B1 0x31
-        #define B2 0x32
-        #define B3 0x33
-        #define B4 0x34
-        #define B5 0x35
-        #define B6 0x36
-        #define B7 0x37
-        #define C0 0x60
-        #define C1 0x61
-        #define C2 0x62
-        #define C3 0x63
-        #define C4 0x64
-        #define C5 0x65
-        #define C6 0x66
-        #define C7 0x67
-        #define D0 0x90
-        #define D1 0x91
-        #define D2 0x92
-        #define D3 0x93
-        #define D4 0x94
-        #define D5 0x95
-        #define D6 0x96
-        #define D7 0x97
-        #define E0 0xC0
-        #define E1 0xC1
-        #define E2 0xC2
-        #define E3 0xC3
-        #define E4 0xC4
-        #define E5 0xC5
-        #define E6 0xC6
-        #define E7 0xC7
-        #define F0 0xF0
-        #define F1 0xF1
-        #define F2 0xF2
-        #define F3 0xF3
-        #define F4 0xF4
-        #define F5 0xF5
-        #define F6 0xF6
-        #define F7 0xF7
-        #define A0 0x00
-        #define A1 0x01
-        #define A2 0x02
-        #define A3 0x03
-        #define A4 0x04
-        #define A5 0x05
-        #define A6 0x06
-        #define A7 0x07
-
-        #define QMK_ESC_COL F1
-        #define QMK_ESC_ROW D5
-        #define QMK_LED     E6
-        #define QMK_SPEAKER C6
-
-        #define DDR(pin) _SFR_IO8(((pin) >> 4) + 1)
-        #define PORT(pin) _SFR_IO8(((pin) >> 4) + 2)
-        #define PIN(pin) _SFR_IO8((pin) >> 4)
-        #define NUM(pin) _BV((pin) & 0xF)
-
-    /* Public Interface - May be used in end-application: */
-        /* Macros: */
-            /** LED mask for the first LED on the board. */
-            #define LEDS_LED1        NUM(QMK_LED)
-            #define LEDS_LED2        NUM(QMK_SPEAKER)
-
-            /** LED mask for all the LEDs on the board. */
-            #define LEDS_ALL_LEDS    LEDS_LED1 | LEDS_LED2
-
-            /** LED mask for none of the board LEDs. */
-            #define LEDS_NO_LEDS     0
-
-        /* Inline Functions: */
-        #if !defined(__DOXYGEN__)
-            static inline void LEDs_Init(void)
-            {
-                DDR(QMK_LED)  |= LEDS_LED1;
-                PORT(QMK_LED) |= LEDS_LED1;
-
-                DDR(QMK_SPEAKER)  |= LEDS_LED2;
-                PORT(QMK_SPEAKER) |= LEDS_LED2;
-            }
-
-            static inline void LEDs_Disable(void)
-            {
-                DDR(QMK_LED)  &= ~LEDS_LED1;
-                PORT(QMK_LED) &= ~LEDS_LED2;
-
-                DDR(QMK_SPEAKER)  &= ~LEDS_LED1;
-                PORT(QMK_SPEAKER) &= ~LEDS_LED2;
-            }
-
-            static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
-            {
-                PORT(QMK_LED) &= (LEDS_LED1 & ~LEDMask);
-                PORT(QMK_SPEAKER) &= (LEDS_LED2 & ~LEDMask);
-            }
-
-            static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
-            {
-                PORT(QMK_LED) |=  (LEDS_LED1 & LEDMask);
-                PORT(QMK_SPEAKER) |=  (LEDS_LED2 & LEDMask);
-            }
-
-            static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
-            {
-                PORT(QMK_LED) = ((PORT(QMK_LED) | LEDS_LED1) & ~LEDMask);
-                PORT(QMK_SPEAKER) = ((PORT(QMK_SPEAKER) | LEDS_LED2) & ~LEDMask);
-            }
-
-            static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
-                                               const uint8_t ActiveMask)
-            {
-                PORT(QMK_LED) = ((PORT(QMK_LED) | (LEDS_LED1 & LEDMask)) & ~ActiveMask);
-                PORT(QMK_SPEAKER) = ((PORT(QMK_SPEAKER) | (LEDS_LED1 & LEDMask)) & ~ActiveMask);
-            }
-
-            static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
-            {
-                PIN(QMK_LED)  = (LEDS_LED1 & LEDMask);
-                PIN(QMK_SPEAKER)  = (LEDS_LED2 & LEDMask);
-            }
-
-            static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
-            static inline uint8_t LEDs_GetLEDs(void)
-            {
-                return (~PORT(QMK_LED) & LEDS_LED1) | (~(PORT(QMK_SPEAKER) & LEDS_LED2));
-            }
-        #endif
-
-    /* Disable C linkage for C++ Compilers: */
-        #if defined(__cplusplus)
-            }
-        #endif
-
-#endif
-
-/** @} */
-
+/*
+Copyright 2017 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/** \file
+ *  \brief General driver header for QMK-powered keyboards.
+ *  \copydetails Group_LEDs_QMK
+ *
+ *  \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ *        dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ *  \defgroup Group_LEDs_QMK QMK
+ *  \brief General driver header for QMK-powered keyboards.
+ *
+ *  General driver header for QMK-powered keyboards (http://qmk.fm).
+ *
+ *  <b>QMK</b>:
+ *  <table>
+ *    <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
+ *    <tr><td>LEDS_LED1</td><td>Green</td><td>General Indicator</td><td>High</td><td>PORT(QMK_LED).6</td></tr>
+ *  </table>
+ *
+ *  @{
+ */
+
+#ifndef __LEDS_QMK_H__
+#define __LEDS_QMK_H__
+
+    /* Includes: */
+        #include "../../../../Common/Common.h"
+
+    /* Enable C linkage for C++ Compilers: */
+        #if defined(__cplusplus)
+            extern "C" {
+        #endif
+
+    /* Preprocessor Checks: */
+        #if !defined(__INCLUDE_FROM_LEDS_H)
+            #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+        #endif
+
+        #define B0 0x30
+        #define B1 0x31
+        #define B2 0x32
+        #define B3 0x33
+        #define B4 0x34
+        #define B5 0x35
+        #define B6 0x36
+        #define B7 0x37
+        #define C0 0x60
+        #define C1 0x61
+        #define C2 0x62
+        #define C3 0x63
+        #define C4 0x64
+        #define C5 0x65
+        #define C6 0x66
+        #define C7 0x67
+        #define D0 0x90
+        #define D1 0x91
+        #define D2 0x92
+        #define D3 0x93
+        #define D4 0x94
+        #define D5 0x95
+        #define D6 0x96
+        #define D7 0x97
+        #define E0 0xC0
+        #define E1 0xC1
+        #define E2 0xC2
+        #define E3 0xC3
+        #define E4 0xC4
+        #define E5 0xC5
+        #define E6 0xC6
+        #define E7 0xC7
+        #define F0 0xF0
+        #define F1 0xF1
+        #define F2 0xF2
+        #define F3 0xF3
+        #define F4 0xF4
+        #define F5 0xF5
+        #define F6 0xF6
+        #define F7 0xF7
+        #define A0 0x00
+        #define A1 0x01
+        #define A2 0x02
+        #define A3 0x03
+        #define A4 0x04
+        #define A5 0x05
+        #define A6 0x06
+        #define A7 0x07
+
+        #define QMK_ESC_COL F1
+        #define QMK_ESC_ROW D5
+        #define QMK_LED     E6
+        #define QMK_SPEAKER C6
+
+        #define DDR(pin) _SFR_IO8(((pin) >> 4) + 1)
+        #define PORT(pin) _SFR_IO8(((pin) >> 4) + 2)
+        #define PIN(pin) _SFR_IO8((pin) >> 4)
+        #define NUM(pin) _BV((pin) & 0xF)
+
+    /* Public Interface - May be used in end-application: */
+        /* Macros: */
+            /** LED mask for the first LED on the board. */
+            #define LEDS_LED1        NUM(QMK_LED)
+            #define LEDS_LED2        NUM(QMK_SPEAKER)
+
+            /** LED mask for all the LEDs on the board. */
+            #define LEDS_ALL_LEDS    LEDS_LED1 | LEDS_LED2
+
+            /** LED mask for none of the board LEDs. */
+            #define LEDS_NO_LEDS     0
+
+        /* Inline Functions: */
+        #if !defined(__DOXYGEN__)
+            static inline void LEDs_Init(void)
+            {
+                DDR(QMK_LED)  |= LEDS_LED1;
+                PORT(QMK_LED) |= LEDS_LED1;
+
+                DDR(QMK_SPEAKER)  |= LEDS_LED2;
+                PORT(QMK_SPEAKER) |= LEDS_LED2;
+            }
+
+            static inline void LEDs_Disable(void)
+            {
+                DDR(QMK_LED)  &= ~LEDS_LED1;
+                PORT(QMK_LED) &= ~LEDS_LED2;
+
+                DDR(QMK_SPEAKER)  &= ~LEDS_LED1;
+                PORT(QMK_SPEAKER) &= ~LEDS_LED2;
+            }
+
+            static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+            {
+                PORT(QMK_LED) &= (LEDS_LED1 & ~LEDMask);
+                PORT(QMK_SPEAKER) &= (LEDS_LED2 & ~LEDMask);
+            }
+
+            static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+            {
+                PORT(QMK_LED) |=  (LEDS_LED1 & LEDMask);
+                PORT(QMK_SPEAKER) |=  (LEDS_LED2 & LEDMask);
+            }
+
+            static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+            {
+                PORT(QMK_LED) = ((PORT(QMK_LED) | LEDS_LED1) & ~LEDMask);
+                PORT(QMK_SPEAKER) = ((PORT(QMK_SPEAKER) | LEDS_LED2) & ~LEDMask);
+            }
+
+            static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+                                               const uint8_t ActiveMask)
+            {
+                PORT(QMK_LED) = ((PORT(QMK_LED) | (LEDS_LED1 & LEDMask)) & ~ActiveMask);
+                PORT(QMK_SPEAKER) = ((PORT(QMK_SPEAKER) | (LEDS_LED1 & LEDMask)) & ~ActiveMask);
+            }
+
+            static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+            {
+                PIN(QMK_LED)  = (LEDS_LED1 & LEDMask);
+                PIN(QMK_SPEAKER)  = (LEDS_LED2 & LEDMask);
+            }
+
+            static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+            static inline uint8_t LEDs_GetLEDs(void)
+            {
+                return (~PORT(QMK_LED) & LEDS_LED1) | (~(PORT(QMK_SPEAKER) & LEDS_LED2));
+            }
+        #endif
+
+    /* Disable C linkage for C++ Compilers: */
+        #if defined(__cplusplus)
+            }
+        #endif
+
+#endif
+
+/** @} */
+

+ 1 - 1
LUFA/StudioIntegration/Docbook/placeholder.txt

@@ -1 +1 @@
-Copy the Docbook XSLT docbook-xsl-1.78.1 release contents into this directory (i.e. with the root Docbook files in the current folder). The Docbook releases can be found at http://sourceforge.net/projects/docbook/files/docbook-xsl/ .
+Copy the Docbook XSLT docbook-xsl-1.78.1 release contents into this directory (i.e. with the root Docbook files in the current folder). The Docbook releases can be found at http://sourceforge.net/projects/docbook/files/docbook-xsl/ .

+ 45 - 45
LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt

@@ -1,45 +1,45 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Docbook XML to Microsoft Help Viewer 1.0 transform file -->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-	<xsl:import href="../Docbook/mshelp/docbook.xsl"/>
-
-	<xsl:output method="xml" indent="no"/>
-
-	<xsl:template match="emphasis[@role = 'keyword' or @role = 'keywordtype' or @role = 'keywordflow']">
-		<span class="hl-keyword" style="color: #0079C1">
-			<xsl:apply-templates/>
-		</span>
-	</xsl:template>
-
-	<xsl:template match="emphasis[@role = 'stringliteral' or @role = 'charliteral']">
-		<span class="hl-string" style="color: #800000">
-			<xsl:apply-templates/>
-		</span>
-	</xsl:template>
-
-	<xsl:template match="emphasis[@role = 'comment']">
-		<em class="hl-comment" style="color: #008000">
-			<xsl:apply-templates/>
-		</em>
-	</xsl:template>
-
-	<xsl:template match="emphasis[@role = 'preprocessor']">
-		<span class="hl-preprocessor" style="color: #A000A0">
-			<xsl:apply-templates/>
-		</span>
-	</xsl:template>
-
-	<xsl:template match="emphasis[@role = 'normal' and ancestor::programlisting]">
-		<xsl:apply-templates />
-	</xsl:template>
-
-</xsl:stylesheet>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Docbook XML to Microsoft Help Viewer 1.0 transform file -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+	<xsl:import href="../Docbook/mshelp/docbook.xsl"/>
+
+	<xsl:output method="xml" indent="no"/>
+
+	<xsl:template match="emphasis[@role = 'keyword' or @role = 'keywordtype' or @role = 'keywordflow']">
+		<span class="hl-keyword" style="color: #0079C1">
+			<xsl:apply-templates/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="emphasis[@role = 'stringliteral' or @role = 'charliteral']">
+		<span class="hl-string" style="color: #800000">
+			<xsl:apply-templates/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="emphasis[@role = 'comment']">
+		<em class="hl-comment" style="color: #008000">
+			<xsl:apply-templates/>
+		</em>
+	</xsl:template>
+
+	<xsl:template match="emphasis[@role = 'preprocessor']">
+		<span class="hl-preprocessor" style="color: #A000A0">
+			<xsl:apply-templates/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="emphasis[@role = 'normal' and ancestor::programlisting]">
+		<xsl:apply-templates />
+	</xsl:template>
+
+</xsl:stylesheet>

+ 53 - 53
LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css

@@ -1,53 +1,53 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-.programlisting {
- 	display: block;
- 	margin-left: 15px;
- 	padding: 10px;
- 	background-color: #f4f4f4;
- 	border: 1px solid #aaaaaa;
- 	font-family: "Consolas", "Courier New", sans-serif;
- }
-
- code {
- 	background-color: #f4f4f4;
- 	font-family: "Consolas", "Courier New", sans-serif;
- }
-
-.note, .warning, .tip {
-	display: block;
- 	margin-left: 15px;
- 	padding-left: 10px;
- 	padding-bottom: 5px;
- 	background-color: #f4f4f4;
- 	border: 1px solid #aaaaaa;
-}
-
-table {
-	border: 1px solid #aaaaaa;
-	border-collapse: collapse;
-	margin-left: 15px;
-	font-size: 10pt;
-}
-
-table thead {
- 	background-color: #f4f4f4;
-}
-
-table thead th {
-	padding: 5px;
-}
-
-table tbody td {
-	padding: 5px;
-}
-
-ul {
-	padding-left: 20px;
-}
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+.programlisting {
+ 	display: block;
+ 	margin-left: 15px;
+ 	padding: 10px;
+ 	background-color: #f4f4f4;
+ 	border: 1px solid #aaaaaa;
+ 	font-family: "Consolas", "Courier New", sans-serif;
+ }
+
+ code {
+ 	background-color: #f4f4f4;
+ 	font-family: "Consolas", "Courier New", sans-serif;
+ }
+
+.note, .warning, .tip {
+	display: block;
+ 	margin-left: 15px;
+ 	padding-left: 10px;
+ 	padding-bottom: 5px;
+ 	background-color: #f4f4f4;
+ 	border: 1px solid #aaaaaa;
+}
+
+table {
+	border: 1px solid #aaaaaa;
+	border-collapse: collapse;
+	margin-left: 15px;
+	font-size: 10pt;
+}
+
+table thead {
+ 	background-color: #f4f4f4;
+}
+
+table thead th {
+	padding: 5px;
+}
+
+table tbody td {
+	padding: 5px;
+}
+
+ul {
+	padding-left: 20px;
+}

+ 13 - 13
LUFA/StudioIntegration/VSIX/[Content_Types].xml

@@ -1,13 +1,13 @@
-<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
-	<Default Extension="vsixmanifest" ContentType="text/xml"/>
-	<Default Extension="cache" ContentType="text/xml"/>
-	<Default Extension="png" ContentType="application/octet-stream"/>
-	<Default Extension="txt" ContentType="text/plain"/>
-	<Default Extension="xml" ContentType="text/xml"/>
-	<Default Extension="zip" ContentType="application/octet-stream"/>
-	<Default Extension="dll" ContentType="application/octet-stream" />
-	<Default Extension="pkgdef" ContentType="text/plain" />
-	<Default Extension="htm" ContentType="text/html" />
-	<Default Extension="msha" ContentType="text/html" />
-	<Default Extension="mshc" ContentType="application/octet-stream"/>
-</Types>
+<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
+	<Default Extension="vsixmanifest" ContentType="text/xml"/>
+	<Default Extension="cache" ContentType="text/xml"/>
+	<Default Extension="png" ContentType="application/octet-stream"/>
+	<Default Extension="txt" ContentType="text/plain"/>
+	<Default Extension="xml" ContentType="text/xml"/>
+	<Default Extension="zip" ContentType="application/octet-stream"/>
+	<Default Extension="dll" ContentType="application/octet-stream" />
+	<Default Extension="pkgdef" ContentType="text/plain" />
+	<Default Extension="htm" ContentType="text/html" />
+	<Default Extension="msha" ContentType="text/html" />
+	<Default Extension="mshc" ContentType="application/octet-stream"/>
+</Types>

+ 18 - 18
LUFA/StudioIntegration/VSIX/asf-manifest.xml

@@ -1,18 +1,18 @@
-<AsfContentProvider Version="1.0.0">
-	<Identifier Id="0e160d5c-e331-48d9-850b-e0387912171b">
-		<Org>FourWalledCubicle</Org>
-		<ShortName>LUFA</ShortName>
-		<Author>Dean Camera</Author>
-		<Description/>
-		<FollowFolderStructure>True</FollowFolderStructure>
-	</Identifier>
-	<AsfContent Type="zip" Path="contents.zip">
-		<Content>
-			<Version>0</Version>
-			<HelpURL/>
-			<Locator/>
-			<DbXMLPath>content.xml.cache</DbXMLPath>
-			<Description/>
-		</Content>
-	</AsfContent>
-</AsfContentProvider>
+<AsfContentProvider Version="1.0.0">
+	<Identifier Id="0e160d5c-e331-48d9-850b-e0387912171b">
+		<Org>FourWalledCubicle</Org>
+		<ShortName>LUFA</ShortName>
+		<Author>Dean Camera</Author>
+		<Description/>
+		<FollowFolderStructure>True</FollowFolderStructure>
+	</Identifier>
+	<AsfContent Type="zip" Path="contents.zip">
+		<Content>
+			<Version>0</Version>
+			<HelpURL/>
+			<Locator/>
+			<DbXMLPath>content.xml.cache</DbXMLPath>
+			<Description/>
+		</Content>
+	</AsfContent>
+</AsfContentProvider>

+ 32 - 32
LUFA/StudioIntegration/VSIX/extension.vsixmanifest

@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
-	<Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b">
-		<Name>LUFA Library</Name>
-		<Author>Dean Camera</Author>
-		<Version>0</Version>
-		<MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl>
-		<Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description>
-
-		<License>License.txt</License>
-		<Icon>LUFA_thumb.png</Icon>
-		<PreviewImage>LUFA.png</PreviewImage>
-
-		<SupportedProducts>
-			<IsolatedShell Version="7.0">AtmelStudio</IsolatedShell>
-		</SupportedProducts>
-
-		<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5"/>
-		<Locale>1033</Locale>
-
-		<AllUsers>false</AllUsers>
-	</Identifier>
-
-	<References/>
-
-	<Content>
-		<VsPackage>LUFA.pkgdef</VsPackage>
-		<CustomExtension Type="MSHelp">helpcontentsetup.msha</CustomExtension>
-		<CustomExtension Type="asf-manifest">asf-manifest.xml</CustomExtension>
-	</Content>
-</Vsix>
+<?xml version="1.0" encoding="utf-8"?>
+
+<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
+	<Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b">
+		<Name>LUFA Library</Name>
+		<Author>Dean Camera</Author>
+		<Version>0</Version>
+		<MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl>
+		<Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description>
+
+		<License>License.txt</License>
+		<Icon>LUFA_thumb.png</Icon>
+		<PreviewImage>LUFA.png</PreviewImage>
+
+		<SupportedProducts>
+			<IsolatedShell Version="7.0">AtmelStudio</IsolatedShell>
+		</SupportedProducts>
+
+		<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5"/>
+		<Locale>1033</Locale>
+
+		<AllUsers>false</AllUsers>
+	</Identifier>
+
+	<References/>
+
+	<Content>
+		<VsPackage>LUFA.pkgdef</VsPackage>
+		<CustomExtension Type="MSHelp">helpcontentsetup.msha</CustomExtension>
+		<CustomExtension Type="asf-manifest">asf-manifest.xml</CustomExtension>
+	</Content>
+</Vsix>

+ 38 - 38
LUFA/StudioIntegration/VSIX/generate_caches.py

@@ -1,38 +1,38 @@
-"""
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-"""
-
-import sys
-sys.path.append("ProjectGenerator")
-
-
-def show_message(message):
-    print("[Project Generator] %s" % message)
-    sys.stdout.flush()
-
-
-def main(lufa_root_path):
-    try:
-        from asf_avrstudio5_interface import PythonFacade
-    except ImportError:
-        print("Fatal Error: The ASF project generator is missing.")
-        return 1
-
-    p = PythonFacade(lufa_root_path)
-
-    show_message("Checking database sanity...")
-    p.check_extension_database_sanity(lufa_root_path)
-
-    show_message("Building cache files...")
-    p.generate_extension_cache_files(lufa_root_path)
-
-    show_message("Cache files created.")
-    return 0
-
-
-if __name__ == "__main__":
-    sys.exit(main(sys.argv[1]))
+"""
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+"""
+
+import sys
+sys.path.append("ProjectGenerator")
+
+
+def show_message(message):
+    print("[Project Generator] %s" % message)
+    sys.stdout.flush()
+
+
+def main(lufa_root_path):
+    try:
+        from asf_avrstudio5_interface import PythonFacade
+    except ImportError:
+        print("Fatal Error: The ASF project generator is missing.")
+        return 1
+
+    p = PythonFacade(lufa_root_path)
+
+    show_message("Checking database sanity...")
+    p.check_extension_database_sanity(lufa_root_path)
+
+    show_message("Building cache files...")
+    p.generate_extension_cache_files(lufa_root_path)
+
+    show_message("Cache files created.")
+    return 0
+
+
+if __name__ == "__main__":
+    sys.exit(main(sys.argv[1]))

+ 96 - 96
LUFA/StudioIntegration/lufa.xml

@@ -1,96 +1,96 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<extension-container>
-		<extension uuid="0e160d5c-e331-48d9-850b-e0387912171b" org="FourWalledCubicle" shortname="LUFA" version="" fullname="Lightweight USB Framework for AVRs (LUFA)">
-			<author name="Dean Camera" website="http://www.lufa-lib.org/" email="dean@fourwalledcubicle.com"/>
-			<description>Lightweight USB Framework for AVRs (LUFA), a USB software stack/framework.</description>
-			<icon-image path="LUFA/DoxygenPages/Images/LUFA_thumb.png"/>
-			<preview-image path="LUFA/DoxygenPages/Images/LUFA.png"/>
-			<license caption="LUFA License" path="LUFA/License.txt"/>
-			<release-notes caption="LUFA Information" url="http://www.lufa-lib.org"/>
-			<online-help>
-				<index-page caption="LUFA Documentation" url="http://www.lufa-lib.org/documentation/"/>
-				<module-help-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
-				<module-guide-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
-			</online-help>
-			<dependencies/>
-		</extension>
-	</extension-container>
-
-	<asf>
-		<device-alias-map name="lufa_avr8">
-			<device-support value="at90usb82"/>
-			<device-support value="atmega8u2"/>
-			<device-support value="at90usb162"/>
-			<device-support value="atmega16u2"/>
-			<device-support value="atmega16u4"/>
-			<device-support value="atmega32u2"/>
-			<device-support value="atmega32u4"/>
-			<device-support value="at90usb646"/>
-			<device-support value="at90usb647"/>
-			<device-support value="at90usb1286"/>
-			<device-support value="at90usb1287"/>
-		</device-alias-map>
-
-		<device-alias-map name="lufa_xmega">
-			<device-support value="atxmega16a4u"/>
-			<device-support value="atxmega32a4u"/>
-			<device-support value="atxmega64a4u"/>
-			<device-support value="atxmega128a4u"/>
-			<device-support value="atxmega64a3u"/>
-			<device-support value="atxmega128a3u"/>
-			<device-support value="atxmega192a3u"/>
-			<device-support value="atxmega256a3u"/>
-			<device-support value="atxmega256a3bu"/>
-			<device-support value="atxmega128a1u"/>
-			<device-support value="atxmega64b3"/>
-			<device-support value="atxmega128b3"/>
-			<device-support value="atxmega64b1"/>
-			<device-support value="atxmega128b1"/>
-			<device-support value="atxmega64c3"/>
-			<device-support value="atxmega128c3"/>
-			<device-support value="atxmega192c3"/>
-			<device-support value="atxmega256c3"/>
-			<device-support value="atxmega384c3"/>
-			<device-support value="atxmega16c4"/>
-		</device-alias-map>
-
-		<device-alias-map name="lufa_uc3">
-			<device-support value="at32uc3a364"/>
-			<device-support value="at32uc3a364s"/>
-			<device-support value="at32uc3a464"/>
-			<device-support value="at32uc3a464s"/>
-			<device-support value="at32uc3b064"/>
-			<device-support value="at32uc3b164"/>
-			<device-support value="at32uc3a0128"/>
-			<device-support value="at32uc3a1128"/>
-			<device-support value="at32uc3a3128"/>
-			<device-support value="at32uc3a3128s"/>
-			<device-support value="at32uc3a4128"/>
-			<device-support value="at32uc3a4128s"/>
-			<device-support value="at32uc3b0128"/>
-			<device-support value="at32uc3b1128"/>
-			<device-support value="at32uc3a0256"/>
-			<device-support value="at32uc3a1256"/>
-			<device-support value="at32uc3a3256"/>
-			<device-support value="at32uc3a3256s"/>
-			<device-support value="at32uc3a4256"/>
-			<device-support value="at32uc3a4256s"/>
-			<device-support value="at32uc3b0256"/>
-			<device-support value="at32uc3b1256"/>
-			<device-support value="at32uc3a0512"/>
-			<device-support value="at32uc3a1512"/>
-			<device-support value="at32uc3b0512"/>
-			<device-support value="at32uc3b1512"/>
-		</device-alias-map>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<extension-container>
+		<extension uuid="0e160d5c-e331-48d9-850b-e0387912171b" org="FourWalledCubicle" shortname="LUFA" version="" fullname="Lightweight USB Framework for AVRs (LUFA)">
+			<author name="Dean Camera" website="http://www.lufa-lib.org/" email="dean@fourwalledcubicle.com"/>
+			<description>Lightweight USB Framework for AVRs (LUFA), a USB software stack/framework.</description>
+			<icon-image path="LUFA/DoxygenPages/Images/LUFA_thumb.png"/>
+			<preview-image path="LUFA/DoxygenPages/Images/LUFA.png"/>
+			<license caption="LUFA License" path="LUFA/License.txt"/>
+			<release-notes caption="LUFA Information" url="http://www.lufa-lib.org"/>
+			<online-help>
+				<index-page caption="LUFA Documentation" url="http://www.lufa-lib.org/documentation/"/>
+				<module-help-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
+				<module-guide-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
+			</online-help>
+			<dependencies/>
+		</extension>
+	</extension-container>
+
+	<asf>
+		<device-alias-map name="lufa_avr8">
+			<device-support value="at90usb82"/>
+			<device-support value="atmega8u2"/>
+			<device-support value="at90usb162"/>
+			<device-support value="atmega16u2"/>
+			<device-support value="atmega16u4"/>
+			<device-support value="atmega32u2"/>
+			<device-support value="atmega32u4"/>
+			<device-support value="at90usb646"/>
+			<device-support value="at90usb647"/>
+			<device-support value="at90usb1286"/>
+			<device-support value="at90usb1287"/>
+		</device-alias-map>
+
+		<device-alias-map name="lufa_xmega">
+			<device-support value="atxmega16a4u"/>
+			<device-support value="atxmega32a4u"/>
+			<device-support value="atxmega64a4u"/>
+			<device-support value="atxmega128a4u"/>
+			<device-support value="atxmega64a3u"/>
+			<device-support value="atxmega128a3u"/>
+			<device-support value="atxmega192a3u"/>
+			<device-support value="atxmega256a3u"/>
+			<device-support value="atxmega256a3bu"/>
+			<device-support value="atxmega128a1u"/>
+			<device-support value="atxmega64b3"/>
+			<device-support value="atxmega128b3"/>
+			<device-support value="atxmega64b1"/>
+			<device-support value="atxmega128b1"/>
+			<device-support value="atxmega64c3"/>
+			<device-support value="atxmega128c3"/>
+			<device-support value="atxmega192c3"/>
+			<device-support value="atxmega256c3"/>
+			<device-support value="atxmega384c3"/>
+			<device-support value="atxmega16c4"/>
+		</device-alias-map>
+
+		<device-alias-map name="lufa_uc3">
+			<device-support value="at32uc3a364"/>
+			<device-support value="at32uc3a364s"/>
+			<device-support value="at32uc3a464"/>
+			<device-support value="at32uc3a464s"/>
+			<device-support value="at32uc3b064"/>
+			<device-support value="at32uc3b164"/>
+			<device-support value="at32uc3a0128"/>
+			<device-support value="at32uc3a1128"/>
+			<device-support value="at32uc3a3128"/>
+			<device-support value="at32uc3a3128s"/>
+			<device-support value="at32uc3a4128"/>
+			<device-support value="at32uc3a4128s"/>
+			<device-support value="at32uc3b0128"/>
+			<device-support value="at32uc3b1128"/>
+			<device-support value="at32uc3a0256"/>
+			<device-support value="at32uc3a1256"/>
+			<device-support value="at32uc3a3256"/>
+			<device-support value="at32uc3a3256s"/>
+			<device-support value="at32uc3a4256"/>
+			<device-support value="at32uc3a4256s"/>
+			<device-support value="at32uc3b0256"/>
+			<device-support value="at32uc3b1256"/>
+			<device-support value="at32uc3a0512"/>
+			<device-support value="at32uc3a1512"/>
+			<device-support value="at32uc3b0512"/>
+			<device-support value="at32uc3b1512"/>
+		</device-alias-map>
+	</asf>
+</lufa>

+ 34 - 34
LUFA/StudioIntegration/lufa_common.xml

@@ -1,34 +1,34 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="service" id="lufa.common" caption="LUFA Common Infrastructure">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<info type="gui-flag" value="hidden"/>
-			<build type="doxygen-entry-point" value="Group_Common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Version.h"/>
-			<build type="distribute" subtype="license" value="License.txt"/>
-
-			<build type="header-file" subtype="api" value="Common/Common.h"/>
-			<build type="header-file" value="Common/Architectures.h"/>
-			<build type="header-file" value="Common/ArchitectureSpecific.h"/>
-			<build type="header-file" value="Common/Attributes.h"/>
-			<build type="header-file" value="Common/BoardTypes.h"/>
-			<build type="header-file" value="Common/CompilerSpecific.h"/>
-			<build type="header-file" value="Common/Endianness.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="service" id="lufa.common" caption="LUFA Common Infrastructure">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<info type="gui-flag" value="hidden"/>
+			<build type="doxygen-entry-point" value="Group_Common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Version.h"/>
+			<build type="distribute" subtype="license" value="License.txt"/>
+
+			<build type="header-file" subtype="api" value="Common/Common.h"/>
+			<build type="header-file" value="Common/Architectures.h"/>
+			<build type="header-file" value="Common/ArchitectureSpecific.h"/>
+			<build type="header-file" value="Common/Attributes.h"/>
+			<build type="header-file" value="Common/BoardTypes.h"/>
+			<build type="header-file" value="Common/CompilerSpecific.h"/>
+			<build type="header-file" value="Common/Endianness.h"/>
+		</module>
+	</asf>
+</lufa>

+ 114 - 114
LUFA/StudioIntegration/lufa_drivers_board.xml

@@ -1,114 +1,114 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<board id="lufa.boards.dummy.avr8" vendor="LUFA" caption="AVR8 Architecture">
-			<device-support value="mega"/>
-
-			<require idref="lufa.drivers.board"/>
-			<require idref="lufa.drivers.board.info"/>
-		</board>
-
-		<board id="lufa.boards.dummy.xmega" vendor="LUFA" caption="XMEGA Architecture">
-			<device-support value="xmega"/>
-
-			<require idref="lufa.drivers.board"/>
-			<require idref="lufa.drivers.board.info"/>
-		</board>
-
-		<board id="lufa.boards.dummy.uc3" vendor="LUFA" caption="UC3 Architecture">
-			<device-support value="uc3"/>
-
-			<require idref="lufa.drivers.board"/>
-			<require idref="lufa.drivers.board.info"/>
-		</board>
-
-		<module type="driver" id="lufa.drivers.board.info" caption="LUFA Board Hardware Information Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_BoardInfo"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Board.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.leds" caption="LUFA Board LED Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_LEDs"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/LEDs.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.buttons" caption="LUFA Board Buttons Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Buttons"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Buttons.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.dataflash" caption="LUFA Board Dataflash Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Dataflash"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Dataflash.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.joystick" caption="LUFA Board Joystick Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Joystick"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Joystick.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.temperature" caption="LUFA Board Temperature Sensor Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Temperature"/>
-
-			<require idref="lufa.common"/>
-			<require idref="lufa.drivers.peripheral.adc"/>
-
-			<build type="c-source"     value="Drivers/Board/Temperature.c"/>
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Temperature.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<board id="lufa.boards.dummy.avr8" vendor="LUFA" caption="AVR8 Architecture">
+			<device-support value="mega"/>
+
+			<require idref="lufa.drivers.board"/>
+			<require idref="lufa.drivers.board.info"/>
+		</board>
+
+		<board id="lufa.boards.dummy.xmega" vendor="LUFA" caption="XMEGA Architecture">
+			<device-support value="xmega"/>
+
+			<require idref="lufa.drivers.board"/>
+			<require idref="lufa.drivers.board.info"/>
+		</board>
+
+		<board id="lufa.boards.dummy.uc3" vendor="LUFA" caption="UC3 Architecture">
+			<device-support value="uc3"/>
+
+			<require idref="lufa.drivers.board"/>
+			<require idref="lufa.drivers.board.info"/>
+		</board>
+
+		<module type="driver" id="lufa.drivers.board.info" caption="LUFA Board Hardware Information Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_BoardInfo"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Board.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.leds" caption="LUFA Board LED Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_LEDs"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/LEDs.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.buttons" caption="LUFA Board Buttons Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Buttons"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Buttons.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.dataflash" caption="LUFA Board Dataflash Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Dataflash"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Dataflash.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.joystick" caption="LUFA Board Joystick Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Joystick"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Joystick.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.temperature" caption="LUFA Board Temperature Sensor Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Temperature"/>
+
+			<require idref="lufa.common"/>
+			<require idref="lufa.drivers.peripheral.adc"/>
+
+			<build type="c-source"     value="Drivers/Board/Temperature.c"/>
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Temperature.h"/>
+		</module>
+	</asf>
+</lufa>

+ 853 - 853
LUFA/StudioIntegration/lufa_drivers_board_names.xml

@@ -1,853 +1,853 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<select-by-config id="lufa.drivers.board" name="lufa.drivers.board.name" default="none" caption="LUFA Board Support">
-			<info type="description" value="summary">
-				Board hardware (LEDs, Buttons, etc.) drivers for the preconfigured LUFA boards. Note that only the boards
-				compatible with the currently selected device will be shown.
-
-				To disable all hardware drivers silently, use NONE. To supply customer drivers, use USER (see manual).
-			</info>
-
-			<module type="driver" id="lufa.drivers.board#none" caption="Board Support - None">
-				<device-support value="avr"/>
-				<build type="define" name="BOARD" value="BOARD_NONE"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#user" caption="Board Support - User Supplied">
-				<device-support value="avr"/>
-				<build type="define" name="BOARD" value="BOARD_USER"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#adafruit_u4" caption="Board Support - ADAFRUITU4">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_ADAFRUITU4"/>
-
-				<device-support value="atmega32u4"/>
-				<build type="define" name="BOARD" value="BOARD_ADAFRUITU4"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#atavrusbrf01" caption="Board Support - ATAVRUSBRF01">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_ATAVRUSBRF01"/>
-
-				<device-support value="at90usb1287"/>
-				<build type="define" name="BOARD" value="BOARD_ATAVRUSBRF01"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#benito" caption="Board Support - BENITO">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_BENITO"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_BENITO"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/BENITO/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/BENITO/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/BENITO/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#big_multio" caption="Board Support - BIGMULTIO">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_BIGMULTIO"/>
-
-				<device-support value="atmega32u4"/>
-				<build type="define" name="BOARD" value="BOARD_BIGMULTIO"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#blackcat" caption="Board Support - BLACKCAT">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_BLACKCAT"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_BLACKCAT"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#bui" caption="Board Support - BUI">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_BUI"/>
-
-				<device-support value="at90usb646"/>
-				<build type="define" name="BOARD" value="BOARD_BUI"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/BUI/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/BUI/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#bumbleb" caption="Board Support - BUMBLEB">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_BUMBLEB"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_BUMBLEB"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.joystick"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Joystick.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#culv3" caption="Board Support - CULV3">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_CULV3"/>
-
-				<device-support value="atmega32u4"/>
-				<build type="define" name="BOARD" value="BOARD_CULV3"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/CULV3/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/CULV3/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/CULV3/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#duce" caption="Board Support - DUCE">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_DUCE"/>
-
-				<device-support value="atmega32u2"/>
-				<build type="define" name="BOARD" value="BOARD_DUCE"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/DUCE/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/DUCE/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#evk527" caption="Board Support - EVK527">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_EVK527"/>
-
-				<device-support value="atmega32u4"/>
-				<build type="define" name="BOARD" value="BOARD_EVK527"/>
-
-				<require idref="lufa.drivers.misc.at45db321c"/>
-				<require idref="lufa.drivers.peripheral.spi"/>
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.dataflash"/>
-				<require idref="lufa.drivers.board.joystick"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/EVK527/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/EVK527/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/EVK527/Dataflash.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/EVK527/Joystick.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/EVK527/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#jm_db_u2" caption="Board Support - JMDBU2">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_JMDBU2"/>
-
-				<device-support value="atmega32u2"/>
-				<build type="define" name="BOARD" value="BOARD_JMDBU2"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/JMDBU2/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#leonardo" caption="Board Support - LEONARDO">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_LEONARDO"/>
-
-				<device-support value="atmega32u4"/>
-				<build type="define" name="BOARD" value="BOARD_LEONARDO"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/LEONARDO/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/LEONARDO/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#maximus" caption="Board Support - MAXIMUS">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MAXIMUS"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_MAXIMUS"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micropendous_32u2" caption="Board Support - MICROPENDOUS_32U2">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_32U2"/>
-
-				<device-support value="atmega32u2"/>
-				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_32U2"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micropendous_a" caption="Board Support - MICROPENDOUS_A">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_A"/>
-
-				<device-support value="at90usb1287"/>
-				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_A"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micropendous_1" caption="Board Support - MICROPENDOUS_1">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_1"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_1"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micropendous_2" caption="Board Support - MICROPENDOUS_2">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_2"/>
-
-				<device-support value="atmega32u4"/>
-				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_2"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micropendous_3" caption="Board Support - MICROPENDOUS_3">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_3"/>
-
-				<device-support value="at90usb1287"/>
-				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_3"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micropendous_4" caption="Board Support - MICROPENDOUS_4">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_4"/>
-
-				<device-support value="at90usb1287"/>
-				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_4"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micropendous_dip" caption="Board Support - MICROPENDOUS_DIP">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_DIP"/>
-
-				<device-support value="at90usb1287"/>
-				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_DIP"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micropendous_rev1" caption="Board Support - MICROPENDOUS_REV1">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV1"/>
-
-				<device-support value="at90usb1287"/>
-				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV1"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micropendous_rev2" caption="Board Support - MICROPENDOUS_REV2">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV2"/>
-
-				<device-support value="at90usb1287"/>
-				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV2"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#microsin_162" caption="Board Support - MICROSIN162">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROSIN162"/>
-
-				<device-support value="atmega162"/>
-				<build type="define" name="BOARD" value="BOARD_MICROSIN162"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/LEDs.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#minimus" caption="Board Support - MINIMUS">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MINIMUS"/>
-
-				<device-support value="atmega32u2"/>
-				<build type="define" name="BOARD" value="BOARD_MINIMUS"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MINIMUS/LEDs.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#multio" caption="Board Support - MULTIO">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MULTIO"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_MULTIO"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MULTIO/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MULTIO/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#olimex_162" caption="Board Support - OLIMEX162">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX162"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_OLIMEX162"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/LEDs.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#olimex_32u4" caption="Board Support - OLIMEX32U4">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX32U4"/>
-
-				<device-support value="atmega32u4"/>
-				<build type="define" name="BOARD" value="BOARD_OLIMEX32U4"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/LEDs.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#olimex_isp_mkii" caption="Board Support - OLIMEXISPMK2">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXISPMK2"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_OLIMEXISPMK2"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/LEDs.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#olimex_t32u4" caption="Board Support - OLIMEX_T32U4">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXT32U4"/>
-
-				<device-support value="atmega32u4"/>
-				<build type="define" name="BOARD" value="BOARD_OLIMEXT32U4"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-				<require idref="lufa.drivers.board.buttons"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/LEDs.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Buttons.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#rzusbstick" caption="Board Support - RZUSBSTICK">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_RZUSBSTICK"/>
-
-				<device-support value="at90usb1287"/>
-				<build type="define" name="BOARD" value="BOARD_RZUSBSTICK"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#sparkfun_8u2" caption="Board Support - SPARKFUN8U2">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_SPARKFUN8U2"/>
-
-				<device-support value="atmega8u2"/>
-				<build type="define" name="BOARD" value="BOARD_SPARKFUN8U2"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#stk525" caption="Board Support - STK525">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_STK525"/>
-
-				<device-support value="at90usb1287"/>
-				<device-support value="at90usb1286"/>
-				<device-support value="at90usb647"/>
-				<device-support value="at90usb646"/>
-				<build type="define" name="BOARD" value="BOARD_STK525"/>
-
-				<require idref="lufa.drivers.misc.at45db321c"/>
-				<require idref="lufa.drivers.peripheral.spi"/>
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.dataflash"/>
-				<require idref="lufa.drivers.board.joystick"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/STK525/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STK525/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STK525/Dataflash.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STK525/Joystick.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STK525/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#stk526" caption="Board Support - STK526">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_STK526"/>
-
-				<device-support value="at90usb162"/>
-				<device-support value="at90usb82"/>
-				<device-support value="atmega32u2"/>
-				<device-support value="atmega16u2"/>
-				<device-support value="atmega8u2"/>
-				<build type="define" name="BOARD" value="BOARD_STK526"/>
-
-				<require idref="lufa.drivers.misc.at45db642d"/>
-				<require idref="lufa.drivers.peripheral.spi"/>
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.dataflash"/>
-				<require idref="lufa.drivers.board.joystick"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/STK526/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STK526/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STK526/Dataflash.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STK526/Joystick.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STK526/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#teensy" caption="Board Support - TEENSY">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_TEENSY"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#teensy2" caption="Board Support - TEENSY2">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY2"/>
-
-				<device-support value="at90usb646"/>
-				<build type="define" name="BOARD" value="BOARD_TEENSY2"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#tul" caption="Board Support - TUL">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_TUL"/>
-
-				<device-support value="atmega32u4"/>
-				<build type="define" name="BOARD" value="BOARD_TUL"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/TUL/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/TUL/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/TUL/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#udip" caption="Board Support - UDIP">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_UDIP"/>
-
-				<device-support value="atmega32u2"/>
-				<build type="define" name="BOARD" value="BOARD_UDIP"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/UDIP/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/UDIP/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/UDIP/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#uno" caption="Board Support - UNO">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_UNO"/>
-
-				<device-support value="atmega8u2"/>
-				<device-support value="atmega16u2"/>
-				<build type="define" name="BOARD" value="BOARD_UNO"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/UNO/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/UNO/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#usb2ax" caption="Board Support - USB2AX">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX"/>
-
-				<device-support value="atmega32u2"/>
-				<build type="define" name="BOARD" value="BOARD_USB2AX"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#usb2ax_v3" caption="Board Support - USB2AX_V3">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V3"/>
-
-				<device-support value="atmega32u2"/>
-				<build type="define" name="BOARD" value="BOARD_USB2AX_V3"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#usb2ax_v3_1" caption="Board Support - USB2AX_V31">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V31"/>
-
-				<device-support value="atmega32u2"/>
-				<build type="define" name="BOARD" value="BOARD_USB2AX_V31"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#usbfoo" caption="Board Support - USBFOO">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_USBFOO"/>
-
-				<device-support value="atmega162"/>
-				<build type="define" name="BOARD" value="BOARD_USBFOO"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/USBFOO/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USBFOO/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USBFOO/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#usbkey" caption="Board Support - USBKEY">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_USBKEY"/>
-
-				<device-support value="at90usb1287"/>
-				<build type="define" name="BOARD" value="BOARD_USBKEY"/>
-
-				<require idref="lufa.drivers.misc.at45db642d"/>
-				<require idref="lufa.drivers.peripheral.spi"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.dataflash"/>
-				<require idref="lufa.drivers.board.joystick"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/Dataflash.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/Joystick.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#usbtiny_mkii" caption="Board Support - USBTINYMKII">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_USBTINYMKII"/>
-
-				<device-support value="at90usb162"/>
-				<build type="define" name="BOARD" value="BOARD_USBTINYMKII"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/LEDs.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#xplain_rev1" caption="Board Support - XPLAIN (HW Rev 1)">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN_REV1"/>
-
-				<device-support value="at90usb1287"/>
-
-				<require idref="lufa.drivers.misc.at45db642d"/>
-				<require idref="lufa.drivers.peripheral.spi"/>
-				<require idref="lufa.drivers.board.dataflash"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_XPLAIN_REV1"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#xplain" caption="Board Support - XPLAIN (HW Rev 2+)">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN"/>
-
-				<device-support value="at90usb1287"/>
-
-				<require idref="lufa.drivers.misc.at45db642d"/>
-				<require idref="lufa.drivers.peripheral.spi"/>
-				<require idref="lufa.drivers.board.dataflash"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_XPLAIN"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#a3bu_xplained" caption="Board Support - A3BU_XPLAINED">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_A3BU_XPLAINED"/>
-
-				<device-support value="atxmega256a3bu"/>
-
-				<require idref="lufa.drivers.misc.at45db642d"/>
-				<require idref="lufa.drivers.peripheral.usart_spi"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.dataflash"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Board.h"/>
-				<build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h"/>
-				<build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_A3BU_XPLAINED"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#b1_xplained" caption="Board Support - B1_XPLAINED">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_B1_XPLAINED"/>
-
-				<device-support value="atxmega128b1"/>
-
-				<require idref="lufa.drivers.misc.at45db642d"/>
-				<require idref="lufa.drivers.peripheral.usart_spi"/>
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.dataflash"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Board.h"/>
-				<build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h"/>
-				<build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_B1_XPLAINED"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#evk1100" caption="Board Support - EVK1100">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_EVK1100"/>
-
-				<device-support value="at32uc3a0512"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.joystick"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/UC3/EVK1100/Board.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/EVK1100/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/EVK1100/Joystick.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/EVK1100/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_EVK1100"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#evk1101" caption="Board Support - EVK1101">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_EVK1101"/>
-
-				<device-support value="at32uc3b0256"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.joystick"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/UC3/EVK1101/Board.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/EVK1101/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/EVK1101/Joystick.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/EVK1101/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_EVK1101"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#evk1104" caption="Board Support - EVK1104">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_EVK1104"/>
-
-				<device-support value="at32uc3a3256"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/UC3/EVK1104/Board.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/EVK1104/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/EVK1104/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_EVK1104"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#uc3a3_xplained" caption="Board Support - UC3A3_XPLAINED">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_UC3_A3_XPLAINED"/>
-
-				<device-support value="at32uc3a3256"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Board.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_UC3A3_XPLAINED"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#stange_isp" caption="Board Support - STANGE_ISP">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_STANGE_ISP"/>
-
-				<device-support value="at90usb162"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_STANGE_ISP"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#c3_xplained" caption="Board Support - C3_XPLAINED">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_C3_XPLAINED"/>
-
-				<device-support value="atxmega384c3"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Board.h"/>
-				<build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_C3_XPLAINED"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#u2s" caption="Board Support - U2S">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_U2S"/>
-
-				<device-support value="atmega32u2"/>
-
-				<require idref="lufa.drivers.board.buttons"/>
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/U2S/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/U2S/Buttons.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/U2S/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_U2S"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#yun" caption="Board Support - YUN">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_YUN"/>
-
-				<device-support value="atmega32u4"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/YUN/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/YUN/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_YUN"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.board#micro" caption="Board Support - MICRO">
-				<build type="doxygen-entry-point" value="Group_BoardInfo_MICRO"/>
-
-				<device-support value="atmega32u4"/>
-
-				<require idref="lufa.drivers.board.leds"/>
-
-				<build type="header-file" value="Drivers/Board/AVR8/MICRO/Board.h"/>
-				<build type="header-file" value="Drivers/Board/AVR8/MICRO/LEDs.h"/>
-
-				<build type="define" name="BOARD" value="BOARD_MICRO"/>
-			</module>
-		</select-by-config>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<select-by-config id="lufa.drivers.board" name="lufa.drivers.board.name" default="none" caption="LUFA Board Support">
+			<info type="description" value="summary">
+				Board hardware (LEDs, Buttons, etc.) drivers for the preconfigured LUFA boards. Note that only the boards
+				compatible with the currently selected device will be shown.
+
+				To disable all hardware drivers silently, use NONE. To supply customer drivers, use USER (see manual).
+			</info>
+
+			<module type="driver" id="lufa.drivers.board#none" caption="Board Support - None">
+				<device-support value="avr"/>
+				<build type="define" name="BOARD" value="BOARD_NONE"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#user" caption="Board Support - User Supplied">
+				<device-support value="avr"/>
+				<build type="define" name="BOARD" value="BOARD_USER"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#adafruit_u4" caption="Board Support - ADAFRUITU4">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_ADAFRUITU4"/>
+
+				<device-support value="atmega32u4"/>
+				<build type="define" name="BOARD" value="BOARD_ADAFRUITU4"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#atavrusbrf01" caption="Board Support - ATAVRUSBRF01">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_ATAVRUSBRF01"/>
+
+				<device-support value="at90usb1287"/>
+				<build type="define" name="BOARD" value="BOARD_ATAVRUSBRF01"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#benito" caption="Board Support - BENITO">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_BENITO"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_BENITO"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/BENITO/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/BENITO/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/BENITO/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#big_multio" caption="Board Support - BIGMULTIO">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_BIGMULTIO"/>
+
+				<device-support value="atmega32u4"/>
+				<build type="define" name="BOARD" value="BOARD_BIGMULTIO"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#blackcat" caption="Board Support - BLACKCAT">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_BLACKCAT"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_BLACKCAT"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#bui" caption="Board Support - BUI">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_BUI"/>
+
+				<device-support value="at90usb646"/>
+				<build type="define" name="BOARD" value="BOARD_BUI"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/BUI/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/BUI/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#bumbleb" caption="Board Support - BUMBLEB">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_BUMBLEB"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_BUMBLEB"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.joystick"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Joystick.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#culv3" caption="Board Support - CULV3">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_CULV3"/>
+
+				<device-support value="atmega32u4"/>
+				<build type="define" name="BOARD" value="BOARD_CULV3"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/CULV3/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/CULV3/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/CULV3/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#duce" caption="Board Support - DUCE">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_DUCE"/>
+
+				<device-support value="atmega32u2"/>
+				<build type="define" name="BOARD" value="BOARD_DUCE"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/DUCE/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/DUCE/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#evk527" caption="Board Support - EVK527">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_EVK527"/>
+
+				<device-support value="atmega32u4"/>
+				<build type="define" name="BOARD" value="BOARD_EVK527"/>
+
+				<require idref="lufa.drivers.misc.at45db321c"/>
+				<require idref="lufa.drivers.peripheral.spi"/>
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.dataflash"/>
+				<require idref="lufa.drivers.board.joystick"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/EVK527/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/EVK527/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/EVK527/Dataflash.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/EVK527/Joystick.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/EVK527/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#jm_db_u2" caption="Board Support - JMDBU2">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_JMDBU2"/>
+
+				<device-support value="atmega32u2"/>
+				<build type="define" name="BOARD" value="BOARD_JMDBU2"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/JMDBU2/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#leonardo" caption="Board Support - LEONARDO">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_LEONARDO"/>
+
+				<device-support value="atmega32u4"/>
+				<build type="define" name="BOARD" value="BOARD_LEONARDO"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/LEONARDO/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/LEONARDO/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#maximus" caption="Board Support - MAXIMUS">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MAXIMUS"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_MAXIMUS"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micropendous_32u2" caption="Board Support - MICROPENDOUS_32U2">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_32U2"/>
+
+				<device-support value="atmega32u2"/>
+				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_32U2"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micropendous_a" caption="Board Support - MICROPENDOUS_A">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_A"/>
+
+				<device-support value="at90usb1287"/>
+				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_A"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micropendous_1" caption="Board Support - MICROPENDOUS_1">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_1"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_1"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micropendous_2" caption="Board Support - MICROPENDOUS_2">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_2"/>
+
+				<device-support value="atmega32u4"/>
+				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_2"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micropendous_3" caption="Board Support - MICROPENDOUS_3">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_3"/>
+
+				<device-support value="at90usb1287"/>
+				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_3"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micropendous_4" caption="Board Support - MICROPENDOUS_4">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_4"/>
+
+				<device-support value="at90usb1287"/>
+				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_4"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micropendous_dip" caption="Board Support - MICROPENDOUS_DIP">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_DIP"/>
+
+				<device-support value="at90usb1287"/>
+				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_DIP"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micropendous_rev1" caption="Board Support - MICROPENDOUS_REV1">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV1"/>
+
+				<device-support value="at90usb1287"/>
+				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV1"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micropendous_rev2" caption="Board Support - MICROPENDOUS_REV2">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV2"/>
+
+				<device-support value="at90usb1287"/>
+				<build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV2"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#microsin_162" caption="Board Support - MICROSIN162">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICROSIN162"/>
+
+				<device-support value="atmega162"/>
+				<build type="define" name="BOARD" value="BOARD_MICROSIN162"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/LEDs.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#minimus" caption="Board Support - MINIMUS">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MINIMUS"/>
+
+				<device-support value="atmega32u2"/>
+				<build type="define" name="BOARD" value="BOARD_MINIMUS"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MINIMUS/LEDs.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#multio" caption="Board Support - MULTIO">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MULTIO"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_MULTIO"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MULTIO/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MULTIO/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#olimex_162" caption="Board Support - OLIMEX162">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX162"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_OLIMEX162"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/LEDs.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#olimex_32u4" caption="Board Support - OLIMEX32U4">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX32U4"/>
+
+				<device-support value="atmega32u4"/>
+				<build type="define" name="BOARD" value="BOARD_OLIMEX32U4"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/LEDs.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#olimex_isp_mkii" caption="Board Support - OLIMEXISPMK2">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXISPMK2"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_OLIMEXISPMK2"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/LEDs.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#olimex_t32u4" caption="Board Support - OLIMEX_T32U4">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXT32U4"/>
+
+				<device-support value="atmega32u4"/>
+				<build type="define" name="BOARD" value="BOARD_OLIMEXT32U4"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+				<require idref="lufa.drivers.board.buttons"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/LEDs.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Buttons.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#rzusbstick" caption="Board Support - RZUSBSTICK">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_RZUSBSTICK"/>
+
+				<device-support value="at90usb1287"/>
+				<build type="define" name="BOARD" value="BOARD_RZUSBSTICK"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#sparkfun_8u2" caption="Board Support - SPARKFUN8U2">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_SPARKFUN8U2"/>
+
+				<device-support value="atmega8u2"/>
+				<build type="define" name="BOARD" value="BOARD_SPARKFUN8U2"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#stk525" caption="Board Support - STK525">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_STK525"/>
+
+				<device-support value="at90usb1287"/>
+				<device-support value="at90usb1286"/>
+				<device-support value="at90usb647"/>
+				<device-support value="at90usb646"/>
+				<build type="define" name="BOARD" value="BOARD_STK525"/>
+
+				<require idref="lufa.drivers.misc.at45db321c"/>
+				<require idref="lufa.drivers.peripheral.spi"/>
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.dataflash"/>
+				<require idref="lufa.drivers.board.joystick"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/STK525/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STK525/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STK525/Dataflash.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STK525/Joystick.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STK525/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#stk526" caption="Board Support - STK526">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_STK526"/>
+
+				<device-support value="at90usb162"/>
+				<device-support value="at90usb82"/>
+				<device-support value="atmega32u2"/>
+				<device-support value="atmega16u2"/>
+				<device-support value="atmega8u2"/>
+				<build type="define" name="BOARD" value="BOARD_STK526"/>
+
+				<require idref="lufa.drivers.misc.at45db642d"/>
+				<require idref="lufa.drivers.peripheral.spi"/>
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.dataflash"/>
+				<require idref="lufa.drivers.board.joystick"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/STK526/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STK526/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STK526/Dataflash.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STK526/Joystick.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STK526/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#teensy" caption="Board Support - TEENSY">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_TEENSY"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#teensy2" caption="Board Support - TEENSY2">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY2"/>
+
+				<device-support value="at90usb646"/>
+				<build type="define" name="BOARD" value="BOARD_TEENSY2"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#tul" caption="Board Support - TUL">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_TUL"/>
+
+				<device-support value="atmega32u4"/>
+				<build type="define" name="BOARD" value="BOARD_TUL"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/TUL/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/TUL/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/TUL/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#udip" caption="Board Support - UDIP">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_UDIP"/>
+
+				<device-support value="atmega32u2"/>
+				<build type="define" name="BOARD" value="BOARD_UDIP"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/UDIP/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/UDIP/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/UDIP/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#uno" caption="Board Support - UNO">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_UNO"/>
+
+				<device-support value="atmega8u2"/>
+				<device-support value="atmega16u2"/>
+				<build type="define" name="BOARD" value="BOARD_UNO"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/UNO/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/UNO/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#usb2ax" caption="Board Support - USB2AX">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX"/>
+
+				<device-support value="atmega32u2"/>
+				<build type="define" name="BOARD" value="BOARD_USB2AX"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#usb2ax_v3" caption="Board Support - USB2AX_V3">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V3"/>
+
+				<device-support value="atmega32u2"/>
+				<build type="define" name="BOARD" value="BOARD_USB2AX_V3"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#usb2ax_v3_1" caption="Board Support - USB2AX_V31">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V31"/>
+
+				<device-support value="atmega32u2"/>
+				<build type="define" name="BOARD" value="BOARD_USB2AX_V31"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#usbfoo" caption="Board Support - USBFOO">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_USBFOO"/>
+
+				<device-support value="atmega162"/>
+				<build type="define" name="BOARD" value="BOARD_USBFOO"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/USBFOO/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USBFOO/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USBFOO/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#usbkey" caption="Board Support - USBKEY">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_USBKEY"/>
+
+				<device-support value="at90usb1287"/>
+				<build type="define" name="BOARD" value="BOARD_USBKEY"/>
+
+				<require idref="lufa.drivers.misc.at45db642d"/>
+				<require idref="lufa.drivers.peripheral.spi"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.dataflash"/>
+				<require idref="lufa.drivers.board.joystick"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/Dataflash.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/Joystick.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USBKEY/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#usbtiny_mkii" caption="Board Support - USBTINYMKII">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_USBTINYMKII"/>
+
+				<device-support value="at90usb162"/>
+				<build type="define" name="BOARD" value="BOARD_USBTINYMKII"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/LEDs.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#xplain_rev1" caption="Board Support - XPLAIN (HW Rev 1)">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN_REV1"/>
+
+				<device-support value="at90usb1287"/>
+
+				<require idref="lufa.drivers.misc.at45db642d"/>
+				<require idref="lufa.drivers.peripheral.spi"/>
+				<require idref="lufa.drivers.board.dataflash"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_XPLAIN_REV1"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#xplain" caption="Board Support - XPLAIN (HW Rev 2+)">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN"/>
+
+				<device-support value="at90usb1287"/>
+
+				<require idref="lufa.drivers.misc.at45db642d"/>
+				<require idref="lufa.drivers.peripheral.spi"/>
+				<require idref="lufa.drivers.board.dataflash"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_XPLAIN"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#a3bu_xplained" caption="Board Support - A3BU_XPLAINED">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_A3BU_XPLAINED"/>
+
+				<device-support value="atxmega256a3bu"/>
+
+				<require idref="lufa.drivers.misc.at45db642d"/>
+				<require idref="lufa.drivers.peripheral.usart_spi"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.dataflash"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Board.h"/>
+				<build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h"/>
+				<build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_A3BU_XPLAINED"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#b1_xplained" caption="Board Support - B1_XPLAINED">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_B1_XPLAINED"/>
+
+				<device-support value="atxmega128b1"/>
+
+				<require idref="lufa.drivers.misc.at45db642d"/>
+				<require idref="lufa.drivers.peripheral.usart_spi"/>
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.dataflash"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Board.h"/>
+				<build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h"/>
+				<build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_B1_XPLAINED"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#evk1100" caption="Board Support - EVK1100">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_EVK1100"/>
+
+				<device-support value="at32uc3a0512"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.joystick"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/UC3/EVK1100/Board.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/EVK1100/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/EVK1100/Joystick.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/EVK1100/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_EVK1100"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#evk1101" caption="Board Support - EVK1101">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_EVK1101"/>
+
+				<device-support value="at32uc3b0256"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.joystick"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/UC3/EVK1101/Board.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/EVK1101/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/EVK1101/Joystick.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/EVK1101/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_EVK1101"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#evk1104" caption="Board Support - EVK1104">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_EVK1104"/>
+
+				<device-support value="at32uc3a3256"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/UC3/EVK1104/Board.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/EVK1104/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/EVK1104/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_EVK1104"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#uc3a3_xplained" caption="Board Support - UC3A3_XPLAINED">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_UC3_A3_XPLAINED"/>
+
+				<device-support value="at32uc3a3256"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Board.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_UC3A3_XPLAINED"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#stange_isp" caption="Board Support - STANGE_ISP">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_STANGE_ISP"/>
+
+				<device-support value="at90usb162"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_STANGE_ISP"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#c3_xplained" caption="Board Support - C3_XPLAINED">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_C3_XPLAINED"/>
+
+				<device-support value="atxmega384c3"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Board.h"/>
+				<build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_C3_XPLAINED"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#u2s" caption="Board Support - U2S">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_U2S"/>
+
+				<device-support value="atmega32u2"/>
+
+				<require idref="lufa.drivers.board.buttons"/>
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/U2S/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/U2S/Buttons.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/U2S/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_U2S"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#yun" caption="Board Support - YUN">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_YUN"/>
+
+				<device-support value="atmega32u4"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/YUN/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/YUN/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_YUN"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.board#micro" caption="Board Support - MICRO">
+				<build type="doxygen-entry-point" value="Group_BoardInfo_MICRO"/>
+
+				<device-support value="atmega32u4"/>
+
+				<require idref="lufa.drivers.board.leds"/>
+
+				<build type="header-file" value="Drivers/Board/AVR8/MICRO/Board.h"/>
+				<build type="header-file" value="Drivers/Board/AVR8/MICRO/LEDs.h"/>
+
+				<build type="define" name="BOARD" value="BOARD_MICRO"/>
+			</module>
+		</select-by-config>
+	</asf>
+</lufa>

+ 57 - 57
LUFA/StudioIntegration/lufa_drivers_misc.xml

@@ -1,57 +1,57 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="component" id="lufa.drivers.misc.at45db321c" caption="LUFA AT45DB321C Dataflash Commands">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_AT45DB321C"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/Misc/AT45DB321C.h"/>
-		</module>
-
-		<module type="component" id="lufa.drivers.misc.at45db642d" caption="LUFA AT45DB642D Dataflash Commands">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_AT45DB321C"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/Misc/AT45DB642D.h"/>
-		</module>
-
-		<module type="service" id="lufa.drivers.misc.ringbuffer" caption="LUFA Ring Buffer">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_RingBuff"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/Misc/RingBuffer.h"/>
-		</module>
-
-		<module type="service" id="lufa.drivers.misc.ansi" caption="LUFA ANSI Terminal Commands">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Terminal"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/Misc/TerminalCodes.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="component" id="lufa.drivers.misc.at45db321c" caption="LUFA AT45DB321C Dataflash Commands">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_AT45DB321C"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/Misc/AT45DB321C.h"/>
+		</module>
+
+		<module type="component" id="lufa.drivers.misc.at45db642d" caption="LUFA AT45DB642D Dataflash Commands">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_AT45DB321C"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/Misc/AT45DB642D.h"/>
+		</module>
+
+		<module type="service" id="lufa.drivers.misc.ringbuffer" caption="LUFA Ring Buffer">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_RingBuff"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/Misc/RingBuffer.h"/>
+		</module>
+
+		<module type="service" id="lufa.drivers.misc.ansi" caption="LUFA ANSI Terminal Commands">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Terminal"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/Misc/TerminalCodes.h"/>
+		</module>
+	</asf>
+</lufa>

+ 198 - 198
LUFA/StudioIntegration/lufa_drivers_peripheral.xml

@@ -1,198 +1,198 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<select-by-device id="lufa.drivers.peripheral.usart" caption="LUFA USART Driver">
-			<module type="driver" id="lufa.drivers.peripheral.usart#avr8" caption="LUFA USART Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_Serial"/>
-
-				<require idref="lufa.common"/>
-				<require idref="lufa.drivers.misc.ansi"/>
-
-				<build type="c-source" value="Drivers/Peripheral/AVR8/Serial_AVR8.c"/>
-				<build type="header-file" value="Drivers/Peripheral/AVR8/Serial_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.usart#xmega" caption="LUFA USART Driver - AVR8">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_Serial"/>
-
-				<require idref="lufa.common"/>
-				<require idref="lufa.drivers.misc.ansi"/>
-
-				<build type="c-source" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.c"/>
-				<build type="header-file" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.usart#uc3" caption="LUFA USART Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_Serial"/>
-
-				<require idref="lufa.common"/>
-				<require idref="lufa.drivers.misc.ansi"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-
-		<select-by-device id="lufa.drivers.peripheral.spi" caption="LUFA SPI Driver">
-			<module type="driver" id="lufa.drivers.peripheral.spi#avr8" caption="LUFA SPI Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_SPI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/AVR8/SPI_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.spi#xmega" caption="LUFA SPI Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_SPI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/XMEGA/SPI_XMEGA.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.spi#uc3" caption="LUFA SPI Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_SPI"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-
-		<select-by-device id="lufa.drivers.peripheral.usart_spi" caption="LUFA USART SPI Driver">
-			<module type="driver" id="lufa.drivers.peripheral.usart_spi#avr8" caption="LUFA USART SPI Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/AVR8/SerialSPI_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api"  value="Drivers/Peripheral/SerialSPI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.usart_spi#xmega" caption="LUFA USART SPI Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/XMEGA/SerialSPI_XMEGA.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.usart_spi#uc3" caption="LUFA USART SPI Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-
-		<select-by-device id="lufa.drivers.peripheral.twi" caption="LUFA TWI Master Driver">
-			<module type="driver" id="lufa.drivers.peripheral.twi#avr8" caption="LUFA TWI Master Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_TWI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="c-source" value="Drivers/Peripheral/AVR8/TWI_AVR8.c"/>
-				<build type="header-file" value="Drivers/Peripheral/AVR8/TWI_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.twi#xmega" caption="LUFA TWI Master Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_TWI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="c-source" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.c"/>
-				<build type="header-file" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.twi#uc3" caption="LUFA TWI Master Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_TWI"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-
-		<select-by-device id="lufa.drivers.peripheral.adc" caption="LUFA ADC Driver">
-			<module type="driver" id="lufa.drivers.peripheral.adc#avr8" caption="LUFA ADC Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_ADC"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/AVR8/ADC_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/ADC.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.adc#xmega" caption="LUFA ADC Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_ADC"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.adc#uc3" caption="LUFA ADC Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_ADC"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<select-by-device id="lufa.drivers.peripheral.usart" caption="LUFA USART Driver">
+			<module type="driver" id="lufa.drivers.peripheral.usart#avr8" caption="LUFA USART Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_Serial"/>
+
+				<require idref="lufa.common"/>
+				<require idref="lufa.drivers.misc.ansi"/>
+
+				<build type="c-source" value="Drivers/Peripheral/AVR8/Serial_AVR8.c"/>
+				<build type="header-file" value="Drivers/Peripheral/AVR8/Serial_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.usart#xmega" caption="LUFA USART Driver - AVR8">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_Serial"/>
+
+				<require idref="lufa.common"/>
+				<require idref="lufa.drivers.misc.ansi"/>
+
+				<build type="c-source" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.c"/>
+				<build type="header-file" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.usart#uc3" caption="LUFA USART Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_Serial"/>
+
+				<require idref="lufa.common"/>
+				<require idref="lufa.drivers.misc.ansi"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+
+		<select-by-device id="lufa.drivers.peripheral.spi" caption="LUFA SPI Driver">
+			<module type="driver" id="lufa.drivers.peripheral.spi#avr8" caption="LUFA SPI Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_SPI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/AVR8/SPI_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.spi#xmega" caption="LUFA SPI Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_SPI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/XMEGA/SPI_XMEGA.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.spi#uc3" caption="LUFA SPI Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_SPI"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+
+		<select-by-device id="lufa.drivers.peripheral.usart_spi" caption="LUFA USART SPI Driver">
+			<module type="driver" id="lufa.drivers.peripheral.usart_spi#avr8" caption="LUFA USART SPI Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/AVR8/SerialSPI_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api"  value="Drivers/Peripheral/SerialSPI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.usart_spi#xmega" caption="LUFA USART SPI Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/XMEGA/SerialSPI_XMEGA.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.usart_spi#uc3" caption="LUFA USART SPI Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+
+		<select-by-device id="lufa.drivers.peripheral.twi" caption="LUFA TWI Master Driver">
+			<module type="driver" id="lufa.drivers.peripheral.twi#avr8" caption="LUFA TWI Master Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_TWI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="c-source" value="Drivers/Peripheral/AVR8/TWI_AVR8.c"/>
+				<build type="header-file" value="Drivers/Peripheral/AVR8/TWI_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.twi#xmega" caption="LUFA TWI Master Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_TWI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="c-source" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.c"/>
+				<build type="header-file" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.twi#uc3" caption="LUFA TWI Master Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_TWI"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+
+		<select-by-device id="lufa.drivers.peripheral.adc" caption="LUFA ADC Driver">
+			<module type="driver" id="lufa.drivers.peripheral.adc#avr8" caption="LUFA ADC Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_ADC"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/AVR8/ADC_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/ADC.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.adc#xmega" caption="LUFA ADC Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_ADC"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.adc#uc3" caption="LUFA ADC Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_ADC"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+	</asf>
+</lufa>

+ 32 - 32
LUFA/StudioIntegration/lufa_drivers_usb.xml

@@ -1,32 +1,32 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb" caption="LUFA USB Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_USB"/>
-
-			<build type="define" name="USE_LUFA_CONFIG_HEADER" value=""/>
-			<build type="module-config" subtype="path" value="CodeTemplates"/>
-			<build type="module-config" subtype="required-header-file" value="LUFAConfig.h"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/USB/USB.h"/>
-
-			<require idref="lufa.common"/>
-			<require idref="lufa.drivers.usb.class"/>
-			<require idref="lufa.drivers.usb.core"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb" caption="LUFA USB Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_USB"/>
+
+			<build type="define" name="USE_LUFA_CONFIG_HEADER" value=""/>
+			<build type="module-config" subtype="path" value="CodeTemplates"/>
+			<build type="module-config" subtype="required-header-file" value="LUFAConfig.h"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/USB/USB.h"/>
+
+			<require idref="lufa.common"/>
+			<require idref="lufa.drivers.usb.class"/>
+			<require idref="lufa.drivers.usb.core"/>
+		</module>
+	</asf>
+</lufa>

+ 32 - 32
LUFA/StudioIntegration/lufa_drivers_usb_class.xml

@@ -1,32 +1,32 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="service" id="lufa.drivers.usb.class" caption="LUFA USB Class Drivers">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<info type="gui-flag" value="hidden"/>
-			<build type="doxygen-entry-point" value="Group_USBClassDrivers"/>
-
-			<require idref="lufa.drivers.usb.class.android"/>
-			<require idref="lufa.drivers.usb.class.audio"/>
-			<require idref="lufa.drivers.usb.class.cdc"/>
-			<require idref="lufa.drivers.usb.class.hid"/>
-			<require idref="lufa.drivers.usb.class.ms"/>
-			<require idref="lufa.drivers.usb.class.midi"/>
-			<require idref="lufa.drivers.usb.class.printer"/>
-			<require idref="lufa.drivers.usb.class.rndis"/>
-			<require idref="lufa.drivers.usb.class.si"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="service" id="lufa.drivers.usb.class" caption="LUFA USB Class Drivers">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<info type="gui-flag" value="hidden"/>
+			<build type="doxygen-entry-point" value="Group_USBClassDrivers"/>
+
+			<require idref="lufa.drivers.usb.class.android"/>
+			<require idref="lufa.drivers.usb.class.audio"/>
+			<require idref="lufa.drivers.usb.class.cdc"/>
+			<require idref="lufa.drivers.usb.class.hid"/>
+			<require idref="lufa.drivers.usb.class.ms"/>
+			<require idref="lufa.drivers.usb.class.midi"/>
+			<require idref="lufa.drivers.usb.class.printer"/>
+			<require idref="lufa.drivers.usb.class.rndis"/>
+			<require idref="lufa.drivers.usb.class.si"/>
+		</module>
+	</asf>
+</lufa>

+ 85 - 85
LUFA/StudioIntegration/lufa_drivers_usb_core.xml

@@ -1,85 +1,85 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb.core.common" caption="LUFA USB Core Driver - Common">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_USBManagement"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="header-file" value="Drivers/USB/Core/Device.h"/>
-			<build type="header-file" value="Drivers/USB/Core/Endpoint.h"/>
-			<build type="header-file" value="Drivers/USB/Core/Host.h"/>
-			<build type="header-file" value="Drivers/USB/Core/Pipe.h"/>
-			<build type="header-file" value="Drivers/USB/Core/OTG.h"/>
-			<build type="header-file" value="Drivers/USB/Core/USBController.h"/>
-			<build type="header-file" value="Drivers/USB/Core/USBInterrupt.h"/>
-			<build type="header-file" value="Drivers/USB/Core/EndpointStream.h"/>
-			<build type="header-file" value="Drivers/USB/Core/PipeStream.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/ConfigDescriptors.c"/>
-			<build type="header-file" value="Drivers/USB/Core/ConfigDescriptors.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/DeviceStandardReq.c"/>
-			<build type="header-file" value="Drivers/USB/Core/DeviceStandardReq.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/Events.c"/>
-			<build type="header-file" value="Drivers/USB/Core/Events.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/HostStandardReq.c"/>
-			<build type="header-file" value="Drivers/USB/Core/HostStandardReq.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/USBTask.c"/>
-			<build type="header-file" value="Drivers/USB/Core/USBTask.h"/>
-			<build type="header-file" value="Drivers/USB/Core/USBMode.h"/>
-			<build type="header-file" value="Drivers/USB/Core/StdDescriptors.h"/>
-			<build type="header-file" value="Drivers/USB/Core/StdRequestType.h"/>
-
-	        <build type="c-source"    value="Drivers/USB/Class/Common/HIDParser.c"/>
-	        <build type="header-file" value="Drivers/USB/Class/Common/HIDParser.h"/>
-	        <build type="header-file" value="Drivers/USB/Class/Common/HIDReportData.h"/>
-	    </module>
-
-		<select-by-device id="lufa.drivers.usb.core" caption="LUFA USB Core Driver">
-			<module type="driver" id="lufa.drivers.usb.core#avr8" caption="LUFA USB Core Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<info type="gui-flag" value="hidden"/>
-
-				<build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
-
-				<require idref="lufa.drivers.usb.core.common"/>
-				<require idref="lufa.drivers.usb.core.avr8"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.usb.core#xmega" caption="LUFA USB Core Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<info type="gui-flag" value="hidden"/>
-
-				<build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
-
-				<require idref="lufa.drivers.usb.core.common"/>
-				<require idref="lufa.drivers.usb.core.xmega"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.usb.core#uc3" caption="LUFA USB Core Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<info type="gui-flag" value="hidden"/>
-
-				<build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
-
-				<require idref="lufa.drivers.usb.core.common"/>
-				<require idref="lufa.drivers.usb.core.uc3"/>
-			</module>
-		</select-by-device>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb.core.common" caption="LUFA USB Core Driver - Common">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_USBManagement"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="header-file" value="Drivers/USB/Core/Device.h"/>
+			<build type="header-file" value="Drivers/USB/Core/Endpoint.h"/>
+			<build type="header-file" value="Drivers/USB/Core/Host.h"/>
+			<build type="header-file" value="Drivers/USB/Core/Pipe.h"/>
+			<build type="header-file" value="Drivers/USB/Core/OTG.h"/>
+			<build type="header-file" value="Drivers/USB/Core/USBController.h"/>
+			<build type="header-file" value="Drivers/USB/Core/USBInterrupt.h"/>
+			<build type="header-file" value="Drivers/USB/Core/EndpointStream.h"/>
+			<build type="header-file" value="Drivers/USB/Core/PipeStream.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/ConfigDescriptors.c"/>
+			<build type="header-file" value="Drivers/USB/Core/ConfigDescriptors.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/DeviceStandardReq.c"/>
+			<build type="header-file" value="Drivers/USB/Core/DeviceStandardReq.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/Events.c"/>
+			<build type="header-file" value="Drivers/USB/Core/Events.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/HostStandardReq.c"/>
+			<build type="header-file" value="Drivers/USB/Core/HostStandardReq.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/USBTask.c"/>
+			<build type="header-file" value="Drivers/USB/Core/USBTask.h"/>
+			<build type="header-file" value="Drivers/USB/Core/USBMode.h"/>
+			<build type="header-file" value="Drivers/USB/Core/StdDescriptors.h"/>
+			<build type="header-file" value="Drivers/USB/Core/StdRequestType.h"/>
+
+	        <build type="c-source"    value="Drivers/USB/Class/Common/HIDParser.c"/>
+	        <build type="header-file" value="Drivers/USB/Class/Common/HIDParser.h"/>
+	        <build type="header-file" value="Drivers/USB/Class/Common/HIDReportData.h"/>
+	    </module>
+
+		<select-by-device id="lufa.drivers.usb.core" caption="LUFA USB Core Driver">
+			<module type="driver" id="lufa.drivers.usb.core#avr8" caption="LUFA USB Core Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<info type="gui-flag" value="hidden"/>
+
+				<build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
+
+				<require idref="lufa.drivers.usb.core.common"/>
+				<require idref="lufa.drivers.usb.core.avr8"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.usb.core#xmega" caption="LUFA USB Core Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<info type="gui-flag" value="hidden"/>
+
+				<build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
+
+				<require idref="lufa.drivers.usb.core.common"/>
+				<require idref="lufa.drivers.usb.core.xmega"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.usb.core#uc3" caption="LUFA USB Core Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<info type="gui-flag" value="hidden"/>
+
+				<build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
+
+				<require idref="lufa.drivers.usb.core.common"/>
+				<require idref="lufa.drivers.usb.core.uc3"/>
+			</module>
+		</select-by-device>
+	</asf>
+</lufa>

+ 43 - 43
LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml

@@ -1,43 +1,43 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb.core.avr8" caption="LUFA USB Core Driver for AVR8">
-			<device-support-alias value="lufa_avr8"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
-
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_R.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_W.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Pipe_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Device_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/Device_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Endpoint_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Host_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/Host_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Pipe_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/Pipe_AVR8.h"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/OTG_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/USBController_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/USBController_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/PipeStream_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb.core.avr8" caption="LUFA USB Core Driver for AVR8">
+			<device-support-alias value="lufa_avr8"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
+
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_R.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_W.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Pipe_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Device_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/Device_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Endpoint_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Host_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/Host_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Pipe_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/Pipe_AVR8.h"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/OTG_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/USBController_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/USBController_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/PipeStream_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.h"/>
+		</module>
+	</asf>
+</lufa>

+ 42 - 42
LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml

@@ -1,42 +1,42 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb.core.uc3" caption="LUFA USB Core Driver for UC3">
-			<device-support-alias value="lufa_uc3"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
-
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_R.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_W.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Pipe_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Device_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/Device_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Endpoint_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/Endpoint_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Host_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/Host_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Pipe_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/Pipe_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/USBController_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/USBController_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/USBInterrupt_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/EndpointStream_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/EndpointStream_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/PipeStream_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/PipeStream_UC3.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb.core.uc3" caption="LUFA USB Core Driver for UC3">
+			<device-support-alias value="lufa_uc3"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
+
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_R.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_W.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Pipe_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Device_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/Device_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Endpoint_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/Endpoint_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Host_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/Host_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Pipe_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/Pipe_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/USBController_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/USBController_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/USBInterrupt_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/EndpointStream_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/EndpointStream_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/PipeStream_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/PipeStream_UC3.h"/>
+		</module>
+	</asf>
+</lufa>

+ 36 - 36
LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml

@@ -1,36 +1,36 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb.core.xmega" caption="LUFA USB Core Driver for XMEGA">
-			<device-support-alias value="lufa_xmega"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
-
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_R.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_W.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Device_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/Device_XMEGA.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Pipe_XMEGA.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/USBController_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb.core.xmega" caption="LUFA USB Core Driver for XMEGA">
+			<device-support-alias value="lufa_xmega"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
+
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_R.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_W.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Device_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/Device_XMEGA.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Pipe_XMEGA.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/USBController_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h"/>
+		</module>
+	</asf>
+</lufa>

+ 60 - 60
LUFA/StudioIntegration/lufa_platform.xml

@@ -1,60 +1,60 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<select-by-device id="lufa.platform" caption="LUFA Platform Specific Support">
-			<module type="service" id="lufa.platform#avr8" caption="LUFA Platform Specific Support - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="define" name="ARCH" value="ARCH_AVR8"/>
-
-				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
-
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
-
-				<require idref="lufa.common"/>
-			</module>
-
-			<module type="service" id="lufa.platform#xmega" caption="LUFA Platform Specific Support - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="define" name="ARCH" value="ARCH_XMEGA"/>
-
-				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
-
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
-
-				<build type="distribute" value="Platform/XMEGA/XMEGAExperimentalInfo.txt" subtype="license"/>
-
-				<require idref="lufa.platform.xmega"/>
-				<require idref="lufa.common"/>
-			</module>
-
-			<module type="service" id="lufa.platform#uc3" caption="LUFA Platform Specific Support - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="define" name="ARCH" value="ARCH_UC3"/>
-
-				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
-
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
-
-				<build type="distribute" value="Platform/UC3/UC3ExperimentalInfo.txt" subtype="license"/>
-
-				<require idref="lufa.platform.uc3"/>
-				<require idref="lufa.common"/>
-			</module>
-		</select-by-device>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<select-by-device id="lufa.platform" caption="LUFA Platform Specific Support">
+			<module type="service" id="lufa.platform#avr8" caption="LUFA Platform Specific Support - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="define" name="ARCH" value="ARCH_AVR8"/>
+
+				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
+
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
+
+				<require idref="lufa.common"/>
+			</module>
+
+			<module type="service" id="lufa.platform#xmega" caption="LUFA Platform Specific Support - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="define" name="ARCH" value="ARCH_XMEGA"/>
+
+				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
+
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
+
+				<build type="distribute" value="Platform/XMEGA/XMEGAExperimentalInfo.txt" subtype="license"/>
+
+				<require idref="lufa.platform.xmega"/>
+				<require idref="lufa.common"/>
+			</module>
+
+			<module type="service" id="lufa.platform#uc3" caption="LUFA Platform Specific Support - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="define" name="ARCH" value="ARCH_UC3"/>
+
+				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
+
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
+
+				<build type="distribute" value="Platform/UC3/UC3ExperimentalInfo.txt" subtype="license"/>
+
+				<require idref="lufa.platform.uc3"/>
+				<require idref="lufa.common"/>
+			</module>
+		</select-by-device>
+	</asf>
+</lufa>

+ 26 - 26
LUFA/StudioIntegration/lufa_platform_uc3.xml

@@ -1,26 +1,26 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.platform.uc3" caption="LUFA UC3 Platform Drivers">
-			<device-support-alias value="lufa_uc3"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_PlatformDrivers_UC3"/>
-
-			<build type="header-file" value="Platform/UC3/ClockManagement.h"/>
-			<build type="header-file" value="Platform/UC3/InterruptManagement.h"/>
-			<build type="c-source" value="Platform/UC3/InterruptManagement.c"/>
-			<build type="asm-source" value="Platform/UC3/Exception.S"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.platform.uc3" caption="LUFA UC3 Platform Drivers">
+			<device-support-alias value="lufa_uc3"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_PlatformDrivers_UC3"/>
+
+			<build type="header-file" value="Platform/UC3/ClockManagement.h"/>
+			<build type="header-file" value="Platform/UC3/InterruptManagement.h"/>
+			<build type="c-source" value="Platform/UC3/InterruptManagement.c"/>
+			<build type="asm-source" value="Platform/UC3/Exception.S"/>
+		</module>
+	</asf>
+</lufa>

+ 23 - 23
LUFA/StudioIntegration/lufa_platform_xmega.xml

@@ -1,23 +1,23 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf xmlversion="1.0">
-		<module type="driver" id="lufa.platform.xmega" caption="LUFA XMEGA Platform Drivers">
-			<device-support-alias value="lufa_xmega"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_PlatformDrivers_XMEGA"/>
-
-			<build type="header-file" value="Platform/XMEGA/ClockManagement.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf xmlversion="1.0">
+		<module type="driver" id="lufa.platform.xmega" caption="LUFA XMEGA Platform Drivers">
+			<device-support-alias value="lufa_xmega"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_PlatformDrivers_XMEGA"/>
+
+			<build type="header-file" value="Platform/XMEGA/ClockManagement.h"/>
+		</module>
+	</asf>
+</lufa>

+ 45 - 45
LUFA/StudioIntegration/lufa_toolchain.xml

@@ -1,45 +1,45 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<select-by-device id="common.utils.toolchain_config" caption="Toolchain configuration defaults">
-			<module type="build-specific" id="common.utils.toolchain_config#avr" caption="Toolchain configuration defaults for 8-bit AVR">
-				<info type="gui-flag" value="hidden"/>
-				<device-support value="avr"/>
-
-				<toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.warnings.AllWarnings" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -fno-jump-tables" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.linker.optimization.RelaxBranches" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.linker.miscellaneous.LinkerFlags" value="-Wl,--relax" toolchain="avrgcc"/>
-			</module>
-		</select-by-device>
-
-		<module type="build-specific" id="common.utils.toolchain_config#uc3" caption="Toolchain configuration defaults for 32-bit AVR">
-			<info type="gui-flag" value="hidden"/>
-			<device-support value="uc3"/>
-
-			<toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.compiler.warnings.AllWarnings" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -mno-cond-exec-before-reload" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.linker.optimization.RelaxBranches" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.linker.miscellaneous.LinkerFlags" value="-Wl,--relax" toolchain="avr32gcc"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2017.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<select-by-device id="common.utils.toolchain_config" caption="Toolchain configuration defaults">
+			<module type="build-specific" id="common.utils.toolchain_config#avr" caption="Toolchain configuration defaults for 8-bit AVR">
+				<info type="gui-flag" value="hidden"/>
+				<device-support value="avr"/>
+
+				<toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.warnings.AllWarnings" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -fno-jump-tables" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.linker.optimization.RelaxBranches" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.linker.miscellaneous.LinkerFlags" value="-Wl,--relax" toolchain="avrgcc"/>
+			</module>
+		</select-by-device>
+
+		<module type="build-specific" id="common.utils.toolchain_config#uc3" caption="Toolchain configuration defaults for 32-bit AVR">
+			<info type="gui-flag" value="hidden"/>
+			<device-support value="uc3"/>
+
+			<toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.compiler.warnings.AllWarnings" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -mno-cond-exec-before-reload" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.linker.optimization.RelaxBranches" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.linker.miscellaneous.LinkerFlags" value="-Wl,--relax" toolchain="avr32gcc"/>
+		</module>
+	</asf>
+</lufa>

+ 91 - 91
Projects/AVRISP-MKII/asf.xml

@@ -1,91 +1,91 @@
-<asf xmlversion="1.0">
-	<project caption="AVRISP-MKII Clone Programmer" id="lufa.projects.avrispmkii_clone.avr8">
- 		<require idref="lufa.projects.avrispmkii_clone"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="usbkey"/>
-
-		<build type="define" name="F_CPU" value="8000000UL"/>
-		<build type="define" name="F_USB" value="8000000UL"/>
-	</project>
-
-	<!-- Required by the XPLAIN Bridge project as well, so split into a meta module -->
-	<module type="meta" id="lufa.projects.avrispmkii_clone.src" caption="AVRISP-MKII Clone Programmer">
-		<info type="gui-flag" value="hidden"/>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<build type="include-path" value="."/>
-
-		<build type="c-source" value="AVRISPDescriptors.c"/>
-		<build type="header-file" value="AVRISPDescriptors.h"/>
-
-		<build type="include-path" value="Lib"/>
-
-		<build type="header-file" value="Lib/V2ProtocolConstants.h"/>
-		<build type="c-source" value="Lib/V2Protocol.c"/>
-		<build type="header-file" value="Lib/V2Protocol.h"/>
-		<build type="c-source" value="Lib/V2ProtocolParams.c"/>
-		<build type="header-file" value="Lib/V2ProtocolParams.h"/>
-		<build type="c-source" value="Lib/ISP/ISPProtocol.c"/>
-		<build type="header-file" value="Lib/ISP/ISPProtocol.h"/>
-		<build type="c-source" value="Lib/ISP/ISPTarget.c"/>
-		<build type="header-file" value="Lib/ISP/ISPTarget.h"/>
-		<build type="c-source" value="Lib/XPROG/XPROGTarget.c"/>
-		<build type="header-file" value="Lib/XPROG/XPROGTarget.h"/>
-		<build type="c-source" value="Lib/XPROG/XPROGProtocol.c"/>
-		<build type="header-file" value="Lib/XPROG/XPROGProtocol.h"/>
-		<build type="c-source" value="Lib/XPROG/XMEGANVM.c"/>
-		<build type="header-file" value="Lib/XPROG/XMEGANVM.h"/>
-		<build type="c-source" value="Lib/XPROG/TINYNVM.c"/>
-		<build type="header-file" value="Lib/XPROG/TINYNVM.h"/>
-
-		<require idref="lufa.drivers.peripheral.adc"/>
-		<require idref="lufa.drivers.peripheral.spi"/>
-	</module>
-
-	<module type="application" id="lufa.projects.avrispmkii_clone" caption="AVRISP-MKII Clone Programmer">
-		<info type="description" value="summary">
-		Clone firmware of the Atmel AVRISP-MKII programmer.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Low Level APIs"/>
-			<keyword value="USB Device"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="AVRISP-MKII.txt"/>
-		<build type="distribute" subtype="directory" value="WindowsDriver"/>
-
-		<build type="c-source" value="AVRISP-MKII.c"/>
-		<build type="header-file" value="AVRISP-MKII.h"/>
-
-		<require idref="lufa.projects.avrispmkii_clone.src"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.adc"/>
-		<require idref="lufa.drivers.peripheral.spi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="AVRISP-MKII Clone Programmer" id="lufa.projects.avrispmkii_clone.avr8">
+ 		<require idref="lufa.projects.avrispmkii_clone"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="usbkey"/>
+
+		<build type="define" name="F_CPU" value="8000000UL"/>
+		<build type="define" name="F_USB" value="8000000UL"/>
+	</project>
+
+	<!-- Required by the XPLAIN Bridge project as well, so split into a meta module -->
+	<module type="meta" id="lufa.projects.avrispmkii_clone.src" caption="AVRISP-MKII Clone Programmer">
+		<info type="gui-flag" value="hidden"/>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<build type="include-path" value="."/>
+
+		<build type="c-source" value="AVRISPDescriptors.c"/>
+		<build type="header-file" value="AVRISPDescriptors.h"/>
+
+		<build type="include-path" value="Lib"/>
+
+		<build type="header-file" value="Lib/V2ProtocolConstants.h"/>
+		<build type="c-source" value="Lib/V2Protocol.c"/>
+		<build type="header-file" value="Lib/V2Protocol.h"/>
+		<build type="c-source" value="Lib/V2ProtocolParams.c"/>
+		<build type="header-file" value="Lib/V2ProtocolParams.h"/>
+		<build type="c-source" value="Lib/ISP/ISPProtocol.c"/>
+		<build type="header-file" value="Lib/ISP/ISPProtocol.h"/>
+		<build type="c-source" value="Lib/ISP/ISPTarget.c"/>
+		<build type="header-file" value="Lib/ISP/ISPTarget.h"/>
+		<build type="c-source" value="Lib/XPROG/XPROGTarget.c"/>
+		<build type="header-file" value="Lib/XPROG/XPROGTarget.h"/>
+		<build type="c-source" value="Lib/XPROG/XPROGProtocol.c"/>
+		<build type="header-file" value="Lib/XPROG/XPROGProtocol.h"/>
+		<build type="c-source" value="Lib/XPROG/XMEGANVM.c"/>
+		<build type="header-file" value="Lib/XPROG/XMEGANVM.h"/>
+		<build type="c-source" value="Lib/XPROG/TINYNVM.c"/>
+		<build type="header-file" value="Lib/XPROG/TINYNVM.h"/>
+
+		<require idref="lufa.drivers.peripheral.adc"/>
+		<require idref="lufa.drivers.peripheral.spi"/>
+	</module>
+
+	<module type="application" id="lufa.projects.avrispmkii_clone" caption="AVRISP-MKII Clone Programmer">
+		<info type="description" value="summary">
+		Clone firmware of the Atmel AVRISP-MKII programmer.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Low Level APIs"/>
+			<keyword value="USB Device"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="AVRISP-MKII.txt"/>
+		<build type="distribute" subtype="directory" value="WindowsDriver"/>
+
+		<build type="c-source" value="AVRISP-MKII.c"/>
+		<build type="header-file" value="AVRISP-MKII.h"/>
+
+		<require idref="lufa.projects.avrispmkii_clone.src"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.adc"/>
+		<require idref="lufa.drivers.peripheral.spi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 53 - 53
Projects/Benito/asf.xml

@@ -1,53 +1,53 @@
-<asf xmlversion="1.0">
-	<project caption="Benito Programmer" id="lufa.projects.benito.avr8">
-		<require idref="lufa.projects.benito"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="usbkey"/>
-
-		<build type="define" name="F_CPU" value="8000000UL"/>
-		<build type="define" name="F_USB" value="8000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.projects.benito" caption="Benito Programmer">
-		<info type="description" value="summary">
-		Benito AVR programmer.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="CDC Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="Benito.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA Benito Programmer.inf"/>
-
-		<build type="c-source" value="Benito.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="Benito.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ringbuffer"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="Benito Programmer" id="lufa.projects.benito.avr8">
+		<require idref="lufa.projects.benito"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="usbkey"/>
+
+		<build type="define" name="F_CPU" value="8000000UL"/>
+		<build type="define" name="F_USB" value="8000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.projects.benito" caption="Benito Programmer">
+		<info type="description" value="summary">
+		Benito AVR programmer.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="CDC Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="Benito.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA Benito Programmer.inf"/>
+
+		<build type="c-source" value="Benito.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="Benito.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ringbuffer"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 48 - 48
Projects/HIDReportViewer/asf.xml

@@ -1,48 +1,48 @@
-<asf xmlversion="1.0">
-	<project caption="HID Report Viewer" id="lufa.projects.hid_viewer.avr8">
-		<require idref="lufa.projects.hid_viewer"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="usbkey"/>
-
-		<build type="define" name="F_CPU" value="8000000UL"/>
-		<build type="define" name="F_USB" value="8000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.projects.hid_viewer" caption="HID Report Viewer">
-		<info type="description" value="summary">
-		HID device report viewer project.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Host"/>
-			<keyword value="HID Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="HIDReportViewer.txt"/>
-
-		<build type="c-source" value="HIDReportViewer.c"/>
-		<build type="header-file" value="HIDReportViewer.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.peripheral.usart"/>
-		<require idref="lufa.drivers.misc.ansi"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="HID Report Viewer" id="lufa.projects.hid_viewer.avr8">
+		<require idref="lufa.projects.hid_viewer"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="usbkey"/>
+
+		<build type="define" name="F_CPU" value="8000000UL"/>
+		<build type="define" name="F_USB" value="8000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.projects.hid_viewer" caption="HID Report Viewer">
+		<info type="description" value="summary">
+		HID device report viewer project.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Host"/>
+			<keyword value="HID Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="HIDReportViewer.txt"/>
+
+		<build type="c-source" value="HIDReportViewer.c"/>
+		<build type="header-file" value="HIDReportViewer.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.peripheral.usart"/>
+		<require idref="lufa.drivers.misc.ansi"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 51 - 51
Projects/LEDNotifier/asf.xml

@@ -1,51 +1,51 @@
-<asf xmlversion="1.0">
-	<project caption="LED Notifier Widget" id="lufa.projects.led_notifier.avr8">
-		<require idref="lufa.projects.led_notifier"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="usbkey"/>
-
-		<build type="define" name="F_CPU" value="8000000UL"/>
-		<build type="define" name="F_USB" value="8000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.projects.led_notifier" caption="LED Notifier Widget">
-		<info type="description" value="summary">
-		RGB LED notification widget project.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="CDC Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="LEDNotifier.txt"/>
-		<build type="distribute" subtype="user-file" value="LUFA LED Notifier.inf"/>
-		<build type="distribute" subtype="directory" value="CPUUsageApp"/>
-		<build type="distribute" subtype="directory" value="LEDMixerApp"/>
-
-		<build type="c-source" value="LEDNotifier.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="LEDNotifier.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="LED Notifier Widget" id="lufa.projects.led_notifier.avr8">
+		<require idref="lufa.projects.led_notifier"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="usbkey"/>
+
+		<build type="define" name="F_CPU" value="8000000UL"/>
+		<build type="define" name="F_USB" value="8000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.projects.led_notifier" caption="LED Notifier Widget">
+		<info type="description" value="summary">
+		RGB LED notification widget project.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="CDC Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="LEDNotifier.txt"/>
+		<build type="distribute" subtype="user-file" value="LUFA LED Notifier.inf"/>
+		<build type="distribute" subtype="directory" value="CPUUsageApp"/>
+		<build type="distribute" subtype="directory" value="LEDMixerApp"/>
+
+		<build type="c-source" value="LEDNotifier.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="LEDNotifier.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

+ 50 - 50
Projects/MIDIToneGenerator/asf.xml

@@ -1,50 +1,50 @@
-<asf xmlversion="1.0">
-	<project caption="MIDI Tone Generator" id="lufa.projects.midi_tone_gen.avr8">
-		<require idref="lufa.projects.midi_tone_gen"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="usbkey"/>
-
-		<build type="define" name="F_CPU" value="8000000UL"/>
-		<build type="define" name="F_USB" value="8000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.projects.midi_tone_gen" caption="MIDI Tone Generator">
-		<info type="description" value="summary">
-		MIDI tone generator project.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="Class Driver APIs"/>
-			<keyword value="USB Device"/>
-			<keyword value="MIDI Class"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="distribute" subtype="user-file" value="doxyfile"/>
-		<build type="distribute" subtype="user-file" value="MIDIToneGenerator.txt"/>
-
-		<build type="c-source" value="MIDIToneGenerator.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="MIDIToneGenerator.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value="Config"/>
-		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
-		<build type="header-file" value="Config/AppConfig.h"/>
-		<build type="header-file" value="Config/LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-		<require idref="lufa.drivers.board.leds"/>
-	</module>
-</asf>
+<asf xmlversion="1.0">
+	<project caption="MIDI Tone Generator" id="lufa.projects.midi_tone_gen.avr8">
+		<require idref="lufa.projects.midi_tone_gen"/>
+		<require idref="lufa.boards.dummy.avr8"/>
+		<generator value="as5_8"/>
+
+		<device-support value="at90usb1287"/>
+		<config name="lufa.drivers.board.name" value="usbkey"/>
+
+		<build type="define" name="F_CPU" value="8000000UL"/>
+		<build type="define" name="F_USB" value="8000000UL"/>
+	</project>
+
+	<module type="application" id="lufa.projects.midi_tone_gen" caption="MIDI Tone Generator">
+		<info type="description" value="summary">
+		MIDI tone generator project.
+		</info>
+
+ 		<info type="gui-flag" value="move-to-root"/>
+
+		<info type="keyword" value="Technology">
+			<keyword value="Class Driver APIs"/>
+			<keyword value="USB Device"/>
+			<keyword value="MIDI Class"/>
+		</info>
+
+		<device-support-alias value="lufa_avr8"/>
+		<device-support-alias value="lufa_xmega"/>
+		<device-support-alias value="lufa_uc3"/>
+
+		<build type="distribute" subtype="user-file" value="doxyfile"/>
+		<build type="distribute" subtype="user-file" value="MIDIToneGenerator.txt"/>
+
+		<build type="c-source" value="MIDIToneGenerator.c"/>
+		<build type="c-source" value="Descriptors.c"/>
+		<build type="header-file" value="MIDIToneGenerator.h"/>
+		<build type="header-file" value="Descriptors.h"/>
+
+		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
+		<build type="header-file" value="Config/AppConfig.h"/>
+		<build type="header-file" value="Config/LUFAConfig.h"/>
+
+		<require idref="lufa.common"/>
+		<require idref="lufa.platform"/>
+		<require idref="lufa.drivers.usb"/>
+		<require idref="lufa.drivers.board"/>
+		<require idref="lufa.drivers.board.leds"/>
+	</module>
+</asf>

部分文件因文件數量過多而無法顯示