diff --git a/Bootloaders/CDC/makefile b/Bootloaders/CDC/makefile
index 8fa7cb22982c7022402e2456abc42f5784f489ef..92b63dad3c81ea416b68b326470a23771facd0ec 100644
--- a/Bootloaders/CDC/makefile
+++ b/Bootloaders/CDC/makefile
@@ -51,6 +51,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -187,7 +191,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL
 CDEFS += $(LUFA_OPTS)
 
diff --git a/Bootloaders/DFU/makefile b/Bootloaders/DFU/makefile
index ce97b58d126c3650df4dda1435e07b28548728ae..d77933b6bbbe07102484ff0d0048fdea4a696534 100644
--- a/Bootloaders/DFU/makefile
+++ b/Bootloaders/DFU/makefile
@@ -51,6 +51,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -182,7 +186,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL
 CDEFS += $(LUFA_OPTS)
 
diff --git a/Bootloaders/HID/makefile b/Bootloaders/HID/makefile
index 338bafa015529bdcad6141e5d790c2258556b50a..6d8fbf560b7a6f66aab72f60b340e41760233308 100644
--- a/Bootloaders/HID/makefile
+++ b/Bootloaders/HID/makefile
@@ -51,6 +51,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -182,7 +186,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL
 CDEFS += $(LUFA_OPTS)
 
diff --git a/Demos/Device/ClassDriver/AudioInput/makefile b/Demos/Device/ClassDriver/AudioInput/makefile
index 3c26c97ed9ab913acc2c5c17874af0dc7a6f1060..371375567be982a9e25654d0c200ed71615a7e1a 100644
--- a/Demos/Device/ClassDriver/AudioInput/makefile
+++ b/Demos/Device/ClassDriver/AudioInput/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -182,20 +186,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/AudioOutput/makefile b/Demos/Device/ClassDriver/AudioOutput/makefile
index 9ff71b2e16d9cd019133cf2d54dd77e81a0362ed..2f23514eaefd908cdbf8d58b7e5dd41f8e3a8d47 100644
--- a/Demos/Device/ClassDriver/AudioOutput/makefile
+++ b/Demos/Device/ClassDriver/AudioOutput/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -183,20 +187,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/DualVirtualSerial/makefile b/Demos/Device/ClassDriver/DualVirtualSerial/makefile
index c9c0349246dbd2b0799c131cde38c85cabd9f22a..9234fe9e6e6b941a58fba001d7f3f58b57ad6c70 100644
--- a/Demos/Device/ClassDriver/DualVirtualSerial/makefile
+++ b/Demos/Device/ClassDriver/DualVirtualSerial/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,20 +183,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/GenericHID/makefile b/Demos/Device/ClassDriver/GenericHID/makefile
index 5c7e78ee74eb0f0386585b3f6243a6923ed8b0ed..b20d045d9ddcac406d09c37befed17e7db08c914 100644
--- a/Demos/Device/ClassDriver/GenericHID/makefile
+++ b/Demos/Device/ClassDriver/GenericHID/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,20 +183,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/Joystick/makefile b/Demos/Device/ClassDriver/Joystick/makefile
index ff8ffea13e7798819d449f4c9de9cd65d6bd0e6c..23845f4b52dbd2164771f1cf76fd87571f919ce9 100644
--- a/Demos/Device/ClassDriver/Joystick/makefile
+++ b/Demos/Device/ClassDriver/Joystick/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,20 +183,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/Keyboard/makefile b/Demos/Device/ClassDriver/Keyboard/makefile
index d31b068dde10176d292fab03a15c4b1377b6f4a9..7981b5d034266c4150751bbbc14b047c8ae6efad 100644
--- a/Demos/Device/ClassDriver/Keyboard/makefile
+++ b/Demos/Device/ClassDriver/Keyboard/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,20 +183,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/KeyboardMouse/makefile b/Demos/Device/ClassDriver/KeyboardMouse/makefile
index 8ef931962460cfe33fb59cdaa08ebebd1ef9f44f..c4477dc00f5210444ee708f2985228fda40b1d2d 100644
--- a/Demos/Device/ClassDriver/KeyboardMouse/makefile
+++ b/Demos/Device/ClassDriver/KeyboardMouse/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,20 +183,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile b/Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile
index 8ccd785cf28f98b9a32d3ace058dac1c3dfbba7b..9fcd9aeae316951b5b7e50836e9f7bf4b89da3be 100644
--- a/Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile
+++ b/Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,20 +183,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/MIDI/makefile b/Demos/Device/ClassDriver/MIDI/makefile
index c60aff97d925290fc3424736572237ea2d7d5288..11b76deb4a5255abc2113193e7dcfd75d2aafd9d 100644
--- a/Demos/Device/ClassDriver/MIDI/makefile
+++ b/Demos/Device/ClassDriver/MIDI/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,20 +183,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/MassStorage/makefile b/Demos/Device/ClassDriver/MassStorage/makefile
index 54b4b7f1795b9eb6df19cb08d4faaee6272004a2..bd548f8763e97271434de456414371e1bea8e94a 100644
--- a/Demos/Device/ClassDriver/MassStorage/makefile
+++ b/Demos/Device/ClassDriver/MassStorage/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -182,20 +186,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/makefile b/Demos/Device/ClassDriver/MassStorageKeyboard/makefile
index bdc0a9b644eaa18c1e741c819c33c053e3193487..1d7eaca5388959a82fa14f54493ff664577c0dc8 100644
--- a/Demos/Device/ClassDriver/MassStorageKeyboard/makefile
+++ b/Demos/Device/ClassDriver/MassStorageKeyboard/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -182,20 +186,20 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
 # Place -D or -U options here for ASM sources
 ADEFS  = -DF_CPU=$(F_CPU)
 ADEFS += -DF_CLOCK=$(F_CLOCK)UL
-ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 ADEFS += $(LUFA_OPTS)
 
 # Place -D or -U options here for C++ sources
 CPPDEFS  = -DF_CPU=$(F_CPU)UL
 CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CPPDEFS += $(LUFA_OPTS)
 #CPPDEFS += -D__STDC_LIMIT_MACROS
 #CPPDEFS += -D__STDC_CONSTANT_MACROS
diff --git a/Demos/Device/ClassDriver/Mouse/makefile b/Demos/Device/ClassDriver/Mouse/makefile
index 76e6d7dfce048666ce288bfdf06df7b6ad053592..317005f3ae764af42cccc419774960a1c7065d11 100644
--- a/Demos/Device/ClassDriver/Mouse/makefile
+++ b/Demos/Device/ClassDriver/Mouse/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,7 +183,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/makefile b/Demos/Device/ClassDriver/RNDISEthernet/makefile
index e4e2274531201804ca245382ed69f1ba83150d9e..910452b7da912804f4c7a5b37c9b38e97da13799 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/makefile
+++ b/Demos/Device/ClassDriver/RNDISEthernet/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -197,7 +201,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/ClassDriver/VirtualSerial/makefile b/Demos/Device/ClassDriver/VirtualSerial/makefile
index 1f43438ab08887c07d149a2d5c38242d79882707..fb7dd779faedbc5a4506c3d4529e0e547ea62727 100644
--- a/Demos/Device/ClassDriver/VirtualSerial/makefile
+++ b/Demos/Device/ClassDriver/VirtualSerial/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,7 +183,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/ClassDriver/VirtualSerialMouse/makefile b/Demos/Device/ClassDriver/VirtualSerialMouse/makefile
index 3aa0b487f96951ca2262a324fbd548e84a27014b..2ed7afddf68ce05ae44ee6b988f8f9d446c3b807 100644
--- a/Demos/Device/ClassDriver/VirtualSerialMouse/makefile
+++ b/Demos/Device/ClassDriver/VirtualSerialMouse/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,7 +183,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/Incomplete/Sideshow/makefile b/Demos/Device/Incomplete/Sideshow/makefile
index 2060175492db9f7129d66707c84cfab466910050..9439e1d9effa1ea9147ae47a5ed7574666f1aed4 100644
--- a/Demos/Device/Incomplete/Sideshow/makefile
+++ b/Demos/Device/Incomplete/Sideshow/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -183,7 +187,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/Incomplete/TestAndMeasurement/makefile b/Demos/Device/Incomplete/TestAndMeasurement/makefile
index 7e282ed57bb1a835683c08e0ebd5cff6eaf775a4..298cd2281c4fb9bb04a507f25e7656e02631ac8a 100644
--- a/Demos/Device/Incomplete/TestAndMeasurement/makefile
+++ b/Demos/Device/Incomplete/TestAndMeasurement/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -179,7 +183,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/AudioInput/makefile b/Demos/Device/LowLevel/AudioInput/makefile
index 15ceba7a42372002e12835bd08ea3193de7b2096..40746f8f93790c0310e0780d13114d22882d85da 100644
--- a/Demos/Device/LowLevel/AudioInput/makefile
+++ b/Demos/Device/LowLevel/AudioInput/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -181,7 +185,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/AudioOutput/makefile b/Demos/Device/LowLevel/AudioOutput/makefile
index 1f526006cf835338c06d58c97c9634d663a90090..28bc1c286a83cb603e2898d45fee2f98c8160142 100644
--- a/Demos/Device/LowLevel/AudioOutput/makefile
+++ b/Demos/Device/LowLevel/AudioOutput/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -182,7 +186,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/DualVirtualSerial/makefile b/Demos/Device/LowLevel/DualVirtualSerial/makefile
index 4daadb2a3a79e5fcd5a766efe7741ef3be1a0b5b..6808429211c1c85a0ffe99658240030a7c1a14c3 100644
--- a/Demos/Device/LowLevel/DualVirtualSerial/makefile
+++ b/Demos/Device/LowLevel/DualVirtualSerial/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -178,7 +182,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/GenericHID/makefile b/Demos/Device/LowLevel/GenericHID/makefile
index ae6c300ca76226333a14033470cb581100fc30c6..d87f6dc69e6b587c89b9ec83a38ffad35dfbd87a 100644
--- a/Demos/Device/LowLevel/GenericHID/makefile
+++ b/Demos/Device/LowLevel/GenericHID/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -178,7 +182,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/Joystick/makefile b/Demos/Device/LowLevel/Joystick/makefile
index e22d511e9b14f10fd537d74c347524f69d4b936d..ba9c1589909d8db4e86f64838622a18e44d28aa5 100644
--- a/Demos/Device/LowLevel/Joystick/makefile
+++ b/Demos/Device/LowLevel/Joystick/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -178,7 +182,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/Keyboard/makefile b/Demos/Device/LowLevel/Keyboard/makefile
index 2c1e31fca151df1ad45081dc6e7a14bbaf7e4961..3e764d9d72c3e41d9bee26dd2fd772662f784255 100644
--- a/Demos/Device/LowLevel/Keyboard/makefile
+++ b/Demos/Device/LowLevel/Keyboard/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -178,7 +182,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/KeyboardMouse/makefile b/Demos/Device/LowLevel/KeyboardMouse/makefile
index f1a16e1e1e28c45b769ad1234fc376f2737ac963..12490fc614bd311a79d4f22b9caf528f5d3b573b 100644
--- a/Demos/Device/LowLevel/KeyboardMouse/makefile
+++ b/Demos/Device/LowLevel/KeyboardMouse/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -178,7 +182,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/MIDI/makefile b/Demos/Device/LowLevel/MIDI/makefile
index 40c028328effe52f181f932248b0ccf7a2868ea7..7b8a242c49339708ff593dd2bf3b12d033086616 100644
--- a/Demos/Device/LowLevel/MIDI/makefile
+++ b/Demos/Device/LowLevel/MIDI/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -178,7 +182,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/MassStorage/makefile b/Demos/Device/LowLevel/MassStorage/makefile
index d1c0d8198ff54d40c3e2d3eacf24f64485d52440..becdfab0f51ea578b633ac947784b55ed3c5a99e 100644
--- a/Demos/Device/LowLevel/MassStorage/makefile
+++ b/Demos/Device/LowLevel/MassStorage/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -181,7 +185,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/Mouse/makefile b/Demos/Device/LowLevel/Mouse/makefile
index 9041e5cf6d2d76a1765aca68c2a5715acc0eb9c7..7b8d8eea215ddc12b512fdb31e8a802063b6422c 100644
--- a/Demos/Device/LowLevel/Mouse/makefile
+++ b/Demos/Device/LowLevel/Mouse/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -178,7 +182,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/RNDISEthernet/makefile b/Demos/Device/LowLevel/RNDISEthernet/makefile
index 09213a98e3101ef16d51e79c116a2a444ae07ee8..66528646dd7d3d46acd61131ebec6558ab57ad59 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/makefile
+++ b/Demos/Device/LowLevel/RNDISEthernet/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -197,7 +201,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Device/LowLevel/VirtualSerial/makefile b/Demos/Device/LowLevel/VirtualSerial/makefile
index 0488b71d5012a206020f3f746d9359da9bd6fb71..fd13fc64e61a88b2af7173587f9ac77ff52302b5 100644
--- a/Demos/Device/LowLevel/VirtualSerial/makefile
+++ b/Demos/Device/LowLevel/VirtualSerial/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -178,7 +182,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/makefile b/Demos/DualRole/ClassDriver/MouseHostDevice/makefile
index 8aca25a0e744a5b8a5ac163a52395b57e1c1f376..c9b74eb2bfa0dede005229bac38982fdd34da052 100644
--- a/Demos/DualRole/ClassDriver/MouseHostDevice/makefile
+++ b/Demos/DualRole/ClassDriver/MouseHostDevice/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -181,7 +185,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/JoystickHostWithParser/makefile b/Demos/Host/ClassDriver/JoystickHostWithParser/makefile
index 4133b2b080ac05c8dcbd227b5c76a2a5b5135f5b..f72c1e3006aa58157d44afc8c33c374d58be31c9 100644
--- a/Demos/Host/ClassDriver/JoystickHostWithParser/makefile
+++ b/Demos/Host/ClassDriver/JoystickHostWithParser/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/KeyboardHost/makefile b/Demos/Host/ClassDriver/KeyboardHost/makefile
index 30946c5bf5234bcf790f407c30911efcb2b4ec4f..ba0e92fe03e9d4ef87bf51001bd41509c5ea2303 100644
--- a/Demos/Host/ClassDriver/KeyboardHost/makefile
+++ b/Demos/Host/ClassDriver/KeyboardHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile b/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
index 4e07a6883a833348a697352255f533fa36f528d6..b1070f9c822ecdaf2e52032a096abed579f28672 100644
--- a/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
+++ b/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/MIDIHost/makefile b/Demos/Host/ClassDriver/MIDIHost/makefile
index fe203868f601fdae6ac57bbe4e3372f8ba054557..99e529f4ddcc0e3bed21ae5d59794ab9571a0465 100644
--- a/Demos/Host/ClassDriver/MIDIHost/makefile
+++ b/Demos/Host/ClassDriver/MIDIHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/MassStorageHost/makefile b/Demos/Host/ClassDriver/MassStorageHost/makefile
index 8124af8126ae9aca5d164f2b86ae925f71366346..22b9b14caf22e72494c454fad8acc45607143ebf 100644
--- a/Demos/Host/ClassDriver/MassStorageHost/makefile
+++ b/Demos/Host/ClassDriver/MassStorageHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -177,7 +181,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/MouseHost/makefile b/Demos/Host/ClassDriver/MouseHost/makefile
index 77c47237e9f2c0ac3e41d0e7b68a9b29b49a74d7..748213a1a2a605424b80aba1765bd8608b7d9ca4 100644
--- a/Demos/Host/ClassDriver/MouseHost/makefile
+++ b/Demos/Host/ClassDriver/MouseHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/makefile b/Demos/Host/ClassDriver/MouseHostWithParser/makefile
index 37424e82691bf59d3b2052ed066e4a82752ee479..040f2697ebf9bb7703a40bb591ea33b0656a2a96 100644
--- a/Demos/Host/ClassDriver/MouseHostWithParser/makefile
+++ b/Demos/Host/ClassDriver/MouseHostWithParser/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/PrinterHost/makefile b/Demos/Host/ClassDriver/PrinterHost/makefile
index a5df91fce125640bddc0a8c5e740fecae7b06d04..85638aec5db41d66b5e91ca6f10782fc125a75cc 100644
--- a/Demos/Host/ClassDriver/PrinterHost/makefile
+++ b/Demos/Host/ClassDriver/PrinterHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/RNDISEthernetHost/makefile b/Demos/Host/ClassDriver/RNDISEthernetHost/makefile
index 942544718cb35e18d86853eb49374484209f347a..9ed8fb08e5e8fe6c9271a3e6190a2eb4f3d30b30 100644
--- a/Demos/Host/ClassDriver/RNDISEthernetHost/makefile
+++ b/Demos/Host/ClassDriver/RNDISEthernetHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/StillImageHost/makefile b/Demos/Host/ClassDriver/StillImageHost/makefile
index e4ded2cc155a5e675f823fd6d57aba07159a7196..1c8a2c38becc286b6bfc82ef4cb095e789d9c469 100644
--- a/Demos/Host/ClassDriver/StillImageHost/makefile
+++ b/Demos/Host/ClassDriver/StillImageHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/ClassDriver/VirtualSerialHost/makefile b/Demos/Host/ClassDriver/VirtualSerialHost/makefile
index c957f831f7f2c226e31353d4c114b875610cb6ad..176e1fabf96f2d69120d2390557ed3b97cb126f9 100644
--- a/Demos/Host/ClassDriver/VirtualSerialHost/makefile
+++ b/Demos/Host/ClassDriver/VirtualSerialHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/Incomplete/BluetoothHost/makefile b/Demos/Host/Incomplete/BluetoothHost/makefile
index de80a0e5b03485119451360ab2bebb6edf7ff2d9..1c6dc0d874c0e78fce431dfb3af2618812d98eb1 100644
--- a/Demos/Host/Incomplete/BluetoothHost/makefile
+++ b/Demos/Host/Incomplete/BluetoothHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -185,7 +189,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/GenericHIDHost/makefile b/Demos/Host/LowLevel/GenericHIDHost/makefile
index 4db0c93a27cbb20152f0b781ff20abf4103e2f6e..936538496f6055958025334a94f16bc67926a466 100644
--- a/Demos/Host/LowLevel/GenericHIDHost/makefile
+++ b/Demos/Host/LowLevel/GenericHIDHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/makefile b/Demos/Host/LowLevel/JoystickHostWithParser/makefile
index 93d0522709b7f7afcdf23df5f7e87c7ac9c5aca1..09f87d980255397d7573bb9fe068a38735f7006c 100644
--- a/Demos/Host/LowLevel/JoystickHostWithParser/makefile
+++ b/Demos/Host/LowLevel/JoystickHostWithParser/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -177,7 +181,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/KeyboardHost/makefile b/Demos/Host/LowLevel/KeyboardHost/makefile
index 1c733784ad3cea7120d3dae29fd99a33a3c907b9..a4b16f1dba79ce27b99c0b4e82cd3dd6fb36ed3e 100644
--- a/Demos/Host/LowLevel/KeyboardHost/makefile
+++ b/Demos/Host/LowLevel/KeyboardHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/makefile b/Demos/Host/LowLevel/KeyboardHostWithParser/makefile
index a0ff248ffaa95eea7ab21251d37b6c641f3181f4..9ddad4e9b88a243d26e6b38a0119db43cefde6d0 100644
--- a/Demos/Host/LowLevel/KeyboardHostWithParser/makefile
+++ b/Demos/Host/LowLevel/KeyboardHostWithParser/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -177,7 +181,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/MIDIHost/makefile b/Demos/Host/LowLevel/MIDIHost/makefile
index 146ca54774f86c127c6aca44dfdca21e4b8f789e..2f304753a726b0721f5f787a7adaf956863d5f33 100644
--- a/Demos/Host/LowLevel/MIDIHost/makefile
+++ b/Demos/Host/LowLevel/MIDIHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/MassStorageHost/makefile b/Demos/Host/LowLevel/MassStorageHost/makefile
index ce38971dda33db8cfd54ff7f8773f9ea81924d9b..756204ae9edac4dfd2879df2c93a93c03c85221f 100644
--- a/Demos/Host/LowLevel/MassStorageHost/makefile
+++ b/Demos/Host/LowLevel/MassStorageHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -178,7 +182,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/MouseHost/makefile b/Demos/Host/LowLevel/MouseHost/makefile
index f64af3b3f4b191734f0b5ec73671f792052215bf..e0abc3fde107f7ba3319582c9b14a48e6428c69e 100644
--- a/Demos/Host/LowLevel/MouseHost/makefile
+++ b/Demos/Host/LowLevel/MouseHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/MouseHostWithParser/makefile b/Demos/Host/LowLevel/MouseHostWithParser/makefile
index 79d8ec273542be63c2d9d52d05aa7397bd119cd1..40648eecec5b97ce0eb4ba99741d214cd59eb78a 100644
--- a/Demos/Host/LowLevel/MouseHostWithParser/makefile
+++ b/Demos/Host/LowLevel/MouseHostWithParser/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -177,7 +181,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/PrinterHost/makefile b/Demos/Host/LowLevel/PrinterHost/makefile
index f4946c490ca7a7cd25930184874f097080810a75..374159062b236db7f49c6495a542323a2484767d 100644
--- a/Demos/Host/LowLevel/PrinterHost/makefile
+++ b/Demos/Host/LowLevel/PrinterHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -177,7 +181,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/makefile b/Demos/Host/LowLevel/RNDISEthernetHost/makefile
index dce4aadd16edf6839d6c8787c4362573040eba85..5f0e12b73fde9fbd5150a9e9998a80f21730e0c9 100644
--- a/Demos/Host/LowLevel/RNDISEthernetHost/makefile
+++ b/Demos/Host/LowLevel/RNDISEthernetHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -177,7 +181,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/StillImageHost/makefile b/Demos/Host/LowLevel/StillImageHost/makefile
index ebf57ca839d7e678d70c4b65d076b6300f173daa..5878b586ae9a6f09567047c69262d0bf1e9c4dfb 100644
--- a/Demos/Host/LowLevel/StillImageHost/makefile
+++ b/Demos/Host/LowLevel/StillImageHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -177,7 +181,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Demos/Host/LowLevel/VirtualSerialHost/makefile b/Demos/Host/LowLevel/VirtualSerialHost/makefile
index 298c029330d8ac6abba5848947172e70b2706684..c5e03c85089db7c8dcaf1741dc27caacd53fc754 100644
--- a/Demos/Host/LowLevel/VirtualSerialHost/makefile
+++ b/Demos/Host/LowLevel/VirtualSerialHost/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -176,7 +180,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/LUFA.pnproj b/LUFA.pnproj
index 3fc4290f52aac13a0bd4469c1b77fabbaa8914a2..ca95f21f6fb1b86ce2100e89965018dfc18299bf 100644
--- a/LUFA.pnproj
+++ b/LUFA.pnproj
@@ -1 +1 @@
-<Project name="LUFA"><Folder name="Demos"><Folder name="Device"><Folder name="ClassDriver"><Folder name="AudioInput"><File path="Demos\Device\ClassDriver\AudioInput\AudioInput.c"></File><File path="Demos\Device\ClassDriver\AudioInput\AudioInput.h"></File><File path="Demos\Device\ClassDriver\AudioInput\AudioInput.txt"></File><File path="Demos\Device\ClassDriver\AudioInput\Descriptors.c"></File><File path="Demos\Device\ClassDriver\AudioInput\Descriptors.h"></File><File path="Demos\Device\ClassDriver\AudioInput\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\AudioInput\makefile"></File><File path="Demos\Device\ClassDriver\AudioInput\AudioInput.aps"></File></Folder><Folder name="AudioOutput"><File path="Demos\Device\ClassDriver\AudioOutput\AudioOutput.c"></File><File path="Demos\Device\ClassDriver\AudioOutput\AudioOutput.h"></File><File path="Demos\Device\ClassDriver\AudioOutput\AudioOutput.txt"></File><File path="Demos\Device\ClassDriver\AudioOutput\Descriptors.c"></File><File path="Demos\Device\ClassDriver\AudioOutput\Descriptors.h"></File><File path="Demos\Device\ClassDriver\AudioOutput\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\AudioOutput\makefile"></File><File path="Demos\Device\ClassDriver\AudioOutput\AudioOutput.aps"></File></Folder><Folder name="DualVirtualSerial"><File path="Demos\Device\ClassDriver\DualVirtualSerial\Descriptors.c"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\Descriptors.h"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\DualVirtualSerial.c"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\DualVirtualSerial.h"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\DualVirtualSerial.txt"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\LUFA DualVirtualSerial.inf"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\makefile"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\DualVirtualSerial.aps"></File></Folder><Folder name="GenericHID"><File path="Demos\Device\ClassDriver\GenericHID\Descriptors.c"></File><File path="Demos\Device\ClassDriver\GenericHID\Descriptors.h"></File><File path="Demos\Device\ClassDriver\GenericHID\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\GenericHID\GenericHID.c"></File><File path="Demos\Device\ClassDriver\GenericHID\GenericHID.h"></File><File path="Demos\Device\ClassDriver\GenericHID\GenericHID.txt"></File><File path="Demos\Device\ClassDriver\GenericHID\makefile"></File><File path="Demos\Device\ClassDriver\GenericHID\GenericHID.aps"></File></Folder><Folder name="Joystick"><File path="Demos\Device\ClassDriver\Joystick\Descriptors.c"></File><File path="Demos\Device\ClassDriver\Joystick\Descriptors.h"></File><File path="Demos\Device\ClassDriver\Joystick\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\Joystick\Joystick.c"></File><File path="Demos\Device\ClassDriver\Joystick\Joystick.h"></File><File path="Demos\Device\ClassDriver\Joystick\Joystick.txt"></File><File path="Demos\Device\ClassDriver\Joystick\makefile"></File><File path="Demos\Device\ClassDriver\Joystick\Joystick.aps"></File></Folder><Folder name="Keyboard"><File path="Demos\Device\ClassDriver\Keyboard\Descriptors.c"></File><File path="Demos\Device\ClassDriver\Keyboard\Descriptors.h"></File><File path="Demos\Device\ClassDriver\Keyboard\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\Keyboard\Keyboard.c"></File><File path="Demos\Device\ClassDriver\Keyboard\Keyboard.h"></File><File path="Demos\Device\ClassDriver\Keyboard\Keyboard.txt"></File><File path="Demos\Device\ClassDriver\Keyboard\makefile"></File><File path="Demos\Device\ClassDriver\Keyboard\Keyboard.aps"></File></Folder><Folder name="KeyboardMouse"><File path="Demos\Device\ClassDriver\KeyboardMouse\Descriptors.c"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\Descriptors.h"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\KeyboardMouse.c"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\KeyboardMouse.h"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\KeyboardMouse.txt"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\makefile"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\KeyboardMouse.aps"></File></Folder><Folder name="KeyboardMouseMultiReport"><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\Descriptors.c"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\Descriptors.h"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\KeyboardMouseMultiReport.c"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\KeyboardMouseMultiReport.h"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\KeyboardMouseMultiReport.txt"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\makefile"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\KeyboardMouseMultiReport.aps"></File></Folder><Folder name="MassStorage"><Folder name="Lib"><File path="Demos\Device\ClassDriver\MassStorage\Lib\DataflashManager.c"></File><File path="Demos\Device\ClassDriver\MassStorage\Lib\DataflashManager.h"></File><File path="Demos\Device\ClassDriver\MassStorage\Lib\SCSI.c"></File><File path="Demos\Device\ClassDriver\MassStorage\Lib\SCSI.h"></File></Folder><File path="Demos\Device\ClassDriver\MassStorage\Descriptors.c"></File><File path="Demos\Device\ClassDriver\MassStorage\Descriptors.h"></File><File path="Demos\Device\ClassDriver\MassStorage\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\MassStorage\makefile"></File><File path="Demos\Device\ClassDriver\MassStorage\MassStorage.c"></File><File path="Demos\Device\ClassDriver\MassStorage\MassStorage.h"></File><File path="Demos\Device\ClassDriver\MassStorage\MassStorage.txt"></File><File path="Demos\Device\ClassDriver\MassStorage\MassStorage.aps"></File></Folder><Folder name="MassStorageKeyboard"><Folder name="Lib"><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Lib\DataflashManager.c"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Lib\DataflashManager.h"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Lib\SCSI.c"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Lib\SCSI.h"></File></Folder><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Descriptors.c"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Descriptors.h"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\makefile"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\MassStorageKeyboard.c"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\MassStorageKeyboard.h"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\MassStorageKeyboard.txt"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\MassStorageKeyboard.aps"></File></Folder><Folder name="MIDI"><File path="Demos\Device\ClassDriver\MIDI\Descriptors.c"></File><File path="Demos\Device\ClassDriver\MIDI\Descriptors.h"></File><File path="Demos\Device\ClassDriver\MIDI\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\MIDI\makefile"></File><File path="Demos\Device\ClassDriver\MIDI\MIDI.c"></File><File path="Demos\Device\ClassDriver\MIDI\MIDI.h"></File><File path="Demos\Device\ClassDriver\MIDI\MIDI.txt"></File><File path="Demos\Device\ClassDriver\MIDI\MIDI.aps"></File></Folder><Folder name="Mouse"><File path="Demos\Device\ClassDriver\Mouse\Descriptors.c"></File><File path="Demos\Device\ClassDriver\Mouse\Descriptors.h"></File><File path="Demos\Device\ClassDriver\Mouse\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\Mouse\makefile"></File><File path="Demos\Device\ClassDriver\Mouse\Mouse.c"></File><File path="Demos\Device\ClassDriver\Mouse\Mouse.h"></File><File path="Demos\Device\ClassDriver\Mouse\Mouse.txt"></File><File path="Demos\Device\ClassDriver\Mouse\Mouse.aps"></File></Folder><Folder name="RNDISEthernet"><Folder name="Lib"><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\Webserver.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ARP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ARP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\DHCP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\DHCP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\Ethernet.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\Ethernet.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\EthernetProtocols.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ICMP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ICMP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\IP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\IP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ProtocolDecoders.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ProtocolDecoders.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\TCP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\TCP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\UDP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\UDP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\Webserver.c"></File></Folder><File path="Demos\Device\ClassDriver\RNDISEthernet\Descriptors.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Descriptors.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\LUFA RNDIS.inf"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\makefile"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\RNDISEthernet.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\RNDISEthernet.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\RNDISEthernet.txt"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\RNDISEthernet.aps"></File></Folder><Folder name="VirtualSerial"><File path="Demos\Device\ClassDriver\VirtualSerial\Descriptors.c"></File><File path="Demos\Device\ClassDriver\VirtualSerial\Descriptors.h"></File><File path="Demos\Device\ClassDriver\VirtualSerial\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\VirtualSerial\LUFA VirtualSerial.inf"></File><File path="Demos\Device\ClassDriver\VirtualSerial\makefile"></File><File path="Demos\Device\ClassDriver\VirtualSerial\VirtualSerial.c"></File><File path="Demos\Device\ClassDriver\VirtualSerial\VirtualSerial.h"></File><File path="Demos\Device\ClassDriver\VirtualSerial\VirtualSerial.txt"></File><File path="Demos\Device\ClassDriver\VirtualSerial\VirtualSerial.aps"></File></Folder><Folder name="VirtualSerialMouse"><File path="Demos\Device\ClassDriver\VirtualSerialMouse\Descriptors.c"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\Descriptors.h"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\LUFA VirtualSerialMouse.inf"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\makefile"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\VirtualSerialMouse.c"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\VirtualSerialMouse.h"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\VirtualSerialMouse.txt"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\VirtualSerialMouse.aps"></File></Folder><File path="Demos\Device\ClassDriver\makefile"></File></Folder><Folder name="LowLevel"><Folder name="AudioInput"><File path="Demos\Device\LowLevel\AudioInput\AudioInput.c"></File><File path="Demos\Device\LowLevel\AudioInput\AudioInput.h"></File><File path="Demos\Device\LowLevel\AudioInput\AudioInput.txt"></File><File path="Demos\Device\LowLevel\AudioInput\Descriptors.c"></File><File path="Demos\Device\LowLevel\AudioInput\Descriptors.h"></File><File path="Demos\Device\LowLevel\AudioInput\Doxygen.conf"></File><File path="Demos\Device\LowLevel\AudioInput\makefile"></File><File path="Demos\Device\LowLevel\AudioInput\AudioInput.aps"></File></Folder><Folder name="AudioOutput"><File path="Demos\Device\LowLevel\AudioOutput\AudioOutput.c"></File><File path="Demos\Device\LowLevel\AudioOutput\AudioOutput.h"></File><File path="Demos\Device\LowLevel\AudioOutput\AudioOutput.txt"></File><File path="Demos\Device\LowLevel\AudioOutput\Descriptors.c"></File><File path="Demos\Device\LowLevel\AudioOutput\Descriptors.h"></File><File path="Demos\Device\LowLevel\AudioOutput\Doxygen.conf"></File><File path="Demos\Device\LowLevel\AudioOutput\makefile"></File><File path="Demos\Device\LowLevel\AudioOutput\AudioOutput.aps"></File></Folder><Folder name="DualVirtualSerial"><File path="Demos\Device\LowLevel\DualVirtualSerial\Descriptors.c"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\Descriptors.h"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\Doxygen.conf"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\DualVirtualSerial.c"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\DualVirtualSerial.h"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\DualVirtualSerial.txt"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\LUFA DualVirtualSerial.inf"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\makefile"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\DualVirtualSerial.aps"></File></Folder><Folder name="GenericHID"><File path="Demos\Device\LowLevel\GenericHID\Descriptors.c"></File><File path="Demos\Device\LowLevel\GenericHID\Descriptors.h"></File><File path="Demos\Device\LowLevel\GenericHID\Doxygen.conf"></File><File path="Demos\Device\LowLevel\GenericHID\GenericHID.c"></File><File path="Demos\Device\LowLevel\GenericHID\GenericHID.h"></File><File path="Demos\Device\LowLevel\GenericHID\GenericHID.txt"></File><File path="Demos\Device\LowLevel\GenericHID\makefile"></File><File path="Demos\Device\LowLevel\GenericHID\GenericHID.aps"></File></Folder><Folder name="Joystick"><File path="Demos\Device\LowLevel\Joystick\Descriptors.c"></File><File path="Demos\Device\LowLevel\Joystick\Descriptors.h"></File><File path="Demos\Device\LowLevel\Joystick\Doxygen.conf"></File><File path="Demos\Device\LowLevel\Joystick\Joystick.c"></File><File path="Demos\Device\LowLevel\Joystick\Joystick.h"></File><File path="Demos\Device\LowLevel\Joystick\Joystick.txt"></File><File path="Demos\Device\LowLevel\Joystick\makefile"></File><File path="Demos\Device\LowLevel\Joystick\Joystick.aps"></File></Folder><Folder name="Keyboard"><File path="Demos\Device\LowLevel\Keyboard\Descriptors.c"></File><File path="Demos\Device\LowLevel\Keyboard\Descriptors.h"></File><File path="Demos\Device\LowLevel\Keyboard\Doxygen.conf"></File><File path="Demos\Device\LowLevel\Keyboard\Keyboard.c"></File><File path="Demos\Device\LowLevel\Keyboard\Keyboard.h"></File><File path="Demos\Device\LowLevel\Keyboard\Keyboard.txt"></File><File path="Demos\Device\LowLevel\Keyboard\makefile"></File><File path="Demos\Device\LowLevel\Keyboard\Keyboard.aps"></File></Folder><Folder name="KeyboardMouse"><File path="Demos\Device\LowLevel\KeyboardMouse\Descriptors.c"></File><File path="Demos\Device\LowLevel\KeyboardMouse\Descriptors.h"></File><File path="Demos\Device\LowLevel\KeyboardMouse\Doxygen.conf"></File><File path="Demos\Device\LowLevel\KeyboardMouse\KeyboardMouse.c"></File><File path="Demos\Device\LowLevel\KeyboardMouse\KeyboardMouse.h"></File><File path="Demos\Device\LowLevel\KeyboardMouse\KeyboardMouse.txt"></File><File path="Demos\Device\LowLevel\KeyboardMouse\makefile"></File><File path="Demos\Device\LowLevel\KeyboardMouse\KeyboardMouse.aps"></File></Folder><Folder name="MassStorage"><Folder name="Lib"><File path="Demos\Device\LowLevel\MassStorage\Lib\DataflashManager.c"></File><File path="Demos\Device\LowLevel\MassStorage\Lib\DataflashManager.h"></File><File path="Demos\Device\LowLevel\MassStorage\Lib\SCSI.c"></File><File path="Demos\Device\LowLevel\MassStorage\Lib\SCSI.h"></File></Folder><File path="Demos\Device\LowLevel\MassStorage\Descriptors.c"></File><File path="Demos\Device\LowLevel\MassStorage\Descriptors.h"></File><File path="Demos\Device\LowLevel\MassStorage\Doxygen.conf"></File><File path="Demos\Device\LowLevel\MassStorage\makefile"></File><File path="Demos\Device\LowLevel\MassStorage\MassStorage.c"></File><File path="Demos\Device\LowLevel\MassStorage\MassStorage.h"></File><File path="Demos\Device\LowLevel\MassStorage\MassStorage.txt"></File><File path="Demos\Device\LowLevel\MassStorage\MassStorage.aps"></File></Folder><Folder name="MIDI"><File path="Demos\Device\LowLevel\MIDI\Descriptors.c"></File><File path="Demos\Device\LowLevel\MIDI\Descriptors.h"></File><File path="Demos\Device\LowLevel\MIDI\Doxygen.conf"></File><File path="Demos\Device\LowLevel\MIDI\makefile"></File><File path="Demos\Device\LowLevel\MIDI\MIDI.c"></File><File path="Demos\Device\LowLevel\MIDI\MIDI.h"></File><File path="Demos\Device\LowLevel\MIDI\MIDI.txt"></File><File path="Demos\Device\LowLevel\MIDI\MIDI.aps"></File></Folder><Folder name="Mouse"><File path="Demos\Device\LowLevel\Mouse\Descriptors.c"></File><File path="Demos\Device\LowLevel\Mouse\Descriptors.h"></File><File path="Demos\Device\LowLevel\Mouse\Doxygen.conf"></File><File path="Demos\Device\LowLevel\Mouse\makefile"></File><File path="Demos\Device\LowLevel\Mouse\Mouse.c"></File><File path="Demos\Device\LowLevel\Mouse\Mouse.h"></File><File path="Demos\Device\LowLevel\Mouse\Mouse.txt"></File><File path="Demos\Device\LowLevel\Mouse\Mouse.aps"></File></Folder><Folder name="RNDISEthernet"><Folder name="Lib"><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\Webserver.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ARP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ARP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\DHCP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\DHCP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\Ethernet.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\Ethernet.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\EthernetProtocols.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ICMP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ICMP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\IP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\IP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ProtocolDecoders.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ProtocolDecoders.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\RNDIS.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\RNDIS.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\TCP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\TCP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\UDP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\UDP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\Webserver.c"></File></Folder><File path="Demos\Device\LowLevel\RNDISEthernet\Descriptors.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Descriptors.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Doxygen.conf"></File><File path="Demos\Device\LowLevel\RNDISEthernet\LUFA RNDIS.inf"></File><File path="Demos\Device\LowLevel\RNDISEthernet\makefile"></File><File path="Demos\Device\LowLevel\RNDISEthernet\RNDISEthernet.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\RNDISEthernet.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\RNDISEthernet.txt"></File><File path="Demos\Device\LowLevel\RNDISEthernet\RNDISEthernet.aps"></File></Folder><Folder name="VirtualSerial"><File path="Demos\Device\LowLevel\VirtualSerial\Descriptors.c"></File><File path="Demos\Device\LowLevel\VirtualSerial\Descriptors.h"></File><File path="Demos\Device\LowLevel\VirtualSerial\Doxygen.conf"></File><File path="Demos\Device\LowLevel\VirtualSerial\LUFA VirtualSerial.inf"></File><File path="Demos\Device\LowLevel\VirtualSerial\makefile"></File><File path="Demos\Device\LowLevel\VirtualSerial\VirtualSerial.c"></File><File path="Demos\Device\LowLevel\VirtualSerial\VirtualSerial.h"></File><File path="Demos\Device\LowLevel\VirtualSerial\VirtualSerial.txt"></File><File path="Demos\Device\LowLevel\VirtualSerial\VirtualSerial.aps"></File></Folder><File path="Demos\Device\LowLevel\makefile"></File></Folder><Folder name="Incomplete"><Folder name="SideShow"><Folder name="Lib"><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowApplications.c"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowApplications.h"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowCommands.c"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowCommands.h"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowCommon.c"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowCommon.h"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowContent.c"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowContent.h"></File></Folder><File path="Demos\Device\Incomplete\Sideshow\Descriptors.c"></File><File path="Demos\Device\Incomplete\Sideshow\Descriptors.h"></File><File path="Demos\Device\Incomplete\Sideshow\makefile"></File><File path="Demos\Device\Incomplete\Sideshow\Sideshow.c"></File><File path="Demos\Device\Incomplete\Sideshow\Sideshow.h"></File></Folder><Folder name="TestAndMeasurement"><File path="Demos\Device\Incomplete\TestAndMeasurement\Descriptors.c"></File><File path="Demos\Device\Incomplete\TestAndMeasurement\Descriptors.h"></File><File path="Demos\Device\Incomplete\TestAndMeasurement\TestAndMeasurement.c"></File><File path="Demos\Device\Incomplete\TestAndMeasurement\TestAndMeasurement.h"></File><File path="Demos\Device\Incomplete\TestAndMeasurement\makefile"></File></Folder></Folder><File path="Demos\Device\makefile"></File></Folder><Folder name="Host"><Folder name="ClassDriver"><Folder name="JoystickHostWithParser"><File path="Demos\Host\ClassDriver\JoystickHostWithParser\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\JoystickHostWithParser.c"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\JoystickHostWithParser.h"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\JoystickHostWithParser.txt"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\makefile"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\JoystickHostWithParser.aps"></File></Folder><Folder name="KeyboardHost"><File path="Demos\Host\ClassDriver\KeyboardHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\KeyboardHost\KeyboardHost.c"></File><File path="Demos\Host\ClassDriver\KeyboardHost\KeyboardHost.h"></File><File path="Demos\Host\ClassDriver\KeyboardHost\makefile"></File><File path="Demos\Host\ClassDriver\KeyboardHost\KeyboardHost.txt"></File><File path="Demos\Host\ClassDriver\KeyboardHost\KeyboardHost.aps"></File></Folder><Folder name="KeyboardHostWithParser"><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\KeyboardHostWithParser.c"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\KeyboardHostWithParser.h"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\makefile"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\KeyboardHostWithParser.txt"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\KeyboardHostWithParser.aps"></File></Folder><Folder name="MassStorageHost"><File path="Demos\Host\ClassDriver\MassStorageHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\MassStorageHost\makefile"></File><File path="Demos\Host\ClassDriver\MassStorageHost\MassStorageHost.c"></File><File path="Demos\Host\ClassDriver\MassStorageHost\MassStorageHost.h"></File><File path="Demos\Host\ClassDriver\MassStorageHost\MassStorageHost.txt"></File><File path="Demos\Host\ClassDriver\MassStorageHost\MassStorageHost.aps"></File></Folder><Folder name="MIDIHost"><File path="Demos\Host\ClassDriver\MIDIHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\MIDIHost\makefile"></File><File path="Demos\Host\ClassDriver\MIDIHost\MIDIHost.c"></File><File path="Demos\Host\ClassDriver\MIDIHost\MIDIHost.h"></File><File path="Demos\Host\ClassDriver\MIDIHost\MIDIHost.txt"></File><File path="Demos\Host\ClassDriver\MIDIHost\MIDIHost.aps"></File></Folder><Folder name="MouseHost"><File path="Demos\Host\ClassDriver\MouseHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\MouseHost\makefile"></File><File path="Demos\Host\ClassDriver\MouseHost\MouseHost.c"></File><File path="Demos\Host\ClassDriver\MouseHost\MouseHost.h"></File><File path="Demos\Host\ClassDriver\MouseHost\MouseHost.txt"></File><File path="Demos\Host\ClassDriver\MouseHost\MouseHost.aps"></File></Folder><Folder name="MouseHostWithParser"><File path="Demos\Host\ClassDriver\MouseHostWithParser\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\makefile"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\MouseHostWithParser.txt"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\MouseHostWithParser.c"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\MouseHostWithParser.h"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\MouseHostWithParser.aps"></File></Folder><Folder name="PrinterHost"><File path="Demos\Host\ClassDriver\PrinterHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\PrinterHost\makefile"></File><File path="Demos\Host\ClassDriver\PrinterHost\PrinterHost.c"></File><File path="Demos\Host\ClassDriver\PrinterHost\PrinterHost.h"></File><File path="Demos\Host\ClassDriver\PrinterHost\PrinterHost.txt"></File><File path="Demos\Host\ClassDriver\PrinterHost\PrinterHost.aps"></File></Folder><Folder name="RNDISEthernetHost"><File path="Demos\Host\ClassDriver\RNDISEthernetHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\makefile"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\RNDISEthernetHost.c"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\RNDISEthernetHost.h"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\RNDISEthernetHost.txt"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\RNDISEthernetHost.aps"></File></Folder><Folder name="StillImageHost"><File path="Demos\Host\ClassDriver\StillImageHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\StillImageHost\makefile"></File><File path="Demos\Host\ClassDriver\StillImageHost\StillImageHost.c"></File><File path="Demos\Host\ClassDriver\StillImageHost\StillImageHost.h"></File><File path="Demos\Host\ClassDriver\StillImageHost\StillImageHost.txt"></File><File path="Demos\Host\ClassDriver\StillImageHost\StillImageHost.aps"></File></Folder><Folder name="VirtualSerialHost"><File path="Demos\Host\ClassDriver\VirtualSerialHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\makefile"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\VirtualSerialHost.c"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\VirtualSerialHost.h"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\VirtualSerialHost.txt"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\VirtualSerialHost.aps"></File></Folder><File path="Demos\Host\ClassDriver\makefile"></File></Folder><Folder name="LowLevel"><Folder name="GenericHIDHost"><File path="Demos\Host\LowLevel\GenericHIDHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\GenericHIDHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\GenericHIDHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\GenericHIDHost\GenericHIDHost.c"></File><File path="Demos\Host\LowLevel\GenericHIDHost\GenericHIDHost.h"></File><File path="Demos\Host\LowLevel\GenericHIDHost\GenericHIDHost.txt"></File><File path="Demos\Host\LowLevel\GenericHIDHost\makefile"></File><File path="Demos\Host\LowLevel\GenericHIDHost\GenericHIDHost.aps"></File></Folder><Folder name="JoystickHostWithParser"><File path="Demos\Host\LowLevel\JoystickHostWithParser\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\Doxygen.conf"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\HIDReport.c"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\HIDReport.h"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\JoystickHostWithParser.c"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\JoystickHostWithParser.h"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\JoystickHostWithParser.txt"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\makefile"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\JoystickHostWithParser.aps"></File></Folder><Folder name="KeyboardHost"><File path="Demos\Host\LowLevel\KeyboardHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\KeyboardHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\KeyboardHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\KeyboardHost\KeyboardHost.c"></File><File path="Demos\Host\LowLevel\KeyboardHost\KeyboardHost.h"></File><File path="Demos\Host\LowLevel\KeyboardHost\KeyboardHost.txt"></File><File path="Demos\Host\LowLevel\KeyboardHost\makefile"></File><File path="Demos\Host\LowLevel\KeyboardHost\KeyboardHost.aps"></File></Folder><Folder name="KeyboardHostWithParser"><File path="Demos\Host\LowLevel\KeyboardHostWithParser\makefile"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\Doxygen.conf"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\HIDReport.c"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\HIDReport.h"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\KeyboardHostWithParser.c"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\KeyboardHostWithParser.h"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\KeyboardHostWithParser.txt"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\KeyboardHostWithParser.aps"></File></Folder><Folder name="MassStorageHost"><Folder name="Lib"><File path="Demos\Host\LowLevel\MassStorageHost\Lib\MassStoreCommands.c"></File><File path="Demos\Host\LowLevel\MassStorageHost\Lib\MassStoreCommands.h"></File></Folder><File path="Demos\Host\LowLevel\MassStorageHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\MassStorageHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\MassStorageHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\MassStorageHost\makefile"></File><File path="Demos\Host\LowLevel\MassStorageHost\MassStorageHost.c"></File><File path="Demos\Host\LowLevel\MassStorageHost\MassStorageHost.h"></File><File path="Demos\Host\LowLevel\MassStorageHost\MassStorageHost.txt"></File><File path="Demos\Host\LowLevel\MassStorageHost\MassStorageHost.aps"></File></Folder><Folder name="MIDIHost"><File path="Demos\Host\LowLevel\MIDIHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\MIDIHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\MIDIHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\MIDIHost\makefile"></File><File path="Demos\Host\LowLevel\MIDIHost\MIDIHost.c"></File><File path="Demos\Host\LowLevel\MIDIHost\MIDIHost.h"></File><File path="Demos\Host\LowLevel\MIDIHost\MIDIHost.txt"></File><File path="Demos\Host\LowLevel\MIDIHost\MIDIHost.aps"></File></Folder><Folder name="MouseHost"><File path="Demos\Host\LowLevel\MouseHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\MouseHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\MouseHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\MouseHost\makefile"></File><File path="Demos\Host\LowLevel\MouseHost\MouseHost.c"></File><File path="Demos\Host\LowLevel\MouseHost\MouseHost.h"></File><File path="Demos\Host\LowLevel\MouseHost\MouseHost.txt"></File><File path="Demos\Host\LowLevel\MouseHost\MouseHost.aps"></File></Folder><Folder name="MouseHostWithParser"><File path="Demos\Host\LowLevel\MouseHostWithParser\MouseHostWithParser.txt"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\Doxygen.conf"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\HIDReport.c"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\HIDReport.h"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\makefile"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\MouseHostWithParser.c"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\MouseHostWithParser.h"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\MouseHostWithParser.aps"></File></Folder><Folder name="PrinterHost"><Folder name="Lib"><File path="Demos\Host\LowLevel\PrinterHost\Lib\PrinterCommands.c"></File><File path="Demos\Host\LowLevel\PrinterHost\Lib\PrinterCommands.h"></File></Folder><File path="Demos\Host\LowLevel\PrinterHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\PrinterHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\PrinterHost\makefile"></File><File path="Demos\Host\LowLevel\PrinterHost\PrinterHost.c"></File><File path="Demos\Host\LowLevel\PrinterHost\PrinterHost.h"></File><File path="Demos\Host\LowLevel\PrinterHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\PrinterHost\PrinterHost.txt"></File><File path="Demos\Host\LowLevel\PrinterHost\PrinterHost.aps"></File></Folder><Folder name="RNDISEthernetHost"><Folder name="Lib"><File path="Demos\Host\LowLevel\RNDISEthernetHost\Lib\RNDISCommands.c"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\Lib\RNDISCommands.h"></File></Folder><File path="Demos\Host\LowLevel\RNDISEthernetHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\makefile"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\RNDISEthernetHost.c"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\RNDISEthernetHost.h"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\RNDISHost.txt"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\RNDISEthernetHost.aps"></File></Folder><Folder name="StillImageHost"><Folder name="Lib"><File path="Demos\Host\LowLevel\StillImageHost\Lib\StillImageCommands.c"></File><File path="Demos\Host\LowLevel\StillImageHost\Lib\StillImageCommands.h"></File><File path="Demos\Host\LowLevel\StillImageHost\Lib\PIMACodes.h"></File></Folder><File path="Demos\Host\LowLevel\StillImageHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\StillImageHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\StillImageHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\StillImageHost\makefile"></File><File path="Demos\Host\LowLevel\StillImageHost\StillImageHost.c"></File><File path="Demos\Host\LowLevel\StillImageHost\StillImageHost.h"></File><File path="Demos\Host\LowLevel\StillImageHost\StillImageHost.txt"></File><File path="Demos\Host\LowLevel\StillImageHost\StillImageHost.aps"></File></Folder><Folder name="VirtualSerialHost"><File path="Demos\Host\LowLevel\VirtualSerialHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\makefile"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\VirtualSerialHost.c"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\VirtualSerialHost.h"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\VirtualSerialHost.txt"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\VirtualSerialHost.aps"></File></Folder><File path="Demos\Host\LowLevel\makefile"></File></Folder><Folder name="Incomplete"><Folder name="BluetoothHost"><Folder name="Lib"><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothACLPackets.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothACLPackets.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothClassCodes.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothHCICommands.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothHCICommands.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothStack.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothStack.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\SDPServices.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\SDPServices.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\RFCOMM.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\RFCOMM.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\SDP.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\SDP.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\RFCOMMControl.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\RFCOMMControl.h"></File></Folder><File path="Demos\Host\Incomplete\BluetoothHost\makefile"></File><File path="Demos\Host\Incomplete\BluetoothHost\BluetoothHost.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\BluetoothHost.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\ConfigDescriptor.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\ConfigDescriptor.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\DeviceDescriptor.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\DeviceDescriptor.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Doxygen.conf"></File><File path="Demos\Host\Incomplete\BluetoothHost\BluetoothEvents.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\BluetoothEvents.h"></File></Folder></Folder><File path="Demos\Host\makefile"></File></Folder><Folder name="DualRole"><Folder name="ClassDriver"><Folder name="MouseHostDevice"><File path="Demos\DualRole\ClassDriver\MouseHostDevice\Doxygen.conf"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\makefile"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\MouseHostDevice.c"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\MouseHostDevice.h"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\Descriptors.c"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\Descriptors.h"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\DeviceFunctions.c"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\HostFunctions.c"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\HostFunctions.h"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\DeviceFunctions.h"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\MouseHostDevice.txt"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\MouseHostDevice.aps"></File></Folder><File path="Demos\DualRole\ClassDriver\makefile"></File></Folder><File path="Demos\DualRole\makefile"></File></Folder><File path="Demos\makefile"></File></Folder><Folder name="LUFA"><Folder name="Common"><File path="LUFA\Common\Common.h"></File><File path="LUFA\Common\BoardTypes.h"></File><File path="LUFA\Common\Attributes.h"></File></Folder><Folder name="Drivers"><Folder name="USB"><Folder name="LowLevel"><File path="LUFA\Drivers\USB\LowLevel\Pipe.c"></File><File path="LUFA\Drivers\USB\LowLevel\Pipe.h"></File><File path="LUFA\Drivers\USB\LowLevel\Device.h"></File><File path="LUFA\Drivers\USB\LowLevel\Endpoint.c"></File><File path="LUFA\Drivers\USB\LowLevel\Endpoint.h"></File><File path="LUFA\Drivers\USB\LowLevel\Host.c"></File><File path="LUFA\Drivers\USB\LowLevel\Host.h"></File><File path="LUFA\Drivers\USB\LowLevel\OTG.h"></File><File path="LUFA\Drivers\USB\LowLevel\USBInterrupt.c"></File><File path="LUFA\Drivers\USB\LowLevel\USBInterrupt.h"></File><File path="LUFA\Drivers\USB\LowLevel\Device.c"></File><File path="LUFA\Drivers\USB\LowLevel\USBController.c"></File><File path="LUFA\Drivers\USB\LowLevel\USBController.h"></File></Folder><Folder name="HighLevel"><Folder name="Template"><File path="LUFA\Drivers\USB\HighLevel\Template\Template_Pipe_RW.c"></File><File path="LUFA\Drivers\USB\HighLevel\Template\Template_Endpoint_RW.c"></File><File path="LUFA\Drivers\USB\HighLevel\Template\Template_Endpoint_Control_W.c"></File><File path="LUFA\Drivers\USB\HighLevel\Template\Template_Endpoint_Control_R.c"></File></Folder><File path="LUFA\Drivers\USB\HighLevel\USBTask.h"></File><File path="LUFA\Drivers\USB\HighLevel\Events.c"></File><File path="LUFA\Drivers\USB\HighLevel\Events.h"></File><File path="LUFA\Drivers\USB\HighLevel\USBTask.c"></File><File path="LUFA\Drivers\USB\HighLevel\StdDescriptors.h"></File><File path="LUFA\Drivers\USB\HighLevel\StdRequestType.h"></File><File path="LUFA\Drivers\USB\HighLevel\USBMode.h"></File><File path="LUFA\Drivers\USB\HighLevel\ConfigDescriptor.c"></File><File path="LUFA\Drivers\USB\HighLevel\ConfigDescriptor.h"></File><File path="LUFA\Drivers\USB\HighLevel\DeviceStandardReq.c"></File><File path="LUFA\Drivers\USB\HighLevel\DeviceStandardReq.h"></File><File path="LUFA\Drivers\USB\HighLevel\HostStandardReq.c"></File><File path="LUFA\Drivers\USB\HighLevel\HostStandardReq.h"></File><File path="LUFA\Drivers\USB\HighLevel\EndpointStream.h"></File><File path="LUFA\Drivers\USB\HighLevel\EndpointStream.c"></File><File path="LUFA\Drivers\USB\HighLevel\PipeStream.h"></File><File path="LUFA\Drivers\USB\HighLevel\PipeStream.c"></File></Folder><Folder name="Class"><Folder name="Device"><File path="LUFA\Drivers\USB\Class\Device\HID.c"></File><File path="LUFA\Drivers\USB\Class\Device\HID.h"></File><File path="LUFA\Drivers\USB\Class\Device\CDC.c"></File><File path="LUFA\Drivers\USB\Class\Device\CDC.h"></File><File path="LUFA\Drivers\USB\Class\Device\RNDIS.c"></File><File path="LUFA\Drivers\USB\Class\Device\RNDIS.h"></File><File path="LUFA\Drivers\USB\Class\Device\MassStorage.c"></File><File path="LUFA\Drivers\USB\Class\Device\MassStorage.h"></File><File path="LUFA\Drivers\USB\Class\Device\Audio.c"></File><File path="LUFA\Drivers\USB\Class\Device\Audio.h"></File><File path="LUFA\Drivers\USB\Class\Device\MIDI.c"></File><File path="LUFA\Drivers\USB\Class\Device\MIDI.h"></File></Folder><Folder name="Host"><File path="LUFA\Drivers\USB\Class\Host\CDC.c"></File><File path="LUFA\Drivers\USB\Class\Host\CDC.h"></File><File path="LUFA\Drivers\USB\Class\Host\HID.c"></File><File path="LUFA\Drivers\USB\Class\Host\HID.h"></File><File path="LUFA\Drivers\USB\Class\Host\MassStorage.c"></File><File path="LUFA\Drivers\USB\Class\Host\MassStorage.h"></File><File path="LUFA\Drivers\USB\Class\Host\StillImage.c"></File><File path="LUFA\Drivers\USB\Class\Host\StillImage.h"></File><File path="LUFA\Drivers\USB\Class\Host\MIDI.c"></File><File path="LUFA\Drivers\USB\Class\Host\MIDI.h"></File><File path="LUFA\Drivers\USB\Class\Host\Printer.c"></File><File path="LUFA\Drivers\USB\Class\Host\Printer.h"></File><File path="LUFA\Drivers\USB\Class\Host\RNDIS.h"></File><File path="LUFA\Drivers\USB\Class\Host\RNDIS.c"></File></Folder><Folder name="Common"><File path="LUFA\Drivers\USB\Class\Common\Audio.h"></File><File path="LUFA\Drivers\USB\Class\Common\CDC.h"></File><File path="LUFA\Drivers\USB\Class\Common\HID.h"></File><File path="LUFA\Drivers\USB\Class\Common\MassStorage.h"></File><File path="LUFA\Drivers\USB\Class\Common\MIDI.h"></File><File path="LUFA\Drivers\USB\Class\Common\RNDIS.h"></File><File path="LUFA\Drivers\USB\Class\Common\StillImage.h"></File><File path="LUFA\Drivers\USB\Class\Common\Printer.h"></File><File path="LUFA\Drivers\USB\Class\Common\HIDParser.c"></File><File path="LUFA\Drivers\USB\Class\Common\HIDParser.h"></File><File path="LUFA\Drivers\USB\Class\Common\HIDReportData.h"></File></Folder><File path="LUFA\Drivers\USB\Class\Audio.h"></File><File path="LUFA\Drivers\USB\Class\CDC.h"></File><File path="LUFA\Drivers\USB\Class\HID.h"></File><File path="LUFA\Drivers\USB\Class\MassStorage.h"></File><File path="LUFA\Drivers\USB\Class\MIDI.h"></File><File path="LUFA\Drivers\USB\Class\RNDIS.h"></File><File path="LUFA\Drivers\USB\Class\StillImage.h"></File><File path="LUFA\Drivers\USB\Class\Printer.h"></File></Folder><File path="LUFA\Drivers\USB\USB.h"></File></Folder><Folder name="Misc"><File path="LUFA\Drivers\Misc\TerminalCodes.h"></File><File path="LUFA\Drivers\Misc\RingBuffer.h"></File></Folder><Folder name="Board"><Folder name="ADAFRUITU4"><File path="LUFA\Drivers\Board\ADAFRUITU4\LEDs.h"></File></Folder><Folder name="ATAVRUSBRF01"><File path="LUFA\Drivers\Board\ATAVRUSBRF01\LEDs.h"></File><File path="LUFA\Drivers\Board\ATAVRUSBRF01\Buttons.h"></File></Folder><Folder name="BENITO"><File path="LUFA\Drivers\Board\BENITO\LEDs.h"></File><File path="LUFA\Drivers\Board\BENITO\Buttons.h"></File></Folder><Folder name="BUMBLEB"><File path="LUFA\Drivers\Board\BUMBLEB\Buttons.h"></File><File path="LUFA\Drivers\Board\BUMBLEB\Joystick.h"></File><File path="LUFA\Drivers\Board\BUMBLEB\LEDs.h"></File></Folder><Folder name="BUI"><File path="LUFA\Drivers\Board\BUI\LEDs.h"></File></Folder><Folder name="BLACKCAT"><File path="LUFA\Drivers\Board\BLACKCAT\LEDs.h"></File></Folder><Folder name="CULV3"><File path="LUFA\Drivers\Board\CULV3\Buttons.h"></File><File path="LUFA\Drivers\Board\CULV3\LEDs.h"></File></Folder><Folder name="EVK527"><File path="LUFA\Drivers\Board\EVK527\Buttons.h"></File><File path="LUFA\Drivers\Board\EVK527\LEDs.h"></File><File path="LUFA\Drivers\Board\EVK527\Joystick.h"></File><File path="LUFA\Drivers\Board\EVK527\AT45DB321C.h"></File><File path="LUFA\Drivers\Board\EVK527\Dataflash.h"></File></Folder><Folder name="JMDBU2"><File path="LUFA\Drivers\Board\JMDBU2\Buttons.h"></File><File path="LUFA\Drivers\Board\JMDBU2\LEDs.h"></File></Folder><Folder name="MAXIMUS"><File path="LUFA\Drivers\Board\MAXIMUS\LEDs.h"></File></Folder><Folder name="MICROSIN162"><File path="LUFA\Drivers\Board\MICROSIN162\LEDs.h"></File><File path="LUFA\Drivers\Board\MICROSIN162\Buttons.h"></File></Folder><Folder name="MINIMUS"><File path="LUFA\Drivers\Board\MINIMUS\Buttons.h"></File><File path="LUFA\Drivers\Board\MINIMUS\LEDs.h"></File></Folder><Folder name="OLIMEX162"><File path="LUFA\Drivers\Board\OLIMEX162\LEDs.h"></File><File path="LUFA\Drivers\Board\OLIMEX162\Buttons.h"></File></Folder><Folder name="RZUSBSTICK"><File path="LUFA\Drivers\Board\RZUSBSTICK\LEDs.h"></File></Folder><Folder name="SPARKFUN8U2"><File path="LUFA\Drivers\Board\SPARKFUN8U2\LEDs.h"></File></Folder><Folder name="STK525"><File path="LUFA\Drivers\Board\STK525\Dataflash.h"></File><File path="LUFA\Drivers\Board\STK525\Joystick.h"></File><File path="LUFA\Drivers\Board\STK525\AT45DB321C.h"></File><File path="LUFA\Drivers\Board\STK525\LEDs.h"></File><File path="LUFA\Drivers\Board\STK525\Buttons.h"></File></Folder><Folder name="STK526"><File path="LUFA\Drivers\Board\STK526\Dataflash.h"></File><File path="LUFA\Drivers\Board\STK526\Joystick.h"></File><File path="LUFA\Drivers\Board\STK526\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\STK526\LEDs.h"></File><File path="LUFA\Drivers\Board\STK526\Buttons.h"></File></Folder><Folder name="TEENSY"><File path="LUFA\Drivers\Board\TEENSY\LEDs.h"></File></Folder><Folder name="UDIP"><File path="LUFA\Drivers\Board\UDIP\LEDs.h"></File><File path="LUFA\Drivers\Board\UDIP\Buttons.h"></File></Folder><Folder name="UNO"><File path="LUFA\Drivers\Board\UNO\LEDs.h"></File></Folder><Folder name="USBFOO"><File path="LUFA\Drivers\Board\USBFOO\Buttons.h"></File><File path="LUFA\Drivers\Board\USBFOO\LEDS.h"></File></Folder><Folder name="USBKEY"><File path="LUFA\Drivers\Board\USBKEY\Dataflash.h"></File><File path="LUFA\Drivers\Board\USBKEY\Joystick.h"></File><File path="LUFA\Drivers\Board\USBKEY\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\USBKEY\LEDs.h"></File><File path="LUFA\Drivers\Board\USBKEY\Buttons.h"></File></Folder><Folder name="USBTINYMKII"><File path="LUFA\Drivers\Board\USBTINYMKII\LEDs.h"></File><File path="LUFA\Drivers\Board\USBTINYMKII\Buttons.h"></File></Folder><Folder name="XPLAIN"><File path="LUFA\Drivers\Board\XPLAIN\LEDs.h"></File><File path="LUFA\Drivers\Board\XPLAIN\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\XPLAIN\Dataflash.h"></File></Folder><File path="LUFA\Drivers\Board\Temperature.h"></File><File path="LUFA\Drivers\Board\Dataflash.h"></File><File path="LUFA\Drivers\Board\Joystick.h"></File><File path="LUFA\Drivers\Board\Temperature.c"></File><File path="LUFA\Drivers\Board\LEDs.h"></File><File path="LUFA\Drivers\Board\Buttons.h"></File></Folder><Folder name="Peripheral"><Folder name="AVRU4U6U7"><File path="LUFA\Drivers\Peripheral\AVRU4U6U7\ADC.h"></File><File path="LUFA\Drivers\Peripheral\AVRU4U6U7\TWI.h"></File></Folder><File path="LUFA\Drivers\Peripheral\ADC.h"></File><File path="LUFA\Drivers\Peripheral\Serial.c"></File><File path="LUFA\Drivers\Peripheral\Serial.h"></File><File path="LUFA\Drivers\Peripheral\SPI.h"></File><File path="LUFA\Drivers\Peripheral\TWI.h"></File><File path="LUFA\Drivers\Peripheral\TWI.c"></File></Folder></Folder><Folder name="ManPages"><File path="LUFA\ManPages\AboutLUFA.txt"></File><File path="LUFA\ManPages\BuildingLinkableLibraries.txt"></File><File path="LUFA\ManPages\ChangeLog.txt"></File><File path="LUFA\ManPages\CompileTimeTokens.txt"></File><File path="LUFA\ManPages\DevelopingWithLUFA.txt"></File><File path="LUFA\ManPages\DeviceSupport.txt"></File><File path="LUFA\ManPages\DirectorySummaries.txt"></File><File path="LUFA\ManPages\Donating.txt"></File><File path="LUFA\ManPages\FutureChanges.txt"></File><File path="LUFA\ManPages\GettingStarted.txt"></File><File path="LUFA\ManPages\Groups.txt"></File><File path="LUFA\ManPages\LibraryResources.txt"></File><File path="LUFA\ManPages\LUFAPoweredProjects.txt"></File><File path="LUFA\ManPages\MainPage.txt"></File><File path="LUFA\ManPages\MigrationInformation.txt"></File><File path="LUFA\ManPages\VIDAndPIDValues.txt"></File><File path="LUFA\ManPages\WritingBoardDrivers.txt"></File><File path="LUFA\ManPages\ConfiguringApps.txt"></File><File path="LUFA\ManPages\CompilingApps.txt"></File><File path="LUFA\ManPages\ProgrammingApps.txt"></File><File path="LUFA\ManPages\LibraryApps.txt"></File><File path="LUFA\ManPages\WhyUseLUFA.txt"></File><File path="LUFA\ManPages\LUFAvsAtmelStack.txt"></File><File path="LUFA\ManPages\AlternativeStacks.txt"></File><File path="LUFA\ManPages\SoftwareBootloaderJump.txt"></File><File path="LUFA\ManPages\LicenseInfo.txt"></File></Folder><Folder name="Scheduler"><File path="LUFA\Scheduler\Scheduler.c"></File><File path="LUFA\Scheduler\Scheduler.h"></File></Folder><Folder name="CodeTemplates"><Folder name="DriverStubs"><File path="LUFA\CodeTemplates\DriverStubs\Buttons.h"></File><File path="LUFA\CodeTemplates\DriverStubs\Dataflash.h"></File><File path="LUFA\CodeTemplates\DriverStubs\Joystick.h"></File><File path="LUFA\CodeTemplates\DriverStubs\LEDs.h"></File></Folder><File path="LUFA\CodeTemplates\makefile_template"></File></Folder><File path="LUFA\makefile"></File><File path="LUFA\Version.h"></File><File path="LUFA\Doxygen.conf"></File><File path="LUFA\License.txt"></File></Folder><Folder name="Bootloaders"><Folder name="CDC"><File path="Bootloaders\CDC\BootloaderCDC.c"></File><File path="Bootloaders\CDC\BootloaderCDC.h"></File><File path="Bootloaders\CDC\Descriptors.c"></File><File path="Bootloaders\CDC\Descriptors.h"></File><File path="Bootloaders\CDC\makefile"></File><File path="Bootloaders\CDC\LUFA CDC Bootloader.inf"></File><File path="Bootloaders\CDC\Doxygen.conf"></File><File path="Bootloaders\CDC\BootloaderCDC.txt"></File><File path="Bootloaders\CDC\BootloaderCDC.aps"></File></Folder><Folder name="DFU"><File path="Bootloaders\DFU\BootloaderDFU.c"></File><File path="Bootloaders\DFU\BootloaderDFU.h"></File><File path="Bootloaders\DFU\Descriptors.c"></File><File path="Bootloaders\DFU\Descriptors.h"></File><File path="Bootloaders\DFU\makefile"></File><File path="Bootloaders\DFU\BootloaderDFU.txt"></File><File path="Bootloaders\DFU\Doxygen.conf"></File><File path="Bootloaders\DFU\BootloaderDFU.aps"></File></Folder><Folder name="HID"><Folder name="HostLoaderApp"><File path="Bootloaders\HID\HostLoaderApp\gpl3.txt"></File><File path="Bootloaders\HID\HostLoaderApp\Makefile"></File><File path="Bootloaders\HID\HostLoaderApp\Makefile.bsd"></File><File path="Bootloaders\HID\HostLoaderApp\hid_bootloader_cli.c"></File></Folder><File path="Bootloaders\HID\Descriptors.c"></File><File path="Bootloaders\HID\Descriptors.h"></File><File path="Bootloaders\HID\makefile"></File><File path="Bootloaders\HID\BootloaderHID.txt"></File><File path="Bootloaders\HID\BootloaderHID.c"></File><File path="Bootloaders\HID\BootloaderHID.h"></File><File path="Bootloaders\HID\Doxygen.conf"></File><File path="Bootloaders\HID\BootloaderHID.aps"></File></Folder><File path="Bootloaders\makefile"></File></Folder><Folder name="Projects"><Folder name="AVRISP-MKII"><Folder name="Lib"><Folder name="ISP"><File path="Projects\AVRISP-MKII\Lib\ISP\ISPProtocol.c"></File><File path="Projects\AVRISP-MKII\Lib\ISP\ISPProtocol.h"></File><File path="Projects\AVRISP-MKII\Lib\ISP\ISPTarget.c"></File><File path="Projects\AVRISP-MKII\Lib\ISP\ISPTarget.h"></File></Folder><Folder name="XPROG"><File path="Projects\AVRISP-MKII\Lib\XPROG\TINYNVM.c"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\TINYNVM.h"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XMEGANVM.c"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XMEGANVM.h"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XPROGProtocol.c"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XPROGProtocol.h"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XPROGTarget.c"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XPROGTarget.h"></File></Folder><File path="Projects\AVRISP-MKII\Lib\V2Protocol.c"></File><File path="Projects\AVRISP-MKII\Lib\V2Protocol.h"></File><File path="Projects\AVRISP-MKII\Lib\V2ProtocolConstants.h"></File><File path="Projects\AVRISP-MKII\Lib\V2ProtocolParams.c"></File><File path="Projects\AVRISP-MKII\Lib\V2ProtocolParams.h"></File></Folder><File path="Projects\AVRISP-MKII\Descriptors.c"></File><File path="Projects\AVRISP-MKII\Descriptors.h"></File><File path="Projects\AVRISP-MKII\Doxygen.conf"></File><File path="Projects\AVRISP-MKII\makefile"></File><File path="Projects\AVRISP-MKII\AVRISP-MKII.c"></File><File path="Projects\AVRISP-MKII\AVRISP-MKII.h"></File><File path="Projects\AVRISP-MKII\AVRISP-MKII.txt"></File><File path="Projects\AVRISP-MKII\AVRISP-MKII.aps"></File></Folder><Folder name="Benito"><File path="Projects\Benito\Benito.c"></File><File path="Projects\Benito\Benito.h"></File><File path="Projects\Benito\Descriptors.c"></File><File path="Projects\Benito\Descriptors.h"></File><File path="Projects\Benito\Doxygen.conf"></File><File path="Projects\Benito\makefile"></File><File path="Projects\Benito\Benito.txt"></File><File path="Projects\Benito\Benito Programmer.inf"></File><File path="Projects\Benito\Benito.aps"></File></Folder><Folder name="LEDNotifier"><Folder name="CPUUsageApp"><File path="Projects\LEDNotifier\CPUUsageApp\CPUMonitor.cs"></File><File path="Projects\LEDNotifier\CPUUsageApp\CPUMonitor.csproj"></File><File path="Projects\LEDNotifier\CPUUsageApp\CPUMonitor.Designer.cs"></File><File path="Projects\LEDNotifier\CPUUsageApp\CPUMonitor.resx"></File><File path="Projects\LEDNotifier\CPUUsageApp\Program.cs"></File></Folder><Folder name="HotmailNotifierApp"><File path="Projects\LEDNotifier\HotmailNotifierApp\MailNotifier.cs"></File><File path="Projects\LEDNotifier\HotmailNotifierApp\MailNotifier.csproj"></File><File path="Projects\LEDNotifier\HotmailNotifierApp\MailNotifier.Designer.cs"></File><File path="Projects\LEDNotifier\HotmailNotifierApp\MailNotifier.resx"></File><File path="Projects\LEDNotifier\HotmailNotifierApp\Program.cs"></File></Folder><Folder name="LEDMixerApp"><File path="Projects\LEDNotifier\LEDMixerApp\LEDMixer.cs"></File><File path="Projects\LEDNotifier\LEDMixerApp\LEDMixer.csproj"></File><File path="Projects\LEDNotifier\LEDMixerApp\LEDMixer.Designer.cs"></File><File path="Projects\LEDNotifier\LEDMixerApp\LEDMixer.resx"></File><File path="Projects\LEDNotifier\LEDMixerApp\Program.cs"></File></Folder><File path="Projects\LEDNotifier\Descriptors.c"></File><File path="Projects\LEDNotifier\Descriptors.h"></File><File path="Projects\LEDNotifier\Doxygen.conf"></File><File path="Projects\LEDNotifier\LEDNotifier.c"></File><File path="Projects\LEDNotifier\LEDNotifier.h"></File><File path="Projects\LEDNotifier\LEDNotifier.txt"></File><File path="Projects\LEDNotifier\LUFA LED Notifier.inf"></File><File path="Projects\LEDNotifier\makefile"></File><File path="Projects\LEDNotifier\LEDNotifier.aps"></File></Folder><Folder name="MagStripe"><Folder name="Lib"><File path="Projects\Magstripe\Lib\CircularBitBuffer.c"></File><File path="Projects\Magstripe\Lib\CircularBitBuffer.h"></File><File path="Projects\Magstripe\Lib\MagstripeHW.h"></File></Folder><File path="Projects\Magstripe\Descriptors.c"></File><File path="Projects\Magstripe\Descriptors.h"></File><File path="Projects\Magstripe\Magstripe.c"></File><File path="Projects\Magstripe\Magstripe.h"></File><File path="Projects\Magstripe\makefile"></File><File path="Projects\Magstripe\Magstripe.txt"></File><File path="Projects\Magstripe\Doxygen.conf"></File><File path="Projects\Magstripe\Magstripe.aps"></File></Folder><Folder name="MIDIToneGenerator"><File path="Projects\MIDIToneGenerator\Descriptors.c"></File><File path="Projects\MIDIToneGenerator\Descriptors.h"></File><File path="Projects\MIDIToneGenerator\makefile"></File><File path="Projects\MIDIToneGenerator\MIDIToneGenerator.c"></File><File path="Projects\MIDIToneGenerator\MIDIToneGenerator.h"></File><File path="Projects\MIDIToneGenerator\MIDIToneGenerator.txt"></File><File path="Projects\MIDIToneGenerator\MIDIToneGenerator.aps"></File></Folder><Folder name="MissileLauncher"><File path="Projects\MissileLauncher\ConfigDescriptor.c"></File><File path="Projects\MissileLauncher\ConfigDescriptor.h"></File><File path="Projects\MissileLauncher\Doxygen.conf"></File><File path="Projects\MissileLauncher\makefile"></File><File path="Projects\MissileLauncher\MissileLauncher.c"></File><File path="Projects\MissileLauncher\MissileLauncher.h"></File><File path="Projects\MissileLauncher\MissileLauncher.txt"></File><File path="Projects\MissileLauncher\MissileLauncher.aps"></File></Folder><Folder name="RelayBoard"><File path="Projects\RelayBoard\Descriptors.c"></File><File path="Projects\RelayBoard\Descriptors.h"></File><File path="Projects\RelayBoard\Doxygen.conf"></File><File path="Projects\RelayBoard\makefile"></File><File path="Projects\RelayBoard\RelayBoard.c"></File><File path="Projects\RelayBoard\RelayBoard.h"></File><File path="Projects\RelayBoard\RelayBoard.txt"></File><File path="Projects\RelayBoard\RelayBoard.aps"></File></Folder><Folder name="TempDataLogger"><Folder name="Lib"><Folder name="FATFs"><File path="Projects\TempDataLogger\Lib\FATFs\diskio.c"></File><File path="Projects\TempDataLogger\Lib\FATFs\diskio.h"></File><File path="Projects\TempDataLogger\Lib\FATFs\ff.c"></File><File path="Projects\TempDataLogger\Lib\FATFs\ff.h"></File><File path="Projects\TempDataLogger\Lib\FATFs\ffconf.h"></File><File path="Projects\TempDataLogger\Lib\FATFs\integer.h"></File></Folder><File path="Projects\TempDataLogger\Lib\DataflashManager.c"></File><File path="Projects\TempDataLogger\Lib\DataflashManager.h"></File><File path="Projects\TempDataLogger\Lib\DS1307.c"></File><File path="Projects\TempDataLogger\Lib\DS1307.h"></File><File path="Projects\TempDataLogger\Lib\SCSI.c"></File><File path="Projects\TempDataLogger\Lib\SCSI.h"></File></Folder><Folder name="TempLogHostApp"><File path="Projects\TempDataLogger\TempLogHostApp\DataLoggerSettings.cs"></File><File path="Projects\TempDataLogger\TempLogHostApp\DataLoggerSettings.Designer.cs"></File><File path="Projects\TempDataLogger\TempLogHostApp\DataLoggerSettings.resx"></File><File path="Projects\TempDataLogger\TempLogHostApp\Program.cs"></File><File path="Projects\TempDataLogger\TempLogHostApp\TempLoggerHostApp.csproj"></File></Folder><File path="Projects\TempDataLogger\Descriptors.c"></File><File path="Projects\TempDataLogger\Descriptors.h"></File><File path="Projects\TempDataLogger\Doxygen.conf"></File><File path="Projects\TempDataLogger\makefile"></File><File path="Projects\TempDataLogger\TempDataLogger.c"></File><File path="Projects\TempDataLogger\TempDataLogger.h"></File><File path="Projects\TempDataLogger\TemperatureDataLogger.txt"></File><File path="Projects\TempDataLogger\TempDataLogger.aps"></File></Folder><Folder name="USBtoSerial"><File path="Projects\USBtoSerial\Descriptors.h"></File><File path="Projects\USBtoSerial\Doxygen.conf"></File><File path="Projects\USBtoSerial\LUFA USBtoSerial.inf"></File><File path="Projects\USBtoSerial\makefile"></File><File path="Projects\USBtoSerial\USBtoSerial.c"></File><File path="Projects\USBtoSerial\USBtoSerial.h"></File><File path="Projects\USBtoSerial\USBtoSerial.txt"></File><File path="Projects\USBtoSerial\USBtoSerial.aps"></File><File path="Projects\USBtoSerial\Descriptors.c"></File></Folder><Folder name="Webserver"><Folder name="Lib"><Folder name="uip"><File path="Projects\Webserver\Lib\uip\clock.c"></File><File path="Projects\Webserver\Lib\uip\clock.h"></File><File path="Projects\Webserver\Lib\uip\timer.c"></File><File path="Projects\Webserver\Lib\uip\timer.h"></File><File path="Projects\Webserver\Lib\uip\uip.c"></File><File path="Projects\Webserver\Lib\uip\uip.h"></File><File path="Projects\Webserver\Lib\uip\uip_arp.c"></File><File path="Projects\Webserver\Lib\uip\uip_arp.h"></File><File path="Projects\Webserver\Lib\uip\uipopt.h"></File><File path="Projects\Webserver\Lib\uip\uip-split.c"></File><File path="Projects\Webserver\Lib\uip\uip-split.h"></File></Folder><Folder name="FATFs"><File path="Projects\Webserver\Lib\FATFs\diskio.c"></File><File path="Projects\Webserver\Lib\FATFs\diskio.h"></File><File path="Projects\Webserver\Lib\FATFs\ff.c"></File><File path="Projects\Webserver\Lib\FATFs\ff.h"></File><File path="Projects\Webserver\Lib\FATFs\ffconf.h"></File><File path="Projects\Webserver\Lib\FATFs\integer.h"></File></Folder><File path="Projects\Webserver\Lib\DataflashManager.c"></File><File path="Projects\Webserver\Lib\DataflashManager.h"></File><File path="Projects\Webserver\Lib\uIPManagement.c"></File><File path="Projects\Webserver\Lib\uIPManagement.h"></File><File path="Projects\Webserver\Lib\HTTPServerApp.c"></File><File path="Projects\Webserver\Lib\HTTPServerApp.h"></File><File path="Projects\Webserver\Lib\SCSI.c"></File><File path="Projects\Webserver\Lib\SCSI.h"></File><File path="Projects\Webserver\Lib\DHCPClientApp.c"></File><File path="Projects\Webserver\Lib\DHCPClientApp.h"></File><File path="Projects\Webserver\Lib\TELNETServerApp.c"></File><File path="Projects\Webserver\Lib\TELNETServerApp.h"></File></Folder><File path="Projects\Webserver\makefile"></File><File path="Projects\Webserver\Webserver.c"></File><File path="Projects\Webserver\Webserver.h"></File><File path="Projects\Webserver\Doxygen.conf"></File><File path="Projects\Webserver\Webserver.txt"></File><File path="Projects\Webserver\Descriptors.c"></File><File path="Projects\Webserver\Descriptors.h"></File><File path="Projects\Webserver\USBHostMode.c"></File><File path="Projects\Webserver\USBHostMode.h"></File><File path="Projects\Webserver\USBDeviceMode.c"></File><File path="Projects\Webserver\USBDeviceMode.h"></File><File path="Projects\Webserver\Webserver.aps"></File></Folder><Folder name="XPLAINBridge"><Folder name="Lib"><File path="Projects\XPLAINBridge\Lib\SoftUART.c"></File><File path="Projects\XPLAINBridge\Lib\SoftUART.h"></File></Folder><File path="Projects\XPLAINBridge\XPLAINBridge.txt"></File><File path="Projects\XPLAINBridge\XPLAINBridge.h"></File><File path="Projects\XPLAINBridge\XPLAINBridge.c"></File><File path="Projects\XPLAINBridge\XPLAINBridge.aps"></File><File path="Projects\XPLAINBridge\USARTDescriptors.h"></File><File path="Projects\XPLAINBridge\USARTDescriptors.c"></File><File path="Projects\XPLAINBridge\makefile"></File><File path="Projects\XPLAINBridge\LUFA XPLAIN Bridge.inf"></File><File path="Projects\XPLAINBridge\Doxygen.conf"></File><File path="Projects\XPLAINBridge\AVRISPDescriptors.h"></File><File path="Projects\XPLAINBridge\AVRISPDescriptors.c"></File></Folder><Folder name="Incomplete"><Folder name="StandaloneProgrammer"><Folder name="Lib"><Folder name="PetiteFATFs"><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\diskio.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\diskio.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\integer.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\pff.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\pff.h"></File></Folder><File path="Projects\Incomplete\StandaloneProgrammer\Lib\DataflashManager.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\DataflashManager.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\SCSI.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\SCSI.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\ProgrammerConfig.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\ProgrammerConfig.h"></File></Folder><File path="Projects\Incomplete\StandaloneProgrammer\Descriptors.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Descriptors.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\makefile"></File><File path="Projects\Incomplete\StandaloneProgrammer\StandaloneProgrammer.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\StandaloneProgrammer.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\DiskDevice.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\DiskDevice.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\DiskHost.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\DiskHost.h"></File></Folder></Folder><File path="Projects\makefile"></File></Folder><File path="makefile"></File><File path="README.txt"></File></Project>
\ No newline at end of file
+<Project name="LUFA"><Folder name="Demos"><Folder name="Device"><Folder name="ClassDriver"><Folder name="AudioInput"><File path="Demos\Device\ClassDriver\AudioInput\AudioInput.c"></File><File path="Demos\Device\ClassDriver\AudioInput\AudioInput.h"></File><File path="Demos\Device\ClassDriver\AudioInput\AudioInput.txt"></File><File path="Demos\Device\ClassDriver\AudioInput\Descriptors.c"></File><File path="Demos\Device\ClassDriver\AudioInput\Descriptors.h"></File><File path="Demos\Device\ClassDriver\AudioInput\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\AudioInput\makefile"></File><File path="Demos\Device\ClassDriver\AudioInput\AudioInput.aps"></File></Folder><Folder name="AudioOutput"><File path="Demos\Device\ClassDriver\AudioOutput\AudioOutput.c"></File><File path="Demos\Device\ClassDriver\AudioOutput\AudioOutput.h"></File><File path="Demos\Device\ClassDriver\AudioOutput\AudioOutput.txt"></File><File path="Demos\Device\ClassDriver\AudioOutput\Descriptors.c"></File><File path="Demos\Device\ClassDriver\AudioOutput\Descriptors.h"></File><File path="Demos\Device\ClassDriver\AudioOutput\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\AudioOutput\makefile"></File><File path="Demos\Device\ClassDriver\AudioOutput\AudioOutput.aps"></File></Folder><Folder name="DualVirtualSerial"><File path="Demos\Device\ClassDriver\DualVirtualSerial\Descriptors.c"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\Descriptors.h"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\DualVirtualSerial.c"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\DualVirtualSerial.h"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\DualVirtualSerial.txt"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\LUFA DualVirtualSerial.inf"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\makefile"></File><File path="Demos\Device\ClassDriver\DualVirtualSerial\DualVirtualSerial.aps"></File></Folder><Folder name="GenericHID"><File path="Demos\Device\ClassDriver\GenericHID\Descriptors.c"></File><File path="Demos\Device\ClassDriver\GenericHID\Descriptors.h"></File><File path="Demos\Device\ClassDriver\GenericHID\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\GenericHID\GenericHID.c"></File><File path="Demos\Device\ClassDriver\GenericHID\GenericHID.h"></File><File path="Demos\Device\ClassDriver\GenericHID\GenericHID.txt"></File><File path="Demos\Device\ClassDriver\GenericHID\makefile"></File><File path="Demos\Device\ClassDriver\GenericHID\GenericHID.aps"></File></Folder><Folder name="Joystick"><File path="Demos\Device\ClassDriver\Joystick\Descriptors.c"></File><File path="Demos\Device\ClassDriver\Joystick\Descriptors.h"></File><File path="Demos\Device\ClassDriver\Joystick\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\Joystick\Joystick.c"></File><File path="Demos\Device\ClassDriver\Joystick\Joystick.h"></File><File path="Demos\Device\ClassDriver\Joystick\Joystick.txt"></File><File path="Demos\Device\ClassDriver\Joystick\makefile"></File><File path="Demos\Device\ClassDriver\Joystick\Joystick.aps"></File></Folder><Folder name="Keyboard"><File path="Demos\Device\ClassDriver\Keyboard\Descriptors.c"></File><File path="Demos\Device\ClassDriver\Keyboard\Descriptors.h"></File><File path="Demos\Device\ClassDriver\Keyboard\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\Keyboard\Keyboard.c"></File><File path="Demos\Device\ClassDriver\Keyboard\Keyboard.h"></File><File path="Demos\Device\ClassDriver\Keyboard\Keyboard.txt"></File><File path="Demos\Device\ClassDriver\Keyboard\makefile"></File><File path="Demos\Device\ClassDriver\Keyboard\Keyboard.aps"></File></Folder><Folder name="KeyboardMouse"><File path="Demos\Device\ClassDriver\KeyboardMouse\Descriptors.c"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\Descriptors.h"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\KeyboardMouse.c"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\KeyboardMouse.h"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\KeyboardMouse.txt"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\makefile"></File><File path="Demos\Device\ClassDriver\KeyboardMouse\KeyboardMouse.aps"></File></Folder><Folder name="KeyboardMouseMultiReport"><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\Descriptors.c"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\Descriptors.h"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\KeyboardMouseMultiReport.c"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\KeyboardMouseMultiReport.h"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\KeyboardMouseMultiReport.txt"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\makefile"></File><File path="Demos\Device\ClassDriver\KeyboardMouseMultiReport\KeyboardMouseMultiReport.aps"></File></Folder><Folder name="MassStorage"><Folder name="Lib"><File path="Demos\Device\ClassDriver\MassStorage\Lib\DataflashManager.c"></File><File path="Demos\Device\ClassDriver\MassStorage\Lib\DataflashManager.h"></File><File path="Demos\Device\ClassDriver\MassStorage\Lib\SCSI.c"></File><File path="Demos\Device\ClassDriver\MassStorage\Lib\SCSI.h"></File></Folder><File path="Demos\Device\ClassDriver\MassStorage\Descriptors.c"></File><File path="Demos\Device\ClassDriver\MassStorage\Descriptors.h"></File><File path="Demos\Device\ClassDriver\MassStorage\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\MassStorage\makefile"></File><File path="Demos\Device\ClassDriver\MassStorage\MassStorage.c"></File><File path="Demos\Device\ClassDriver\MassStorage\MassStorage.h"></File><File path="Demos\Device\ClassDriver\MassStorage\MassStorage.txt"></File><File path="Demos\Device\ClassDriver\MassStorage\MassStorage.aps"></File></Folder><Folder name="MassStorageKeyboard"><Folder name="Lib"><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Lib\DataflashManager.c"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Lib\DataflashManager.h"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Lib\SCSI.c"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Lib\SCSI.h"></File></Folder><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Descriptors.c"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Descriptors.h"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\makefile"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\MassStorageKeyboard.c"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\MassStorageKeyboard.h"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\MassStorageKeyboard.txt"></File><File path="Demos\Device\ClassDriver\MassStorageKeyboard\MassStorageKeyboard.aps"></File></Folder><Folder name="MIDI"><File path="Demos\Device\ClassDriver\MIDI\Descriptors.c"></File><File path="Demos\Device\ClassDriver\MIDI\Descriptors.h"></File><File path="Demos\Device\ClassDriver\MIDI\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\MIDI\makefile"></File><File path="Demos\Device\ClassDriver\MIDI\MIDI.c"></File><File path="Demos\Device\ClassDriver\MIDI\MIDI.h"></File><File path="Demos\Device\ClassDriver\MIDI\MIDI.txt"></File><File path="Demos\Device\ClassDriver\MIDI\MIDI.aps"></File></Folder><Folder name="Mouse"><File path="Demos\Device\ClassDriver\Mouse\Descriptors.c"></File><File path="Demos\Device\ClassDriver\Mouse\Descriptors.h"></File><File path="Demos\Device\ClassDriver\Mouse\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\Mouse\makefile"></File><File path="Demos\Device\ClassDriver\Mouse\Mouse.c"></File><File path="Demos\Device\ClassDriver\Mouse\Mouse.h"></File><File path="Demos\Device\ClassDriver\Mouse\Mouse.txt"></File><File path="Demos\Device\ClassDriver\Mouse\Mouse.aps"></File></Folder><Folder name="RNDISEthernet"><Folder name="Lib"><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\Webserver.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ARP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ARP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\DHCP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\DHCP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\Ethernet.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\Ethernet.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\EthernetProtocols.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ICMP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ICMP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\IP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\IP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ProtocolDecoders.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\ProtocolDecoders.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\TCP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\TCP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\UDP.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\UDP.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Lib\Webserver.c"></File></Folder><File path="Demos\Device\ClassDriver\RNDISEthernet\Descriptors.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Descriptors.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\LUFA RNDIS.inf"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\makefile"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\RNDISEthernet.c"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\RNDISEthernet.h"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\RNDISEthernet.txt"></File><File path="Demos\Device\ClassDriver\RNDISEthernet\RNDISEthernet.aps"></File></Folder><Folder name="VirtualSerial"><File path="Demos\Device\ClassDriver\VirtualSerial\Descriptors.c"></File><File path="Demos\Device\ClassDriver\VirtualSerial\Descriptors.h"></File><File path="Demos\Device\ClassDriver\VirtualSerial\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\VirtualSerial\LUFA VirtualSerial.inf"></File><File path="Demos\Device\ClassDriver\VirtualSerial\makefile"></File><File path="Demos\Device\ClassDriver\VirtualSerial\VirtualSerial.c"></File><File path="Demos\Device\ClassDriver\VirtualSerial\VirtualSerial.h"></File><File path="Demos\Device\ClassDriver\VirtualSerial\VirtualSerial.txt"></File><File path="Demos\Device\ClassDriver\VirtualSerial\VirtualSerial.aps"></File></Folder><Folder name="VirtualSerialMouse"><File path="Demos\Device\ClassDriver\VirtualSerialMouse\Descriptors.c"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\Descriptors.h"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\Doxygen.conf"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\LUFA VirtualSerialMouse.inf"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\makefile"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\VirtualSerialMouse.c"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\VirtualSerialMouse.h"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\VirtualSerialMouse.txt"></File><File path="Demos\Device\ClassDriver\VirtualSerialMouse\VirtualSerialMouse.aps"></File></Folder><File path="Demos\Device\ClassDriver\makefile"></File></Folder><Folder name="LowLevel"><Folder name="AudioInput"><File path="Demos\Device\LowLevel\AudioInput\AudioInput.c"></File><File path="Demos\Device\LowLevel\AudioInput\AudioInput.h"></File><File path="Demos\Device\LowLevel\AudioInput\AudioInput.txt"></File><File path="Demos\Device\LowLevel\AudioInput\Descriptors.c"></File><File path="Demos\Device\LowLevel\AudioInput\Descriptors.h"></File><File path="Demos\Device\LowLevel\AudioInput\Doxygen.conf"></File><File path="Demos\Device\LowLevel\AudioInput\makefile"></File><File path="Demos\Device\LowLevel\AudioInput\AudioInput.aps"></File></Folder><Folder name="AudioOutput"><File path="Demos\Device\LowLevel\AudioOutput\AudioOutput.c"></File><File path="Demos\Device\LowLevel\AudioOutput\AudioOutput.h"></File><File path="Demos\Device\LowLevel\AudioOutput\AudioOutput.txt"></File><File path="Demos\Device\LowLevel\AudioOutput\Descriptors.c"></File><File path="Demos\Device\LowLevel\AudioOutput\Descriptors.h"></File><File path="Demos\Device\LowLevel\AudioOutput\Doxygen.conf"></File><File path="Demos\Device\LowLevel\AudioOutput\makefile"></File><File path="Demos\Device\LowLevel\AudioOutput\AudioOutput.aps"></File></Folder><Folder name="DualVirtualSerial"><File path="Demos\Device\LowLevel\DualVirtualSerial\Descriptors.c"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\Descriptors.h"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\Doxygen.conf"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\DualVirtualSerial.c"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\DualVirtualSerial.h"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\DualVirtualSerial.txt"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\LUFA DualVirtualSerial.inf"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\makefile"></File><File path="Demos\Device\LowLevel\DualVirtualSerial\DualVirtualSerial.aps"></File></Folder><Folder name="GenericHID"><File path="Demos\Device\LowLevel\GenericHID\Descriptors.c"></File><File path="Demos\Device\LowLevel\GenericHID\Descriptors.h"></File><File path="Demos\Device\LowLevel\GenericHID\Doxygen.conf"></File><File path="Demos\Device\LowLevel\GenericHID\GenericHID.c"></File><File path="Demos\Device\LowLevel\GenericHID\GenericHID.h"></File><File path="Demos\Device\LowLevel\GenericHID\GenericHID.txt"></File><File path="Demos\Device\LowLevel\GenericHID\makefile"></File><File path="Demos\Device\LowLevel\GenericHID\GenericHID.aps"></File></Folder><Folder name="Joystick"><File path="Demos\Device\LowLevel\Joystick\Descriptors.c"></File><File path="Demos\Device\LowLevel\Joystick\Descriptors.h"></File><File path="Demos\Device\LowLevel\Joystick\Doxygen.conf"></File><File path="Demos\Device\LowLevel\Joystick\Joystick.c"></File><File path="Demos\Device\LowLevel\Joystick\Joystick.h"></File><File path="Demos\Device\LowLevel\Joystick\Joystick.txt"></File><File path="Demos\Device\LowLevel\Joystick\makefile"></File><File path="Demos\Device\LowLevel\Joystick\Joystick.aps"></File></Folder><Folder name="Keyboard"><File path="Demos\Device\LowLevel\Keyboard\Descriptors.c"></File><File path="Demos\Device\LowLevel\Keyboard\Descriptors.h"></File><File path="Demos\Device\LowLevel\Keyboard\Doxygen.conf"></File><File path="Demos\Device\LowLevel\Keyboard\Keyboard.c"></File><File path="Demos\Device\LowLevel\Keyboard\Keyboard.h"></File><File path="Demos\Device\LowLevel\Keyboard\Keyboard.txt"></File><File path="Demos\Device\LowLevel\Keyboard\makefile"></File><File path="Demos\Device\LowLevel\Keyboard\Keyboard.aps"></File></Folder><Folder name="KeyboardMouse"><File path="Demos\Device\LowLevel\KeyboardMouse\Descriptors.c"></File><File path="Demos\Device\LowLevel\KeyboardMouse\Descriptors.h"></File><File path="Demos\Device\LowLevel\KeyboardMouse\Doxygen.conf"></File><File path="Demos\Device\LowLevel\KeyboardMouse\KeyboardMouse.c"></File><File path="Demos\Device\LowLevel\KeyboardMouse\KeyboardMouse.h"></File><File path="Demos\Device\LowLevel\KeyboardMouse\KeyboardMouse.txt"></File><File path="Demos\Device\LowLevel\KeyboardMouse\makefile"></File><File path="Demos\Device\LowLevel\KeyboardMouse\KeyboardMouse.aps"></File></Folder><Folder name="MassStorage"><Folder name="Lib"><File path="Demos\Device\LowLevel\MassStorage\Lib\DataflashManager.c"></File><File path="Demos\Device\LowLevel\MassStorage\Lib\DataflashManager.h"></File><File path="Demos\Device\LowLevel\MassStorage\Lib\SCSI.c"></File><File path="Demos\Device\LowLevel\MassStorage\Lib\SCSI.h"></File></Folder><File path="Demos\Device\LowLevel\MassStorage\Descriptors.c"></File><File path="Demos\Device\LowLevel\MassStorage\Descriptors.h"></File><File path="Demos\Device\LowLevel\MassStorage\Doxygen.conf"></File><File path="Demos\Device\LowLevel\MassStorage\makefile"></File><File path="Demos\Device\LowLevel\MassStorage\MassStorage.c"></File><File path="Demos\Device\LowLevel\MassStorage\MassStorage.h"></File><File path="Demos\Device\LowLevel\MassStorage\MassStorage.txt"></File><File path="Demos\Device\LowLevel\MassStorage\MassStorage.aps"></File></Folder><Folder name="MIDI"><File path="Demos\Device\LowLevel\MIDI\Descriptors.c"></File><File path="Demos\Device\LowLevel\MIDI\Descriptors.h"></File><File path="Demos\Device\LowLevel\MIDI\Doxygen.conf"></File><File path="Demos\Device\LowLevel\MIDI\makefile"></File><File path="Demos\Device\LowLevel\MIDI\MIDI.c"></File><File path="Demos\Device\LowLevel\MIDI\MIDI.h"></File><File path="Demos\Device\LowLevel\MIDI\MIDI.txt"></File><File path="Demos\Device\LowLevel\MIDI\MIDI.aps"></File></Folder><Folder name="Mouse"><File path="Demos\Device\LowLevel\Mouse\Descriptors.c"></File><File path="Demos\Device\LowLevel\Mouse\Descriptors.h"></File><File path="Demos\Device\LowLevel\Mouse\Doxygen.conf"></File><File path="Demos\Device\LowLevel\Mouse\makefile"></File><File path="Demos\Device\LowLevel\Mouse\Mouse.c"></File><File path="Demos\Device\LowLevel\Mouse\Mouse.h"></File><File path="Demos\Device\LowLevel\Mouse\Mouse.txt"></File><File path="Demos\Device\LowLevel\Mouse\Mouse.aps"></File></Folder><Folder name="RNDISEthernet"><Folder name="Lib"><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\Webserver.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ARP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ARP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\DHCP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\DHCP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\Ethernet.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\Ethernet.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\EthernetProtocols.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ICMP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ICMP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\IP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\IP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ProtocolDecoders.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\ProtocolDecoders.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\RNDIS.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\RNDIS.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\TCP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\TCP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\UDP.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\UDP.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Lib\Webserver.c"></File></Folder><File path="Demos\Device\LowLevel\RNDISEthernet\Descriptors.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Descriptors.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\Doxygen.conf"></File><File path="Demos\Device\LowLevel\RNDISEthernet\LUFA RNDIS.inf"></File><File path="Demos\Device\LowLevel\RNDISEthernet\makefile"></File><File path="Demos\Device\LowLevel\RNDISEthernet\RNDISEthernet.c"></File><File path="Demos\Device\LowLevel\RNDISEthernet\RNDISEthernet.h"></File><File path="Demos\Device\LowLevel\RNDISEthernet\RNDISEthernet.txt"></File><File path="Demos\Device\LowLevel\RNDISEthernet\RNDISEthernet.aps"></File></Folder><Folder name="VirtualSerial"><File path="Demos\Device\LowLevel\VirtualSerial\Descriptors.c"></File><File path="Demos\Device\LowLevel\VirtualSerial\Descriptors.h"></File><File path="Demos\Device\LowLevel\VirtualSerial\Doxygen.conf"></File><File path="Demos\Device\LowLevel\VirtualSerial\LUFA VirtualSerial.inf"></File><File path="Demos\Device\LowLevel\VirtualSerial\makefile"></File><File path="Demos\Device\LowLevel\VirtualSerial\VirtualSerial.c"></File><File path="Demos\Device\LowLevel\VirtualSerial\VirtualSerial.h"></File><File path="Demos\Device\LowLevel\VirtualSerial\VirtualSerial.txt"></File><File path="Demos\Device\LowLevel\VirtualSerial\VirtualSerial.aps"></File></Folder><File path="Demos\Device\LowLevel\makefile"></File></Folder><Folder name="Incomplete"><Folder name="SideShow"><Folder name="Lib"><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowApplications.c"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowApplications.h"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowCommands.c"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowCommands.h"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowCommon.c"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowCommon.h"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowContent.c"></File><File path="Demos\Device\Incomplete\Sideshow\Lib\SideshowContent.h"></File></Folder><File path="Demos\Device\Incomplete\Sideshow\Descriptors.c"></File><File path="Demos\Device\Incomplete\Sideshow\Descriptors.h"></File><File path="Demos\Device\Incomplete\Sideshow\makefile"></File><File path="Demos\Device\Incomplete\Sideshow\Sideshow.c"></File><File path="Demos\Device\Incomplete\Sideshow\Sideshow.h"></File></Folder><Folder name="TestAndMeasurement"><File path="Demos\Device\Incomplete\TestAndMeasurement\Descriptors.c"></File><File path="Demos\Device\Incomplete\TestAndMeasurement\Descriptors.h"></File><File path="Demos\Device\Incomplete\TestAndMeasurement\TestAndMeasurement.c"></File><File path="Demos\Device\Incomplete\TestAndMeasurement\TestAndMeasurement.h"></File><File path="Demos\Device\Incomplete\TestAndMeasurement\makefile"></File></Folder></Folder><File path="Demos\Device\makefile"></File></Folder><Folder name="Host"><Folder name="ClassDriver"><Folder name="JoystickHostWithParser"><File path="Demos\Host\ClassDriver\JoystickHostWithParser\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\JoystickHostWithParser.c"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\JoystickHostWithParser.h"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\JoystickHostWithParser.txt"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\makefile"></File><File path="Demos\Host\ClassDriver\JoystickHostWithParser\JoystickHostWithParser.aps"></File></Folder><Folder name="KeyboardHost"><File path="Demos\Host\ClassDriver\KeyboardHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\KeyboardHost\KeyboardHost.c"></File><File path="Demos\Host\ClassDriver\KeyboardHost\KeyboardHost.h"></File><File path="Demos\Host\ClassDriver\KeyboardHost\makefile"></File><File path="Demos\Host\ClassDriver\KeyboardHost\KeyboardHost.txt"></File><File path="Demos\Host\ClassDriver\KeyboardHost\KeyboardHost.aps"></File></Folder><Folder name="KeyboardHostWithParser"><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\KeyboardHostWithParser.c"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\KeyboardHostWithParser.h"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\makefile"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\KeyboardHostWithParser.txt"></File><File path="Demos\Host\ClassDriver\KeyboardHostWithParser\KeyboardHostWithParser.aps"></File></Folder><Folder name="MassStorageHost"><File path="Demos\Host\ClassDriver\MassStorageHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\MassStorageHost\makefile"></File><File path="Demos\Host\ClassDriver\MassStorageHost\MassStorageHost.c"></File><File path="Demos\Host\ClassDriver\MassStorageHost\MassStorageHost.h"></File><File path="Demos\Host\ClassDriver\MassStorageHost\MassStorageHost.txt"></File><File path="Demos\Host\ClassDriver\MassStorageHost\MassStorageHost.aps"></File></Folder><Folder name="MIDIHost"><File path="Demos\Host\ClassDriver\MIDIHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\MIDIHost\makefile"></File><File path="Demos\Host\ClassDriver\MIDIHost\MIDIHost.c"></File><File path="Demos\Host\ClassDriver\MIDIHost\MIDIHost.h"></File><File path="Demos\Host\ClassDriver\MIDIHost\MIDIHost.txt"></File><File path="Demos\Host\ClassDriver\MIDIHost\MIDIHost.aps"></File></Folder><Folder name="MouseHost"><File path="Demos\Host\ClassDriver\MouseHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\MouseHost\makefile"></File><File path="Demos\Host\ClassDriver\MouseHost\MouseHost.c"></File><File path="Demos\Host\ClassDriver\MouseHost\MouseHost.h"></File><File path="Demos\Host\ClassDriver\MouseHost\MouseHost.txt"></File><File path="Demos\Host\ClassDriver\MouseHost\MouseHost.aps"></File></Folder><Folder name="MouseHostWithParser"><File path="Demos\Host\ClassDriver\MouseHostWithParser\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\makefile"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\MouseHostWithParser.txt"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\MouseHostWithParser.c"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\MouseHostWithParser.h"></File><File path="Demos\Host\ClassDriver\MouseHostWithParser\MouseHostWithParser.aps"></File></Folder><Folder name="PrinterHost"><File path="Demos\Host\ClassDriver\PrinterHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\PrinterHost\makefile"></File><File path="Demos\Host\ClassDriver\PrinterHost\PrinterHost.c"></File><File path="Demos\Host\ClassDriver\PrinterHost\PrinterHost.h"></File><File path="Demos\Host\ClassDriver\PrinterHost\PrinterHost.txt"></File><File path="Demos\Host\ClassDriver\PrinterHost\PrinterHost.aps"></File></Folder><Folder name="RNDISEthernetHost"><File path="Demos\Host\ClassDriver\RNDISEthernetHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\makefile"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\RNDISEthernetHost.c"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\RNDISEthernetHost.h"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\RNDISEthernetHost.txt"></File><File path="Demos\Host\ClassDriver\RNDISEthernetHost\RNDISEthernetHost.aps"></File></Folder><Folder name="StillImageHost"><File path="Demos\Host\ClassDriver\StillImageHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\StillImageHost\makefile"></File><File path="Demos\Host\ClassDriver\StillImageHost\StillImageHost.c"></File><File path="Demos\Host\ClassDriver\StillImageHost\StillImageHost.h"></File><File path="Demos\Host\ClassDriver\StillImageHost\StillImageHost.txt"></File><File path="Demos\Host\ClassDriver\StillImageHost\StillImageHost.aps"></File></Folder><Folder name="VirtualSerialHost"><File path="Demos\Host\ClassDriver\VirtualSerialHost\Doxygen.conf"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\makefile"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\VirtualSerialHost.c"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\VirtualSerialHost.h"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\VirtualSerialHost.txt"></File><File path="Demos\Host\ClassDriver\VirtualSerialHost\VirtualSerialHost.aps"></File></Folder><File path="Demos\Host\ClassDriver\makefile"></File></Folder><Folder name="LowLevel"><Folder name="GenericHIDHost"><File path="Demos\Host\LowLevel\GenericHIDHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\GenericHIDHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\GenericHIDHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\GenericHIDHost\GenericHIDHost.c"></File><File path="Demos\Host\LowLevel\GenericHIDHost\GenericHIDHost.h"></File><File path="Demos\Host\LowLevel\GenericHIDHost\GenericHIDHost.txt"></File><File path="Demos\Host\LowLevel\GenericHIDHost\makefile"></File><File path="Demos\Host\LowLevel\GenericHIDHost\GenericHIDHost.aps"></File></Folder><Folder name="JoystickHostWithParser"><File path="Demos\Host\LowLevel\JoystickHostWithParser\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\Doxygen.conf"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\HIDReport.c"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\HIDReport.h"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\JoystickHostWithParser.c"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\JoystickHostWithParser.h"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\JoystickHostWithParser.txt"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\makefile"></File><File path="Demos\Host\LowLevel\JoystickHostWithParser\JoystickHostWithParser.aps"></File></Folder><Folder name="KeyboardHost"><File path="Demos\Host\LowLevel\KeyboardHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\KeyboardHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\KeyboardHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\KeyboardHost\KeyboardHost.c"></File><File path="Demos\Host\LowLevel\KeyboardHost\KeyboardHost.h"></File><File path="Demos\Host\LowLevel\KeyboardHost\KeyboardHost.txt"></File><File path="Demos\Host\LowLevel\KeyboardHost\makefile"></File><File path="Demos\Host\LowLevel\KeyboardHost\KeyboardHost.aps"></File></Folder><Folder name="KeyboardHostWithParser"><File path="Demos\Host\LowLevel\KeyboardHostWithParser\makefile"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\Doxygen.conf"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\HIDReport.c"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\HIDReport.h"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\KeyboardHostWithParser.c"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\KeyboardHostWithParser.h"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\KeyboardHostWithParser.txt"></File><File path="Demos\Host\LowLevel\KeyboardHostWithParser\KeyboardHostWithParser.aps"></File></Folder><Folder name="MassStorageHost"><Folder name="Lib"><File path="Demos\Host\LowLevel\MassStorageHost\Lib\MassStoreCommands.c"></File><File path="Demos\Host\LowLevel\MassStorageHost\Lib\MassStoreCommands.h"></File></Folder><File path="Demos\Host\LowLevel\MassStorageHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\MassStorageHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\MassStorageHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\MassStorageHost\makefile"></File><File path="Demos\Host\LowLevel\MassStorageHost\MassStorageHost.c"></File><File path="Demos\Host\LowLevel\MassStorageHost\MassStorageHost.h"></File><File path="Demos\Host\LowLevel\MassStorageHost\MassStorageHost.txt"></File><File path="Demos\Host\LowLevel\MassStorageHost\MassStorageHost.aps"></File></Folder><Folder name="MIDIHost"><File path="Demos\Host\LowLevel\MIDIHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\MIDIHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\MIDIHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\MIDIHost\makefile"></File><File path="Demos\Host\LowLevel\MIDIHost\MIDIHost.c"></File><File path="Demos\Host\LowLevel\MIDIHost\MIDIHost.h"></File><File path="Demos\Host\LowLevel\MIDIHost\MIDIHost.txt"></File><File path="Demos\Host\LowLevel\MIDIHost\MIDIHost.aps"></File></Folder><Folder name="MouseHost"><File path="Demos\Host\LowLevel\MouseHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\MouseHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\MouseHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\MouseHost\makefile"></File><File path="Demos\Host\LowLevel\MouseHost\MouseHost.c"></File><File path="Demos\Host\LowLevel\MouseHost\MouseHost.h"></File><File path="Demos\Host\LowLevel\MouseHost\MouseHost.txt"></File><File path="Demos\Host\LowLevel\MouseHost\MouseHost.aps"></File></Folder><Folder name="MouseHostWithParser"><File path="Demos\Host\LowLevel\MouseHostWithParser\MouseHostWithParser.txt"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\Doxygen.conf"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\HIDReport.c"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\HIDReport.h"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\makefile"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\MouseHostWithParser.c"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\MouseHostWithParser.h"></File><File path="Demos\Host\LowLevel\MouseHostWithParser\MouseHostWithParser.aps"></File></Folder><Folder name="PrinterHost"><Folder name="Lib"><File path="Demos\Host\LowLevel\PrinterHost\Lib\PrinterCommands.c"></File><File path="Demos\Host\LowLevel\PrinterHost\Lib\PrinterCommands.h"></File></Folder><File path="Demos\Host\LowLevel\PrinterHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\PrinterHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\PrinterHost\makefile"></File><File path="Demos\Host\LowLevel\PrinterHost\PrinterHost.c"></File><File path="Demos\Host\LowLevel\PrinterHost\PrinterHost.h"></File><File path="Demos\Host\LowLevel\PrinterHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\PrinterHost\PrinterHost.txt"></File><File path="Demos\Host\LowLevel\PrinterHost\PrinterHost.aps"></File></Folder><Folder name="RNDISEthernetHost"><Folder name="Lib"><File path="Demos\Host\LowLevel\RNDISEthernetHost\Lib\RNDISCommands.c"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\Lib\RNDISCommands.h"></File></Folder><File path="Demos\Host\LowLevel\RNDISEthernetHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\makefile"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\RNDISEthernetHost.c"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\RNDISEthernetHost.h"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\RNDISHost.txt"></File><File path="Demos\Host\LowLevel\RNDISEthernetHost\RNDISEthernetHost.aps"></File></Folder><Folder name="StillImageHost"><Folder name="Lib"><File path="Demos\Host\LowLevel\StillImageHost\Lib\StillImageCommands.c"></File><File path="Demos\Host\LowLevel\StillImageHost\Lib\StillImageCommands.h"></File><File path="Demos\Host\LowLevel\StillImageHost\Lib\PIMACodes.h"></File></Folder><File path="Demos\Host\LowLevel\StillImageHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\StillImageHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\StillImageHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\StillImageHost\makefile"></File><File path="Demos\Host\LowLevel\StillImageHost\StillImageHost.c"></File><File path="Demos\Host\LowLevel\StillImageHost\StillImageHost.h"></File><File path="Demos\Host\LowLevel\StillImageHost\StillImageHost.txt"></File><File path="Demos\Host\LowLevel\StillImageHost\StillImageHost.aps"></File></Folder><Folder name="VirtualSerialHost"><File path="Demos\Host\LowLevel\VirtualSerialHost\ConfigDescriptor.c"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\ConfigDescriptor.h"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\Doxygen.conf"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\makefile"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\VirtualSerialHost.c"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\VirtualSerialHost.h"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\VirtualSerialHost.txt"></File><File path="Demos\Host\LowLevel\VirtualSerialHost\VirtualSerialHost.aps"></File></Folder><File path="Demos\Host\LowLevel\makefile"></File></Folder><Folder name="Incomplete"><Folder name="BluetoothHost"><Folder name="Lib"><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothACLPackets.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothACLPackets.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothClassCodes.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothHCICommands.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothHCICommands.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothStack.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\BluetoothStack.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\SDPServices.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\SDPServices.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\RFCOMM.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\RFCOMM.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\SDP.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\SDP.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\RFCOMMControl.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\Lib\RFCOMMControl.h"></File></Folder><File path="Demos\Host\Incomplete\BluetoothHost\makefile"></File><File path="Demos\Host\Incomplete\BluetoothHost\BluetoothHost.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\BluetoothHost.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\ConfigDescriptor.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\ConfigDescriptor.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\DeviceDescriptor.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\DeviceDescriptor.h"></File><File path="Demos\Host\Incomplete\BluetoothHost\Doxygen.conf"></File><File path="Demos\Host\Incomplete\BluetoothHost\BluetoothEvents.c"></File><File path="Demos\Host\Incomplete\BluetoothHost\BluetoothEvents.h"></File></Folder></Folder><File path="Demos\Host\makefile"></File></Folder><Folder name="DualRole"><Folder name="ClassDriver"><Folder name="MouseHostDevice"><File path="Demos\DualRole\ClassDriver\MouseHostDevice\Doxygen.conf"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\makefile"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\MouseHostDevice.c"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\MouseHostDevice.h"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\Descriptors.c"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\Descriptors.h"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\DeviceFunctions.c"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\HostFunctions.c"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\HostFunctions.h"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\DeviceFunctions.h"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\MouseHostDevice.txt"></File><File path="Demos\DualRole\ClassDriver\MouseHostDevice\MouseHostDevice.aps"></File></Folder><File path="Demos\DualRole\ClassDriver\makefile"></File></Folder><File path="Demos\DualRole\makefile"></File></Folder><File path="Demos\makefile"></File></Folder><Folder name="LUFA"><Folder name="Common"><File path="LUFA\Common\Common.h"></File><File path="LUFA\Common\BoardTypes.h"></File><File path="LUFA\Common\Attributes.h"></File><File path="LUFA\Common\Architectures.h"></File></Folder><Folder name="Drivers"><Folder name="USB"><Folder name="LowLevel"><File path="LUFA\Drivers\USB\LowLevel\Pipe.c"></File><File path="LUFA\Drivers\USB\LowLevel\Pipe.h"></File><File path="LUFA\Drivers\USB\LowLevel\Device.h"></File><File path="LUFA\Drivers\USB\LowLevel\Endpoint.c"></File><File path="LUFA\Drivers\USB\LowLevel\Endpoint.h"></File><File path="LUFA\Drivers\USB\LowLevel\Host.c"></File><File path="LUFA\Drivers\USB\LowLevel\Host.h"></File><File path="LUFA\Drivers\USB\LowLevel\OTG.h"></File><File path="LUFA\Drivers\USB\LowLevel\USBInterrupt.c"></File><File path="LUFA\Drivers\USB\LowLevel\USBInterrupt.h"></File><File path="LUFA\Drivers\USB\LowLevel\Device.c"></File><File path="LUFA\Drivers\USB\LowLevel\USBController.c"></File><File path="LUFA\Drivers\USB\LowLevel\USBController.h"></File></Folder><Folder name="HighLevel"><Folder name="Template"><File path="LUFA\Drivers\USB\HighLevel\Template\Template_Pipe_RW.c"></File><File path="LUFA\Drivers\USB\HighLevel\Template\Template_Endpoint_RW.c"></File><File path="LUFA\Drivers\USB\HighLevel\Template\Template_Endpoint_Control_W.c"></File><File path="LUFA\Drivers\USB\HighLevel\Template\Template_Endpoint_Control_R.c"></File></Folder><File path="LUFA\Drivers\USB\HighLevel\USBTask.h"></File><File path="LUFA\Drivers\USB\HighLevel\Events.c"></File><File path="LUFA\Drivers\USB\HighLevel\Events.h"></File><File path="LUFA\Drivers\USB\HighLevel\USBTask.c"></File><File path="LUFA\Drivers\USB\HighLevel\StdDescriptors.h"></File><File path="LUFA\Drivers\USB\HighLevel\StdRequestType.h"></File><File path="LUFA\Drivers\USB\HighLevel\USBMode.h"></File><File path="LUFA\Drivers\USB\HighLevel\ConfigDescriptor.c"></File><File path="LUFA\Drivers\USB\HighLevel\ConfigDescriptor.h"></File><File path="LUFA\Drivers\USB\HighLevel\DeviceStandardReq.c"></File><File path="LUFA\Drivers\USB\HighLevel\DeviceStandardReq.h"></File><File path="LUFA\Drivers\USB\HighLevel\HostStandardReq.c"></File><File path="LUFA\Drivers\USB\HighLevel\HostStandardReq.h"></File><File path="LUFA\Drivers\USB\HighLevel\EndpointStream.h"></File><File path="LUFA\Drivers\USB\HighLevel\EndpointStream.c"></File><File path="LUFA\Drivers\USB\HighLevel\PipeStream.h"></File><File path="LUFA\Drivers\USB\HighLevel\PipeStream.c"></File></Folder><Folder name="Class"><Folder name="Device"><File path="LUFA\Drivers\USB\Class\Device\HID.c"></File><File path="LUFA\Drivers\USB\Class\Device\HID.h"></File><File path="LUFA\Drivers\USB\Class\Device\CDC.c"></File><File path="LUFA\Drivers\USB\Class\Device\CDC.h"></File><File path="LUFA\Drivers\USB\Class\Device\RNDIS.c"></File><File path="LUFA\Drivers\USB\Class\Device\RNDIS.h"></File><File path="LUFA\Drivers\USB\Class\Device\MassStorage.c"></File><File path="LUFA\Drivers\USB\Class\Device\MassStorage.h"></File><File path="LUFA\Drivers\USB\Class\Device\Audio.c"></File><File path="LUFA\Drivers\USB\Class\Device\Audio.h"></File><File path="LUFA\Drivers\USB\Class\Device\MIDI.c"></File><File path="LUFA\Drivers\USB\Class\Device\MIDI.h"></File></Folder><Folder name="Host"><File path="LUFA\Drivers\USB\Class\Host\CDC.c"></File><File path="LUFA\Drivers\USB\Class\Host\CDC.h"></File><File path="LUFA\Drivers\USB\Class\Host\HID.c"></File><File path="LUFA\Drivers\USB\Class\Host\HID.h"></File><File path="LUFA\Drivers\USB\Class\Host\MassStorage.c"></File><File path="LUFA\Drivers\USB\Class\Host\MassStorage.h"></File><File path="LUFA\Drivers\USB\Class\Host\StillImage.c"></File><File path="LUFA\Drivers\USB\Class\Host\StillImage.h"></File><File path="LUFA\Drivers\USB\Class\Host\MIDI.c"></File><File path="LUFA\Drivers\USB\Class\Host\MIDI.h"></File><File path="LUFA\Drivers\USB\Class\Host\Printer.c"></File><File path="LUFA\Drivers\USB\Class\Host\Printer.h"></File><File path="LUFA\Drivers\USB\Class\Host\RNDIS.h"></File><File path="LUFA\Drivers\USB\Class\Host\RNDIS.c"></File></Folder><Folder name="Common"><File path="LUFA\Drivers\USB\Class\Common\Audio.h"></File><File path="LUFA\Drivers\USB\Class\Common\CDC.h"></File><File path="LUFA\Drivers\USB\Class\Common\HID.h"></File><File path="LUFA\Drivers\USB\Class\Common\MassStorage.h"></File><File path="LUFA\Drivers\USB\Class\Common\MIDI.h"></File><File path="LUFA\Drivers\USB\Class\Common\RNDIS.h"></File><File path="LUFA\Drivers\USB\Class\Common\StillImage.h"></File><File path="LUFA\Drivers\USB\Class\Common\Printer.h"></File><File path="LUFA\Drivers\USB\Class\Common\HIDParser.c"></File><File path="LUFA\Drivers\USB\Class\Common\HIDParser.h"></File><File path="LUFA\Drivers\USB\Class\Common\HIDReportData.h"></File></Folder><File path="LUFA\Drivers\USB\Class\Audio.h"></File><File path="LUFA\Drivers\USB\Class\CDC.h"></File><File path="LUFA\Drivers\USB\Class\HID.h"></File><File path="LUFA\Drivers\USB\Class\MassStorage.h"></File><File path="LUFA\Drivers\USB\Class\MIDI.h"></File><File path="LUFA\Drivers\USB\Class\RNDIS.h"></File><File path="LUFA\Drivers\USB\Class\StillImage.h"></File><File path="LUFA\Drivers\USB\Class\Printer.h"></File></Folder><File path="LUFA\Drivers\USB\USB.h"></File></Folder><Folder name="Misc"><File path="LUFA\Drivers\Misc\TerminalCodes.h"></File><File path="LUFA\Drivers\Misc\RingBuffer.h"></File></Folder><Folder name="Board"><Folder name="ADAFRUITU4"><File path="LUFA\Drivers\Board\ADAFRUITU4\LEDs.h"></File></Folder><Folder name="ATAVRUSBRF01"><File path="LUFA\Drivers\Board\ATAVRUSBRF01\LEDs.h"></File><File path="LUFA\Drivers\Board\ATAVRUSBRF01\Buttons.h"></File></Folder><Folder name="BENITO"><File path="LUFA\Drivers\Board\BENITO\LEDs.h"></File><File path="LUFA\Drivers\Board\BENITO\Buttons.h"></File></Folder><Folder name="BUMBLEB"><File path="LUFA\Drivers\Board\BUMBLEB\Buttons.h"></File><File path="LUFA\Drivers\Board\BUMBLEB\Joystick.h"></File><File path="LUFA\Drivers\Board\BUMBLEB\LEDs.h"></File></Folder><Folder name="BUI"><File path="LUFA\Drivers\Board\BUI\LEDs.h"></File></Folder><Folder name="BLACKCAT"><File path="LUFA\Drivers\Board\BLACKCAT\LEDs.h"></File></Folder><Folder name="CULV3"><File path="LUFA\Drivers\Board\CULV3\Buttons.h"></File><File path="LUFA\Drivers\Board\CULV3\LEDs.h"></File></Folder><Folder name="EVK527"><File path="LUFA\Drivers\Board\EVK527\Buttons.h"></File><File path="LUFA\Drivers\Board\EVK527\LEDs.h"></File><File path="LUFA\Drivers\Board\EVK527\Joystick.h"></File><File path="LUFA\Drivers\Board\EVK527\AT45DB321C.h"></File><File path="LUFA\Drivers\Board\EVK527\Dataflash.h"></File></Folder><Folder name="JMDBU2"><File path="LUFA\Drivers\Board\JMDBU2\Buttons.h"></File><File path="LUFA\Drivers\Board\JMDBU2\LEDs.h"></File></Folder><Folder name="MAXIMUS"><File path="LUFA\Drivers\Board\MAXIMUS\LEDs.h"></File></Folder><Folder name="MICROSIN162"><File path="LUFA\Drivers\Board\MICROSIN162\LEDs.h"></File><File path="LUFA\Drivers\Board\MICROSIN162\Buttons.h"></File></Folder><Folder name="MINIMUS"><File path="LUFA\Drivers\Board\MINIMUS\Buttons.h"></File><File path="LUFA\Drivers\Board\MINIMUS\LEDs.h"></File></Folder><Folder name="OLIMEX162"><File path="LUFA\Drivers\Board\OLIMEX162\LEDs.h"></File><File path="LUFA\Drivers\Board\OLIMEX162\Buttons.h"></File></Folder><Folder name="RZUSBSTICK"><File path="LUFA\Drivers\Board\RZUSBSTICK\LEDs.h"></File></Folder><Folder name="SPARKFUN8U2"><File path="LUFA\Drivers\Board\SPARKFUN8U2\LEDs.h"></File></Folder><Folder name="STK525"><File path="LUFA\Drivers\Board\STK525\Dataflash.h"></File><File path="LUFA\Drivers\Board\STK525\Joystick.h"></File><File path="LUFA\Drivers\Board\STK525\AT45DB321C.h"></File><File path="LUFA\Drivers\Board\STK525\LEDs.h"></File><File path="LUFA\Drivers\Board\STK525\Buttons.h"></File></Folder><Folder name="STK526"><File path="LUFA\Drivers\Board\STK526\Dataflash.h"></File><File path="LUFA\Drivers\Board\STK526\Joystick.h"></File><File path="LUFA\Drivers\Board\STK526\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\STK526\LEDs.h"></File><File path="LUFA\Drivers\Board\STK526\Buttons.h"></File></Folder><Folder name="TEENSY"><File path="LUFA\Drivers\Board\TEENSY\LEDs.h"></File></Folder><Folder name="UDIP"><File path="LUFA\Drivers\Board\UDIP\LEDs.h"></File><File path="LUFA\Drivers\Board\UDIP\Buttons.h"></File></Folder><Folder name="UNO"><File path="LUFA\Drivers\Board\UNO\LEDs.h"></File></Folder><Folder name="USBFOO"><File path="LUFA\Drivers\Board\USBFOO\Buttons.h"></File><File path="LUFA\Drivers\Board\USBFOO\LEDS.h"></File></Folder><Folder name="USBKEY"><File path="LUFA\Drivers\Board\USBKEY\Dataflash.h"></File><File path="LUFA\Drivers\Board\USBKEY\Joystick.h"></File><File path="LUFA\Drivers\Board\USBKEY\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\USBKEY\LEDs.h"></File><File path="LUFA\Drivers\Board\USBKEY\Buttons.h"></File></Folder><Folder name="USBTINYMKII"><File path="LUFA\Drivers\Board\USBTINYMKII\LEDs.h"></File><File path="LUFA\Drivers\Board\USBTINYMKII\Buttons.h"></File></Folder><Folder name="XPLAIN"><File path="LUFA\Drivers\Board\XPLAIN\LEDs.h"></File><File path="LUFA\Drivers\Board\XPLAIN\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\XPLAIN\Dataflash.h"></File></Folder><File path="LUFA\Drivers\Board\Temperature.h"></File><File path="LUFA\Drivers\Board\Dataflash.h"></File><File path="LUFA\Drivers\Board\Joystick.h"></File><File path="LUFA\Drivers\Board\Temperature.c"></File><File path="LUFA\Drivers\Board\LEDs.h"></File><File path="LUFA\Drivers\Board\Buttons.h"></File></Folder><Folder name="Peripheral"><Folder name="AVR8"><File path="LUFA\Drivers\Peripheral\AVR8\ADC.h"></File><File path="LUFA\Drivers\Peripheral\AVR8\Serial.c"></File><File path="LUFA\Drivers\Peripheral\AVR8\Serial.h"></File><File path="LUFA\Drivers\Peripheral\AVR8\SPI.h"></File><File path="LUFA\Drivers\Peripheral\AVR8\TWI.c"></File><File path="LUFA\Drivers\Peripheral\AVR8\TWI.h"></File></Folder><File path="LUFA\Drivers\Peripheral\ADC.h"></File><File path="LUFA\Drivers\Peripheral\TWI.h"></File><File path="LUFA\Drivers\Peripheral\Serial.h"></File><File path="LUFA\Drivers\Peripheral\SPI.h"></File></Folder></Folder><Folder name="ManPages"><File path="LUFA\ManPages\AboutLUFA.txt"></File><File path="LUFA\ManPages\BuildingLinkableLibraries.txt"></File><File path="LUFA\ManPages\ChangeLog.txt"></File><File path="LUFA\ManPages\CompileTimeTokens.txt"></File><File path="LUFA\ManPages\DevelopingWithLUFA.txt"></File><File path="LUFA\ManPages\DeviceSupport.txt"></File><File path="LUFA\ManPages\DirectorySummaries.txt"></File><File path="LUFA\ManPages\Donating.txt"></File><File path="LUFA\ManPages\FutureChanges.txt"></File><File path="LUFA\ManPages\GettingStarted.txt"></File><File path="LUFA\ManPages\Groups.txt"></File><File path="LUFA\ManPages\LibraryResources.txt"></File><File path="LUFA\ManPages\LUFAPoweredProjects.txt"></File><File path="LUFA\ManPages\MainPage.txt"></File><File path="LUFA\ManPages\MigrationInformation.txt"></File><File path="LUFA\ManPages\VIDAndPIDValues.txt"></File><File path="LUFA\ManPages\WritingBoardDrivers.txt"></File><File path="LUFA\ManPages\ConfiguringApps.txt"></File><File path="LUFA\ManPages\CompilingApps.txt"></File><File path="LUFA\ManPages\ProgrammingApps.txt"></File><File path="LUFA\ManPages\LibraryApps.txt"></File><File path="LUFA\ManPages\WhyUseLUFA.txt"></File><File path="LUFA\ManPages\LUFAvsAtmelStack.txt"></File><File path="LUFA\ManPages\AlternativeStacks.txt"></File><File path="LUFA\ManPages\SoftwareBootloaderJump.txt"></File><File path="LUFA\ManPages\LicenseInfo.txt"></File></Folder><Folder name="Scheduler"><File path="LUFA\Scheduler\Scheduler.c"></File><File path="LUFA\Scheduler\Scheduler.h"></File></Folder><Folder name="CodeTemplates"><Folder name="DriverStubs"><File path="LUFA\CodeTemplates\DriverStubs\Buttons.h"></File><File path="LUFA\CodeTemplates\DriverStubs\Dataflash.h"></File><File path="LUFA\CodeTemplates\DriverStubs\Joystick.h"></File><File path="LUFA\CodeTemplates\DriverStubs\LEDs.h"></File></Folder><File path="LUFA\CodeTemplates\makefile_template"></File></Folder><File path="LUFA\makefile"></File><File path="LUFA\Version.h"></File><File path="LUFA\Doxygen.conf"></File><File path="LUFA\License.txt"></File></Folder><Folder name="Bootloaders"><Folder name="CDC"><File path="Bootloaders\CDC\BootloaderCDC.c"></File><File path="Bootloaders\CDC\BootloaderCDC.h"></File><File path="Bootloaders\CDC\Descriptors.c"></File><File path="Bootloaders\CDC\Descriptors.h"></File><File path="Bootloaders\CDC\makefile"></File><File path="Bootloaders\CDC\LUFA CDC Bootloader.inf"></File><File path="Bootloaders\CDC\Doxygen.conf"></File><File path="Bootloaders\CDC\BootloaderCDC.txt"></File><File path="Bootloaders\CDC\BootloaderCDC.aps"></File></Folder><Folder name="DFU"><File path="Bootloaders\DFU\BootloaderDFU.c"></File><File path="Bootloaders\DFU\BootloaderDFU.h"></File><File path="Bootloaders\DFU\Descriptors.c"></File><File path="Bootloaders\DFU\Descriptors.h"></File><File path="Bootloaders\DFU\makefile"></File><File path="Bootloaders\DFU\BootloaderDFU.txt"></File><File path="Bootloaders\DFU\Doxygen.conf"></File><File path="Bootloaders\DFU\BootloaderDFU.aps"></File></Folder><Folder name="HID"><Folder name="HostLoaderApp"><File path="Bootloaders\HID\HostLoaderApp\gpl3.txt"></File><File path="Bootloaders\HID\HostLoaderApp\Makefile"></File><File path="Bootloaders\HID\HostLoaderApp\Makefile.bsd"></File><File path="Bootloaders\HID\HostLoaderApp\hid_bootloader_cli.c"></File></Folder><File path="Bootloaders\HID\Descriptors.c"></File><File path="Bootloaders\HID\Descriptors.h"></File><File path="Bootloaders\HID\makefile"></File><File path="Bootloaders\HID\BootloaderHID.txt"></File><File path="Bootloaders\HID\BootloaderHID.c"></File><File path="Bootloaders\HID\BootloaderHID.h"></File><File path="Bootloaders\HID\Doxygen.conf"></File><File path="Bootloaders\HID\BootloaderHID.aps"></File></Folder><File path="Bootloaders\makefile"></File></Folder><Folder name="Projects"><Folder name="AVRISP-MKII"><Folder name="Lib"><Folder name="ISP"><File path="Projects\AVRISP-MKII\Lib\ISP\ISPProtocol.c"></File><File path="Projects\AVRISP-MKII\Lib\ISP\ISPProtocol.h"></File><File path="Projects\AVRISP-MKII\Lib\ISP\ISPTarget.c"></File><File path="Projects\AVRISP-MKII\Lib\ISP\ISPTarget.h"></File></Folder><Folder name="XPROG"><File path="Projects\AVRISP-MKII\Lib\XPROG\TINYNVM.c"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\TINYNVM.h"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XMEGANVM.c"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XMEGANVM.h"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XPROGProtocol.c"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XPROGProtocol.h"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XPROGTarget.c"></File><File path="Projects\AVRISP-MKII\Lib\XPROG\XPROGTarget.h"></File></Folder><File path="Projects\AVRISP-MKII\Lib\V2Protocol.c"></File><File path="Projects\AVRISP-MKII\Lib\V2Protocol.h"></File><File path="Projects\AVRISP-MKII\Lib\V2ProtocolConstants.h"></File><File path="Projects\AVRISP-MKII\Lib\V2ProtocolParams.c"></File><File path="Projects\AVRISP-MKII\Lib\V2ProtocolParams.h"></File></Folder><File path="Projects\AVRISP-MKII\Descriptors.c"></File><File path="Projects\AVRISP-MKII\Descriptors.h"></File><File path="Projects\AVRISP-MKII\Doxygen.conf"></File><File path="Projects\AVRISP-MKII\makefile"></File><File path="Projects\AVRISP-MKII\AVRISP-MKII.c"></File><File path="Projects\AVRISP-MKII\AVRISP-MKII.h"></File><File path="Projects\AVRISP-MKII\AVRISP-MKII.txt"></File><File path="Projects\AVRISP-MKII\AVRISP-MKII.aps"></File></Folder><Folder name="Benito"><File path="Projects\Benito\Benito.c"></File><File path="Projects\Benito\Benito.h"></File><File path="Projects\Benito\Descriptors.c"></File><File path="Projects\Benito\Descriptors.h"></File><File path="Projects\Benito\Doxygen.conf"></File><File path="Projects\Benito\makefile"></File><File path="Projects\Benito\Benito.txt"></File><File path="Projects\Benito\Benito Programmer.inf"></File><File path="Projects\Benito\Benito.aps"></File></Folder><Folder name="LEDNotifier"><Folder name="CPUUsageApp"><File path="Projects\LEDNotifier\CPUUsageApp\CPUMonitor.cs"></File><File path="Projects\LEDNotifier\CPUUsageApp\CPUMonitor.csproj"></File><File path="Projects\LEDNotifier\CPUUsageApp\CPUMonitor.Designer.cs"></File><File path="Projects\LEDNotifier\CPUUsageApp\CPUMonitor.resx"></File><File path="Projects\LEDNotifier\CPUUsageApp\Program.cs"></File></Folder><Folder name="HotmailNotifierApp"><File path="Projects\LEDNotifier\HotmailNotifierApp\MailNotifier.cs"></File><File path="Projects\LEDNotifier\HotmailNotifierApp\MailNotifier.csproj"></File><File path="Projects\LEDNotifier\HotmailNotifierApp\MailNotifier.Designer.cs"></File><File path="Projects\LEDNotifier\HotmailNotifierApp\MailNotifier.resx"></File><File path="Projects\LEDNotifier\HotmailNotifierApp\Program.cs"></File></Folder><Folder name="LEDMixerApp"><File path="Projects\LEDNotifier\LEDMixerApp\LEDMixer.cs"></File><File path="Projects\LEDNotifier\LEDMixerApp\LEDMixer.csproj"></File><File path="Projects\LEDNotifier\LEDMixerApp\LEDMixer.Designer.cs"></File><File path="Projects\LEDNotifier\LEDMixerApp\LEDMixer.resx"></File><File path="Projects\LEDNotifier\LEDMixerApp\Program.cs"></File></Folder><File path="Projects\LEDNotifier\Descriptors.c"></File><File path="Projects\LEDNotifier\Descriptors.h"></File><File path="Projects\LEDNotifier\Doxygen.conf"></File><File path="Projects\LEDNotifier\LEDNotifier.c"></File><File path="Projects\LEDNotifier\LEDNotifier.h"></File><File path="Projects\LEDNotifier\LEDNotifier.txt"></File><File path="Projects\LEDNotifier\LUFA LED Notifier.inf"></File><File path="Projects\LEDNotifier\makefile"></File><File path="Projects\LEDNotifier\LEDNotifier.aps"></File></Folder><Folder name="MagStripe"><Folder name="Lib"><File path="Projects\Magstripe\Lib\CircularBitBuffer.c"></File><File path="Projects\Magstripe\Lib\CircularBitBuffer.h"></File><File path="Projects\Magstripe\Lib\MagstripeHW.h"></File></Folder><File path="Projects\Magstripe\Descriptors.c"></File><File path="Projects\Magstripe\Descriptors.h"></File><File path="Projects\Magstripe\Magstripe.c"></File><File path="Projects\Magstripe\Magstripe.h"></File><File path="Projects\Magstripe\makefile"></File><File path="Projects\Magstripe\Magstripe.txt"></File><File path="Projects\Magstripe\Doxygen.conf"></File><File path="Projects\Magstripe\Magstripe.aps"></File></Folder><Folder name="MIDIToneGenerator"><File path="Projects\MIDIToneGenerator\Descriptors.c"></File><File path="Projects\MIDIToneGenerator\Descriptors.h"></File><File path="Projects\MIDIToneGenerator\makefile"></File><File path="Projects\MIDIToneGenerator\MIDIToneGenerator.c"></File><File path="Projects\MIDIToneGenerator\MIDIToneGenerator.h"></File><File path="Projects\MIDIToneGenerator\MIDIToneGenerator.txt"></File><File path="Projects\MIDIToneGenerator\MIDIToneGenerator.aps"></File></Folder><Folder name="MissileLauncher"><File path="Projects\MissileLauncher\ConfigDescriptor.c"></File><File path="Projects\MissileLauncher\ConfigDescriptor.h"></File><File path="Projects\MissileLauncher\Doxygen.conf"></File><File path="Projects\MissileLauncher\makefile"></File><File path="Projects\MissileLauncher\MissileLauncher.c"></File><File path="Projects\MissileLauncher\MissileLauncher.h"></File><File path="Projects\MissileLauncher\MissileLauncher.txt"></File><File path="Projects\MissileLauncher\MissileLauncher.aps"></File></Folder><Folder name="RelayBoard"><File path="Projects\RelayBoard\Descriptors.c"></File><File path="Projects\RelayBoard\Descriptors.h"></File><File path="Projects\RelayBoard\Doxygen.conf"></File><File path="Projects\RelayBoard\makefile"></File><File path="Projects\RelayBoard\RelayBoard.c"></File><File path="Projects\RelayBoard\RelayBoard.h"></File><File path="Projects\RelayBoard\RelayBoard.txt"></File><File path="Projects\RelayBoard\RelayBoard.aps"></File></Folder><Folder name="TempDataLogger"><Folder name="Lib"><Folder name="FATFs"><File path="Projects\TempDataLogger\Lib\FATFs\diskio.c"></File><File path="Projects\TempDataLogger\Lib\FATFs\diskio.h"></File><File path="Projects\TempDataLogger\Lib\FATFs\ff.c"></File><File path="Projects\TempDataLogger\Lib\FATFs\ff.h"></File><File path="Projects\TempDataLogger\Lib\FATFs\ffconf.h"></File><File path="Projects\TempDataLogger\Lib\FATFs\integer.h"></File></Folder><File path="Projects\TempDataLogger\Lib\DataflashManager.c"></File><File path="Projects\TempDataLogger\Lib\DataflashManager.h"></File><File path="Projects\TempDataLogger\Lib\DS1307.c"></File><File path="Projects\TempDataLogger\Lib\DS1307.h"></File><File path="Projects\TempDataLogger\Lib\SCSI.c"></File><File path="Projects\TempDataLogger\Lib\SCSI.h"></File></Folder><Folder name="TempLogHostApp"><File path="Projects\TempDataLogger\TempLogHostApp\DataLoggerSettings.cs"></File><File path="Projects\TempDataLogger\TempLogHostApp\DataLoggerSettings.Designer.cs"></File><File path="Projects\TempDataLogger\TempLogHostApp\DataLoggerSettings.resx"></File><File path="Projects\TempDataLogger\TempLogHostApp\Program.cs"></File><File path="Projects\TempDataLogger\TempLogHostApp\TempLoggerHostApp.csproj"></File></Folder><File path="Projects\TempDataLogger\Descriptors.c"></File><File path="Projects\TempDataLogger\Descriptors.h"></File><File path="Projects\TempDataLogger\Doxygen.conf"></File><File path="Projects\TempDataLogger\makefile"></File><File path="Projects\TempDataLogger\TempDataLogger.c"></File><File path="Projects\TempDataLogger\TempDataLogger.h"></File><File path="Projects\TempDataLogger\TemperatureDataLogger.txt"></File><File path="Projects\TempDataLogger\TempDataLogger.aps"></File></Folder><Folder name="USBtoSerial"><File path="Projects\USBtoSerial\Descriptors.h"></File><File path="Projects\USBtoSerial\Doxygen.conf"></File><File path="Projects\USBtoSerial\LUFA USBtoSerial.inf"></File><File path="Projects\USBtoSerial\makefile"></File><File path="Projects\USBtoSerial\USBtoSerial.c"></File><File path="Projects\USBtoSerial\USBtoSerial.h"></File><File path="Projects\USBtoSerial\USBtoSerial.txt"></File><File path="Projects\USBtoSerial\USBtoSerial.aps"></File><File path="Projects\USBtoSerial\Descriptors.c"></File></Folder><Folder name="Webserver"><Folder name="Lib"><Folder name="uip"><File path="Projects\Webserver\Lib\uip\clock.c"></File><File path="Projects\Webserver\Lib\uip\clock.h"></File><File path="Projects\Webserver\Lib\uip\timer.c"></File><File path="Projects\Webserver\Lib\uip\timer.h"></File><File path="Projects\Webserver\Lib\uip\uip.c"></File><File path="Projects\Webserver\Lib\uip\uip.h"></File><File path="Projects\Webserver\Lib\uip\uip_arp.c"></File><File path="Projects\Webserver\Lib\uip\uip_arp.h"></File><File path="Projects\Webserver\Lib\uip\uipopt.h"></File><File path="Projects\Webserver\Lib\uip\uip-split.c"></File><File path="Projects\Webserver\Lib\uip\uip-split.h"></File></Folder><Folder name="FATFs"><File path="Projects\Webserver\Lib\FATFs\diskio.c"></File><File path="Projects\Webserver\Lib\FATFs\diskio.h"></File><File path="Projects\Webserver\Lib\FATFs\ff.c"></File><File path="Projects\Webserver\Lib\FATFs\ff.h"></File><File path="Projects\Webserver\Lib\FATFs\ffconf.h"></File><File path="Projects\Webserver\Lib\FATFs\integer.h"></File></Folder><File path="Projects\Webserver\Lib\DataflashManager.c"></File><File path="Projects\Webserver\Lib\DataflashManager.h"></File><File path="Projects\Webserver\Lib\uIPManagement.c"></File><File path="Projects\Webserver\Lib\uIPManagement.h"></File><File path="Projects\Webserver\Lib\HTTPServerApp.c"></File><File path="Projects\Webserver\Lib\HTTPServerApp.h"></File><File path="Projects\Webserver\Lib\SCSI.c"></File><File path="Projects\Webserver\Lib\SCSI.h"></File><File path="Projects\Webserver\Lib\DHCPClientApp.c"></File><File path="Projects\Webserver\Lib\DHCPClientApp.h"></File><File path="Projects\Webserver\Lib\TELNETServerApp.c"></File><File path="Projects\Webserver\Lib\TELNETServerApp.h"></File></Folder><File path="Projects\Webserver\makefile"></File><File path="Projects\Webserver\Webserver.c"></File><File path="Projects\Webserver\Webserver.h"></File><File path="Projects\Webserver\Doxygen.conf"></File><File path="Projects\Webserver\Webserver.txt"></File><File path="Projects\Webserver\Descriptors.c"></File><File path="Projects\Webserver\Descriptors.h"></File><File path="Projects\Webserver\USBHostMode.c"></File><File path="Projects\Webserver\USBHostMode.h"></File><File path="Projects\Webserver\USBDeviceMode.c"></File><File path="Projects\Webserver\USBDeviceMode.h"></File><File path="Projects\Webserver\Webserver.aps"></File></Folder><Folder name="XPLAINBridge"><Folder name="Lib"><File path="Projects\XPLAINBridge\Lib\SoftUART.c"></File><File path="Projects\XPLAINBridge\Lib\SoftUART.h"></File></Folder><File path="Projects\XPLAINBridge\XPLAINBridge.txt"></File><File path="Projects\XPLAINBridge\XPLAINBridge.h"></File><File path="Projects\XPLAINBridge\XPLAINBridge.c"></File><File path="Projects\XPLAINBridge\XPLAINBridge.aps"></File><File path="Projects\XPLAINBridge\USARTDescriptors.h"></File><File path="Projects\XPLAINBridge\USARTDescriptors.c"></File><File path="Projects\XPLAINBridge\makefile"></File><File path="Projects\XPLAINBridge\LUFA XPLAIN Bridge.inf"></File><File path="Projects\XPLAINBridge\Doxygen.conf"></File><File path="Projects\XPLAINBridge\AVRISPDescriptors.h"></File><File path="Projects\XPLAINBridge\AVRISPDescriptors.c"></File></Folder><Folder name="Incomplete"><Folder name="StandaloneProgrammer"><Folder name="Lib"><Folder name="PetiteFATFs"><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\diskio.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\diskio.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\integer.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\pff.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\PetiteFATFs\pff.h"></File></Folder><File path="Projects\Incomplete\StandaloneProgrammer\Lib\DataflashManager.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\DataflashManager.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\SCSI.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\SCSI.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\ProgrammerConfig.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Lib\ProgrammerConfig.h"></File></Folder><File path="Projects\Incomplete\StandaloneProgrammer\Descriptors.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\Descriptors.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\makefile"></File><File path="Projects\Incomplete\StandaloneProgrammer\StandaloneProgrammer.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\StandaloneProgrammer.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\DiskDevice.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\DiskDevice.h"></File><File path="Projects\Incomplete\StandaloneProgrammer\DiskHost.c"></File><File path="Projects\Incomplete\StandaloneProgrammer\DiskHost.h"></File></Folder></Folder><File path="Projects\makefile"></File></Folder><File path="makefile"></File><File path="README.txt"></File></Project>
\ No newline at end of file
diff --git a/LUFA/CodeTemplates/makefile_template b/LUFA/CodeTemplates/makefile_template
index 33b47e0bbfe91c390d30f5fc7873272f73f3598e..adf5e54dd291187ef05d4151e3d794a0d4d5c71c 100644
--- a/LUFA/CodeTemplates/makefile_template
+++ b/LUFA/CodeTemplates/makefile_template
@@ -63,6 +63,10 @@
 MCU = ### INSERT NAME OF MICROCONTROLLER MODEL HERE ###
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = ## INSERT NAME OF ARCHITECTURE HERE ##
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called 
 # "Board" inside the application directory.
diff --git a/LUFA/Common/Architectures.h b/LUFA/Common/Architectures.h
new file mode 100644
index 0000000000000000000000000000000000000000..8bf9c7cac4a8266053a1b3074403478208f8c702
--- /dev/null
+++ b/LUFA/Common/Architectures.h
@@ -0,0 +1,74 @@
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2011.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+/*
+  Copyright 2011  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 disclaim 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.
+*/
+
+/** \file
+ *  \brief Supported architecture defines.
+ *
+ *  This file contains constants which can be passed to the compiler (via setting the macro ARCH) in the
+ *  user project makefile using the -D option to configure the library drivers.
+ *
+ *  \note Do not include this file directly, rather include the Common.h header file instead to gain this file's
+ *        functionality.
+ */
+
+/** \ingroup Group_Common
+ *  \defgroup Group_Architectures Hardware Architectures
+ *
+ *  Macros for indicating the chosen hardware architecture to the library. These macros should be used when
+ *  defining the ARCH token to the chosen hardware via the -D switch in the project makefile.
+ *
+ *  @{
+ */
+
+#ifndef __LUFA_ARCHITECTURES_H__
+#define __LUFA_ARCHITECTURES_H__
+
+	/* Preprocessor Checks: */
+		#if !defined(__INCLUDE_FROM_COMMON_H)
+			#error Do not include this file directly. Include LUFA/Common/Common.h instead to gain this functionality.
+		#endif
+
+	/* Public Interface - May be used in end-application: */
+		/* Macros: */
+			/** Selects the Atmel 8-bit AVR (AT90USB* and ATMEGA*U* chips) architecture. */
+			#define ARCH_AVR8           1
+
+			#if !defined(__DOXYGEN__)
+				#define ARCH_           ARCH_AVR8
+
+				#if !defined(ARCH)
+					#define ARCH        ARCH_AVR8
+				#endif
+			#endif
+
+#endif
+
+/** @} */
+
diff --git a/LUFA/Common/Attributes.h b/LUFA/Common/Attributes.h
index 67a3166b2101d6491cd533bf694d31912ca2176e..ff4058cf118ed060250b0222f15a60bde2d44795 100644
--- a/LUFA/Common/Attributes.h
+++ b/LUFA/Common/Attributes.h
@@ -44,7 +44,7 @@
  */
 
 /** \ingroup Group_Common
- *  @defgroup Group_GCCAttr Function/Variable Attributes
+ *  \defgroup Group_GCCAttr Function/Variable Attributes
  *
  *  Macros for easy access GCC function and variable attributes, which can be applied to function prototypes or
  *  variable attributes.
@@ -52,11 +52,11 @@
  *  @{
  */
 
-#ifndef __FUNCATTR_H__
-#define __FUNCATTR_H__
+#ifndef __LUFA_FUNCATTR_H__
+#define __LUFA_FUNCATTR_H__
 
 	/* Preprocessor Checks: */
-		#if !defined(__COMMON_H__)
+		#if !defined(__INCLUDE_FROM_COMMON_H)
 			#error Do not include this file directly. Include LUFA/Common/Common.h instead to gain this functionality.
 		#endif
 
diff --git a/LUFA/Common/BoardTypes.h b/LUFA/Common/BoardTypes.h
index 264908fe2c2ab643b72090e87894c3c0d6d43633..7d9162262241848bae68025018f0cc903a880420 100644
--- a/LUFA/Common/BoardTypes.h
+++ b/LUFA/Common/BoardTypes.h
@@ -39,7 +39,7 @@
  */
 
 /** \ingroup Group_Common
- *  @defgroup Group_BoardTypes Board Types
+ *  \defgroup Group_BoardTypes Board Types
  *
  *  Macros for indicating the chosen physical board hardware to the library. These macros should be used when
  *  defining the BOARD token to the chosen hardware via the -D switch in the project makefile.
@@ -47,11 +47,11 @@
  *  @{
  */
 
-#ifndef __BOARDTYPES_H__
-#define __BOARDTYPES_H__
+#ifndef __LUFA_BOARDTYPES_H__
+#define __LUFA_BOARDTYPES_H__
 
 	/* Preprocessor Checks: */
-		#if !defined(__COMMON_H__)
+		#if !defined(__INCLUDE_FROM_COMMON_H)
 			#error Do not include this file directly. Include LUFA/Common/Common.h instead to gain this functionality.
 		#endif
 
diff --git a/LUFA/Common/Common.h b/LUFA/Common/Common.h
index c1aa27a5f447098575ad44d301a96ca3fab35791..3afb60d0089137dac090ed7bf846bc7440c15e59 100644
--- a/LUFA/Common/Common.h
+++ b/LUFA/Common/Common.h
@@ -35,7 +35,7 @@
  *  also includes other common code headers.
  */
 
-/** @defgroup Group_Common Common Utility Headers - LUFA/Drivers/Common/Common.h
+/** \defgroup Group_Common Common Utility Headers - LUFA/Drivers/Common/Common.h
  *
  *  Common utility headers containing macros, functions, enums and types which are common to all
  *  aspects of the library.
@@ -43,25 +43,41 @@
  *  @{
  */
 
-/** @defgroup Group_Debugging Debugging Macros
+/** \defgroup Group_Debugging Debugging Macros
  *
  *  Macros for debugging use.
  */
 
-/** @defgroup Group_BitManip Endian and Bit Macros
+/** \defgroup Group_BitManip Endian and Bit Macros
  *
  *  Functions for swapping endianness and reversing bit orders.
  */
 
-#ifndef __COMMON_H__
-#define __COMMON_H__
+#ifndef __LUFA_COMMON_H__
+#define __LUFA_COMMON_H__
 
+	/* Macros: */
+		#if !defined(__DOXYGEN__)
+			#define __INCLUDE_FROM_COMMON_H
+		#endif
+		
 	/* Includes: */
 		#include <stdint.h>
 		#include <stdbool.h>
 
+		#include "Architectures.h"
 		#include "Attributes.h"
 		#include "BoardTypes.h"
+		
+	/* Architecture specific utility includes: */
+		#if (ARCH == ARCH_AVR8)
+			#include <avr/io.h>
+			#include <avr/interrupt.h>
+			#include <avr/pgmspace.h>
+			#include <avr/eeprom.h>
+			#include <util/atomic.h>
+			#include <util/delay.h>
+		#endif
 
 	/* Public Interface - May be used in end-application: */
 		/* Macros: */
@@ -89,7 +105,9 @@
 			 *
 			 *  \return The larger of the two input parameters
 			 */
-			#define MAX(x, y)               ((x > y) ? x : y)
+			#if !defined(MAX) || defined(__DOXYGEN__)
+				#define MAX(x, y)               ((x > y) ? x : y)
+			#endif
 
 			/** Convenience macro to determine the smaller of two values.
 			 *
@@ -101,44 +119,61 @@
 			 *
 			 *  \return The smaller of the two input parameters
 			 */
-			#define MIN(x, y)               ((x < y) ? x : y)
-
-			/** Defines a volatile \c NOP statement which cannot be optimized out by the compiler, and thus can always
-			 *  be set as a breakpoint in the resulting code. Useful for debugging purposes, where the optimiser
-			 *  removes/reorders code to the point where break points cannot reliably be set.
-			 *
-			 *  \ingroup Group_Debugging
-			 */
-			#define JTAG_DEBUG_POINT()      __asm__ __volatile__ ("NOP" ::)
+			#if !defined(MIN) || defined(__DOXYGEN__)
+				#define MIN(x, y)               ((x < y) ? x : y)
+			#endif
 
-			/** Defines an explicit JTAG break point in the resulting binary via the assembly \c BREAK statement. When
-			 *  a JTAG is used, this causes the program execution to halt when reached until manually resumed.
-			 *
-			 *  \ingroup Group_Debugging
-			 */
-			#define JTAG_DEBUG_BREAK()      __asm__ __volatile__ ("BREAK" ::)
+			#if (ARCH == ARCH_AVR8)
+				/** Defines a volatile \c NOP statement which cannot be optimized out by the compiler, and thus can always
+				 *  be set as a breakpoint in the resulting code. Useful for debugging purposes, where the optimiser
+				 *  removes/reorders code to the point where break points cannot reliably be set.
+				 *
+				 *  \ingroup Group_Debugging
+				 */
+				#define JTAG_DEBUG_POINT()      __asm__ __volatile__ ("NOP" ::)
 
-			/** Macro for testing condition "x" and breaking via \ref JTAG_DEBUG_BREAK() if the condition is false.
-			 *
-			 *  \param[in] Condition  Condition that will be evaluated,
-			 *
-			 *  \ingroup Group_Debugging
-			*/
-			#define JTAG_DEBUG_ASSERT(Condition)    MACROS{ if (!(Condition)) { JTAG_DEBUG_BREAK(); } }MACROE
+				/** Defines an explicit JTAG break point in the resulting binary via the assembly \c BREAK statement. When
+				 *  a JTAG is used, this causes the program execution to halt when reached until manually resumed.
+				 *
+				 *  \ingroup Group_Debugging
+				 */
+				#define JTAG_DEBUG_BREAK()      __asm__ __volatile__ ("BREAK" ::)
+
+				#if !defined(pgm_read_ptr) || defined(__DOXYGEN__)
+					/** Reads a pointer out of PROGMEM space. This is currently a wrapper for the avr-libc \c pgm_read_ptr()
+					 *  macro with a \c void* cast, so that its value can be assigned directly to a pointer variable or used
+					 *  in pointer arithmetic without further casting in C. In a future avr-libc distribution this will be
+					 *  part of the standard API and will be implemented in a more formal manner.
+					 *
+					 *  \param[in] Addr  Address of the pointer to read.
+					 *
+					 *  \return Pointer retrieved from PROGMEM space.
+					 */
+					#define pgm_read_ptr(Addr)    (void*)pgm_read_word(Addr)
+				#endif
+
+				/** Macro for testing condition "x" and breaking via \ref JTAG_DEBUG_BREAK() if the condition is false.
+				 *
+				 *  \param[in] Condition  Condition that will be evaluated,
+				 *
+				 *  \ingroup Group_Debugging
+				*/
+				#define JTAG_DEBUG_ASSERT(Condition)    MACROS{ if (!(Condition)) { JTAG_DEBUG_BREAK(); } }MACROE
 
-			/** Macro for testing condition "x" and writing debug data to the stdout stream if \c false. The stdout stream
-			 *  must be pre-initialized before this macro is run and linked to an output device, such as the AVR's USART
-			 *  peripheral.
-			 *
-			 *  The output takes the form "{FILENAME}: Function {FUNCTION NAME}, Line {LINE NUMBER}: Assertion {Condition} failed."
-			 *
-			 *  \param[in] Condition  Condition that will be evaluated,
-			 *
-			 *  \ingroup Group_Debugging
-			 */
-			#define STDOUT_ASSERT(Condition)        MACROS{ if (!(x)) { printf_P(PSTR("%s: Function \"%s\", Line %d: "   \
-			                                                "Assertion \"%s\" failed.\r\n"),     \
-			                                                __FILE__, __func__, __LINE__, #Condition); } }MACROE
+				/** Macro for testing condition "x" and writing debug data to the stdout stream if \c false. The stdout stream
+				 *  must be pre-initialized before this macro is run and linked to an output device, such as the AVR's USART
+				 *  peripheral.
+				 *
+				 *  The output takes the form "{FILENAME}: Function {FUNCTION NAME}, Line {LINE NUMBER}: Assertion {Condition} failed."
+				 *
+				 *  \param[in] Condition  Condition that will be evaluated,
+				 *
+				 *  \ingroup Group_Debugging
+				 */
+				#define STDOUT_ASSERT(Condition)        MACROS{ if (!(x)) { printf_P(PSTR("%s: Function \"%s\", Line %d: "   \
+				                                                "Assertion \"%s\" failed.\r\n"),     \
+				                                                __FILE__, __func__, __LINE__, #Condition); } }MACROE
+			#endif
 			
 			/** Forces GCC to use pointer indirection (via the AVR's pointer register pairs) when accessing the given
 			 *  struct pointer. In some cases GCC will emit non-optimal assembly code when accessing a structure through
@@ -150,19 +185,6 @@
 			 */
 			#define GCC_FORCE_POINTER_ACCESS(StructPtr) __asm__ __volatile__("" : "=b" (StructPtr) : "0" (StructPtr))
 
-			#if !defined(pgm_read_ptr) || defined(__DOXYGEN__)
-				/** Reads a pointer out of PROGMEM space. This is currently a wrapper for the avr-libc \c pgm_read_ptr()
-				 *  macro with a \c void* cast, so that its value can be assigned directly to a pointer variable or used
-				 *  in pointer arithmetic without further casting in C. In a future avr-libc distribution this will be
-				 *  part of the standard API and will be implemented in a more formal manner.
-				 *
-				 *  \param[in] Addr  Address of the pointer to read.
-				 *
-				 *  \return Pointer retrieved from PROGMEM space.
-				 */
-				#define pgm_read_ptr(Addr)    (void*)pgm_read_word(Addr)
-			#endif
-
 			/** Swaps the byte ordering of a 16-bit value at compile time. Do not use this macro for swapping byte orderings
 			 *  of dynamic values computed at runtime, use \ref SwapEndian_16() instead. The result of this macro can be used
 			 *  inside struct or other variable initializers outside of a function, something that is not possible with the
diff --git a/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h b/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h
index 4d38817d8c144662e21bc22a042acf4ea9a60da3..3f6a6cca456c67012e766bcd71c8d6cc41214e8f 100644
--- a/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h
+++ b/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_ADAFRUITU4 ADAFRUITU4
+ *  \defgroup Group_LEDs_ADAFRUITU4 ADAFRUITU4
  *
  *  Board specific LED driver header for the Adafruit U4 Breakout board (http://ladyada.net/products/atmega32u4breakout).
  *
diff --git a/LUFA/Drivers/Board/ATAVRUSBRF01/Buttons.h b/LUFA/Drivers/Board/ATAVRUSBRF01/Buttons.h
index 28ea0579269b107f83c61bac46ae71a4e139343f..568c0cb7da980ae6a23ffff6c02f34f7e56ac176 100644
--- a/LUFA/Drivers/Board/ATAVRUSBRF01/Buttons.h
+++ b/LUFA/Drivers/Board/ATAVRUSBRF01/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_ATAVRUSBRF01 ATAVRUSBRF01
+ *  \defgroup Group_Buttons_ATAVRUSBRF01 ATAVRUSBRF01
  *
  *  Board specific Buttons driver header for the Atmel ATAVRUSBRF01.
  *
diff --git a/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h b/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
index d6dde92da171f9e0c22bf65c1bd3649c7c8ca668..044042f0915fa27f5f0fc421b23d27197537c100 100644
--- a/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
+++ b/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_ATAVRUSBRF01 ATAVRUSBRF01
+ *  \defgroup Group_LEDs_ATAVRUSBRF01 ATAVRUSBRF01
  *
  *  Board specific LED driver header for the Atmel ATAVRUSBRF01.
  *
diff --git a/LUFA/Drivers/Board/BENITO/Buttons.h b/LUFA/Drivers/Board/BENITO/Buttons.h
index cf2a477caf1a3bdada536d5be759be2ab4dc0650..4e3d088204feeb7c9e8d6fa071684c03a30c1f63 100644
--- a/LUFA/Drivers/Board/BENITO/Buttons.h
+++ b/LUFA/Drivers/Board/BENITO/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_BENITO BENITO
+ *  \defgroup Group_Buttons_BENITO BENITO
  *
  *  Board specific Buttons driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
  *
diff --git a/LUFA/Drivers/Board/BENITO/LEDs.h b/LUFA/Drivers/Board/BENITO/LEDs.h
index 855ca01a360686967da0babecefe14941fe1b8e4..51593ec9ef9e30f43ef8e9006c4f4fc59bd07b47 100644
--- a/LUFA/Drivers/Board/BENITO/LEDs.h
+++ b/LUFA/Drivers/Board/BENITO/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_BENITO BENITO
+ *  \defgroup Group_LEDs_BENITO BENITO
  *
  *  Board specific LED driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
  *
diff --git a/LUFA/Drivers/Board/BLACKCAT/LEDs.h b/LUFA/Drivers/Board/BLACKCAT/LEDs.h
index 40c847333c97002a5680b6f5569b34a818dfb7df..e5c250cc4f55e535e11fbc309c000847cc18868f 100644
--- a/LUFA/Drivers/Board/BLACKCAT/LEDs.h
+++ b/LUFA/Drivers/Board/BLACKCAT/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_BLACKCAT BLACKCAT
+ *  \defgroup Group_LEDs_BLACKCAT BLACKCAT
  *
  *  Board specific LED driver header for the TCNISO Blackcat USB JTAG (http://www.embeddedcomputers.net/products/BlackcatUSB/.
  *
diff --git a/LUFA/Drivers/Board/BUI/LEDs.h b/LUFA/Drivers/Board/BUI/LEDs.h
index 6c2a36132f2c9baf2be2dd102bb8f7778da1cb6e..fa1a8b0c457acc10518a631e6235e28b508964f6 100644
--- a/LUFA/Drivers/Board/BUI/LEDs.h
+++ b/LUFA/Drivers/Board/BUI/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_BUI BUI
+ *  \defgroup Group_LEDs_BUI BUI
  *
  *  Board specific LED driver header for the Busware BUI (http://www.busware.de/tiki-index.php?page=BUI).
  *
diff --git a/LUFA/Drivers/Board/BUMBLEB/Buttons.h b/LUFA/Drivers/Board/BUMBLEB/Buttons.h
index 8b54f113bef9e1fc45ec837acf4b9a41c648b2ac..015ecf6d5ca56e33b24af8a3d55d5ef60edf9c6c 100644
--- a/LUFA/Drivers/Board/BUMBLEB/Buttons.h
+++ b/LUFA/Drivers/Board/BUMBLEB/Buttons.h
@@ -41,7 +41,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_BUMBLEB BUMBLEB
+ *  \defgroup Group_Buttons_BUMBLEB BUMBLEB
  *
  *  Board specific buttons driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
  *  third-party board does not include any on-board peripherals, but does have an officially recommended external peripheral
diff --git a/LUFA/Drivers/Board/BUMBLEB/Joystick.h b/LUFA/Drivers/Board/BUMBLEB/Joystick.h
index 4516bdb614340a56736fdda2a5748b4e9a1dfdcd..336863c387a2ff30393f12c4f26775d0fb9df6d2 100644
--- a/LUFA/Drivers/Board/BUMBLEB/Joystick.h
+++ b/LUFA/Drivers/Board/BUMBLEB/Joystick.h
@@ -41,7 +41,7 @@
  */
 
 /** \ingroup Group_Joystick
- *  @defgroup Group_Joystick_BUMBLEB BUMBLEB
+ *  \defgroup Group_Joystick_BUMBLEB BUMBLEB
  *
  *  Board specific joystick driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
  *  third-party board does not include any on-board peripherals, but does have an officially recommended external peripheral
diff --git a/LUFA/Drivers/Board/BUMBLEB/LEDs.h b/LUFA/Drivers/Board/BUMBLEB/LEDs.h
index b985340d000768b333aabdea81d1d9129d60af70..349ef38c6ac3fc52c58dc61d2661e326ce34a948 100644
--- a/LUFA/Drivers/Board/BUMBLEB/LEDs.h
+++ b/LUFA/Drivers/Board/BUMBLEB/LEDs.h
@@ -41,7 +41,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_BUMBLEB BUMBLEB
+ *  \defgroup Group_LEDs_BUMBLEB BUMBLEB
  *
  *  Board specific LED driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
  *  third-party board does not include any on-board peripherals, but does have an officially recommended external
diff --git a/LUFA/Drivers/Board/Buttons.h b/LUFA/Drivers/Board/Buttons.h
index 1e31059d420695e93043f70e71c27abd9f6363ee..686fe5ad9927d6b3a9313c093317814985a45c7c 100644
--- a/LUFA/Drivers/Board/Buttons.h
+++ b/LUFA/Drivers/Board/Buttons.h
@@ -44,7 +44,7 @@
  */
 
 /** \ingroup Group_BoardDrivers
- *  @defgroup Group_Buttons Buttons Driver - LUFA/Drivers/Board/Buttons.h
+ *  \defgroup Group_Buttons Buttons Driver - LUFA/Drivers/Board/Buttons.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
@@ -125,10 +125,8 @@
 		#include "MINIMUS/Buttons.h"
 	#elif (BOARD == BOARD_MICROSIN162)
 		#include "MICROSIN162/Buttons.h"
-	#elif (BOARD == BOARD_USER)
-		#include "Board/Buttons.h"
 	#else
-		#error The selected board does not contain any GPIO buttons.
+		#include "Board/Buttons.h"
 	#endif
 
 	/* Pseudo-Functions for Doxygen: */
diff --git a/LUFA/Drivers/Board/CULV3/Buttons.h b/LUFA/Drivers/Board/CULV3/Buttons.h
index 5ed6817d105d227c97699a5c24648255668c4322..fd98c775f7e4fcb0b808ba79f1a758f08f0d18e6 100644
--- a/LUFA/Drivers/Board/CULV3/Buttons.h
+++ b/LUFA/Drivers/Board/CULV3/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_CULV3 CULV3
+ *  \defgroup Group_LEDs_CULV3 CULV3
  *
  *  Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
  *
diff --git a/LUFA/Drivers/Board/CULV3/LEDs.h b/LUFA/Drivers/Board/CULV3/LEDs.h
index 3a2469d5cac39b819c086c8f4f58db91a5cfd8e2..c9d20b692dcad6c03a4ae08edcc58ab5104152e7 100644
--- a/LUFA/Drivers/Board/CULV3/LEDs.h
+++ b/LUFA/Drivers/Board/CULV3/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_CULV3 CULV3
+ *  \defgroup Group_LEDs_CULV3 CULV3
  *
  *  Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
  *
diff --git a/LUFA/Drivers/Board/Dataflash.h b/LUFA/Drivers/Board/Dataflash.h
index 852d81977d42c62a53d549e665e5fe84a08f08ae..06c1e62ac7883b62285a20fea863695118056a7b 100644
--- a/LUFA/Drivers/Board/Dataflash.h
+++ b/LUFA/Drivers/Board/Dataflash.h
@@ -44,7 +44,7 @@
  */
 
 /** \ingroup Group_BoardDrivers
- *  @defgroup Group_Dataflash Dataflash Driver - LUFA/Drivers/Board/Dataflash.h
+ *  \defgroup Group_Dataflash Dataflash Driver - LUFA/Drivers/Board/Dataflash.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
@@ -123,8 +123,8 @@
 	#endif
 
 	/* Includes: */
-	#include "../Peripheral/SPI.h"
 	#include "../../Common/Common.h"
+	#include "../Peripheral/SPI.h"
 
 	/* Enable C linkage for C++ Compilers: */
 		#if defined(__cplusplus)
@@ -247,10 +247,8 @@
 				#include "XPLAIN/Dataflash.h"
 			#elif (BOARD == BOARD_EVK527)
 				#include "EVK527/Dataflash.h"
-			#elif (BOARD == BOARD_USER)
-				#include "Board/Dataflash.h"
 			#else
-				#error The selected board does not contain a dataflash IC.
+				#include "Board/Dataflash.h"
 			#endif
 
 	/* Disable C linkage for C++ Compilers: */
diff --git a/LUFA/Drivers/Board/EVK527/AT45DB321C.h b/LUFA/Drivers/Board/EVK527/AT45DB321C.h
index c0d3589a56bbfc2c39dec27cbfb943ded0a2ba69..8d36ae3f423be0b3c4be3e7df1a40126efea02bf 100644
--- a/LUFA/Drivers/Board/EVK527/AT45DB321C.h
+++ b/LUFA/Drivers/Board/EVK527/AT45DB321C.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash_EVK527
- *  @defgroup Group_Dataflash_EVK527_AT45DB321C AT45DB321C
+ *  \defgroup Group_Dataflash_EVK527_AT45DB321C AT45DB321C
  *
  *  Board specific Dataflash commands header for the AT45DB321C as mounted on the Atmel EVK527.
  *
diff --git a/LUFA/Drivers/Board/EVK527/Buttons.h b/LUFA/Drivers/Board/EVK527/Buttons.h
index eff2f517922095dac8900130fb652729ccdf0622..f9b3da12e171bd8639fd8fa2765f7613f0d3ca7d 100644
--- a/LUFA/Drivers/Board/EVK527/Buttons.h
+++ b/LUFA/Drivers/Board/EVK527/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_EVK527 EVK527
+ *  \defgroup Group_Buttons_EVK527 EVK527
  *
  *  Board specific Buttons driver header for the Atmel EVK527.
  *
diff --git a/LUFA/Drivers/Board/EVK527/Dataflash.h b/LUFA/Drivers/Board/EVK527/Dataflash.h
index fdf49c1e812872df8737a5803b72a11091ad4fff..e9629e06df384252673a9f656e0517670d4201fa 100644
--- a/LUFA/Drivers/Board/EVK527/Dataflash.h
+++ b/LUFA/Drivers/Board/EVK527/Dataflash.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash
- *  @defgroup Group_Dataflash_EVK527 EVK527
+ *  \defgroup Group_Dataflash_EVK527 EVK527
  *
  *  Board specific Dataflash driver header for the Atmel EVK527.
  *
diff --git a/LUFA/Drivers/Board/EVK527/Joystick.h b/LUFA/Drivers/Board/EVK527/Joystick.h
index ec08b7a8b87eea76734f4af2e85aee90d240941f..c0255f459528a5197fabf93f66e45c15d5f3acd7 100644
--- a/LUFA/Drivers/Board/EVK527/Joystick.h
+++ b/LUFA/Drivers/Board/EVK527/Joystick.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Joystick
- *  @defgroup Group_Joystick_EVK527 EVK527
+ *  \defgroup Group_Joystick_EVK527 EVK527
  *
  *  Board specific joystick driver header for the Atmel EVK527.
  *
diff --git a/LUFA/Drivers/Board/EVK527/LEDs.h b/LUFA/Drivers/Board/EVK527/LEDs.h
index f5c78fdd7008173e9a03b211060979cafc316bf8..5f4670fa75062f40677e9973099c5282dff4abc5 100644
--- a/LUFA/Drivers/Board/EVK527/LEDs.h
+++ b/LUFA/Drivers/Board/EVK527/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_EVK527 EVK527
+ *  \defgroup Group_LEDs_EVK527 EVK527
  *
  *  Board specific LED driver header for the Atmel EVK527.
  *
diff --git a/LUFA/Drivers/Board/JMDBU2/Buttons.h b/LUFA/Drivers/Board/JMDBU2/Buttons.h
index 958664cae873db592f9b00652083960239136040..b5272ae75c953b1c4af7a42a236e1c32756074e9 100644
--- a/LUFA/Drivers/Board/JMDBU2/Buttons.h
+++ b/LUFA/Drivers/Board/JMDBU2/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_JMDBU2 JMDBU2
+ *  \defgroup Group_Buttons_JMDBU2 JMDBU2
  *
  *  Board specific Buttons driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
  *
diff --git a/LUFA/Drivers/Board/JMDBU2/LEDs.h b/LUFA/Drivers/Board/JMDBU2/LEDs.h
index 4c62a45f23308c0edad9ca9340e79d06407bbf64..a15e9f35cec6a78316b8ca794656463bae8fe583 100644
--- a/LUFA/Drivers/Board/JMDBU2/LEDs.h
+++ b/LUFA/Drivers/Board/JMDBU2/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_JMDBU2 JMDBU2
+ *  \defgroup Group_LEDs_JMDBU2 JMDBU2
  *
  *  Board specific LED driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
  *
diff --git a/LUFA/Drivers/Board/Joystick.h b/LUFA/Drivers/Board/Joystick.h
index f2298e9bd13f1ac3dccabe9265fb781a95f00366..a9448ffb7cdd1ea2f6a8b9f081ed57c351c46f6b 100644
--- a/LUFA/Drivers/Board/Joystick.h
+++ b/LUFA/Drivers/Board/Joystick.h
@@ -44,7 +44,7 @@
  */
 
 /** \ingroup Group_BoardDrivers
- *  @defgroup Group_Joystick Joystick Driver - LUFA/Drivers/Board/Joystick.h
+ *  \defgroup Group_Joystick Joystick Driver - LUFA/Drivers/Board/Joystick.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
@@ -113,10 +113,8 @@
 		#include "BUMBLEB/Joystick.h"
 	#elif (BOARD == BOARD_EVK527)
 		#include "EVK527/Joystick.h"
-	#elif (BOARD == BOARD_USER)
-		#include "Board/Joystick.h"
 	#else
-		#error The selected board does not contain a joystick.
+		#include "Board/Joystick.h"
 	#endif
 
 	/* Pseudo-Functions for Doxygen: */
diff --git a/LUFA/Drivers/Board/LEDs.h b/LUFA/Drivers/Board/LEDs.h
index 58cdffe51018bd82ce1ef2f0d495fb1bf937df64..9ef2ea1958326dbf97f42a083ae977d4da7ff661 100644
--- a/LUFA/Drivers/Board/LEDs.h
+++ b/LUFA/Drivers/Board/LEDs.h
@@ -44,7 +44,7 @@
  */
 
 /** \ingroup Group_BoardDrivers
- *  @defgroup Group_LEDs LEDs Driver - LUFA/Drivers/Board/LEDs.h
+ *  \defgroup Group_LEDs LEDs Driver - LUFA/Drivers/Board/LEDs.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
@@ -165,7 +165,7 @@
 		#include "MICROSIN162/LEDs.h"
 	#elif (BOARD == BOARD_SPARKFUN8U2)
 		#include "SPARKFUN8U2/LEDs.h"
-	#elif (BOARD == BOARD_USER)
+	#else
 		#include "Board/LEDs.h"
 	#endif
 
diff --git a/LUFA/Drivers/Board/MAXIMUS/LEDs.h b/LUFA/Drivers/Board/MAXIMUS/LEDs.h
index b6ec75089bd6389670fcf564b7a4b4e7e1881a6d..c3ead686b97dae4effd97479515179fccab17cbe 100644
--- a/LUFA/Drivers/Board/MAXIMUS/LEDs.h
+++ b/LUFA/Drivers/Board/MAXIMUS/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_MAXIMUS MAXIMUS
+ *  \defgroup Group_LEDs_MAXIMUS MAXIMUS
  *
  *  Board specific LED driver header for the Maximus (http://www.avrusb.com/).
  *
diff --git a/LUFA/Drivers/Board/MICROSIN162/Buttons.h b/LUFA/Drivers/Board/MICROSIN162/Buttons.h
index a8cff7e6b2cc6da1e4b632809a76233b8eb59400..a4d1637e547ab1d2745bfc7c0fa6b0b06fed92fb 100644
--- a/LUFA/Drivers/Board/MICROSIN162/Buttons.h
+++ b/LUFA/Drivers/Board/MICROSIN162/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_MICROSIN162 MICROSIN162
+ *  \defgroup Group_Buttons_MICROSIN162 MICROSIN162
  *
  *  Board specific Buttons driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).
  *
diff --git a/LUFA/Drivers/Board/MICROSIN162/LEDs.h b/LUFA/Drivers/Board/MICROSIN162/LEDs.h
index f988d7cce21f5379fab22adaf16fd484b4abad8c..8926e33fc66b052cf99397932348a3ae03760e4f 100644
--- a/LUFA/Drivers/Board/MICROSIN162/LEDs.h
+++ b/LUFA/Drivers/Board/MICROSIN162/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_MICROSIN162 MICROSIN162
+ *  \defgroup Group_LEDs_MICROSIN162 MICROSIN162
  *
  *  Board specific LED driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).
  *
diff --git a/LUFA/Drivers/Board/MINIMUS/Buttons.h b/LUFA/Drivers/Board/MINIMUS/Buttons.h
index f421f73ffe5738db12e71e83b2d7baac83fb29be..9b3016fa3fc893de083af4ca89866315cd3a43d5 100644
--- a/LUFA/Drivers/Board/MINIMUS/Buttons.h
+++ b/LUFA/Drivers/Board/MINIMUS/Buttons.h
@@ -38,7 +38,7 @@
  */
  
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_MINIMUS MINIMUS
+ *  \defgroup Group_Buttons_MINIMUS MINIMUS
  *
  *  Board specific Buttons driver header for the MINIMUS.
  *
diff --git a/LUFA/Drivers/Board/MINIMUS/LEDs.h b/LUFA/Drivers/Board/MINIMUS/LEDs.h
index 83338576a5561c5403c1d99b240861acce62b5fc..524e6285366ca09f8f43c27946f86d321d499ade 100644
--- a/LUFA/Drivers/Board/MINIMUS/LEDs.h
+++ b/LUFA/Drivers/Board/MINIMUS/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_MINIMUS MINIMUS
+ *  \defgroup Group_LEDs_MINIMUS MINIMUS
  *
  *  Board specific LED driver header for the Minimus USB (http://www.minimususb.com/).
  *
diff --git a/LUFA/Drivers/Board/OLIMEX162/Buttons.h b/LUFA/Drivers/Board/OLIMEX162/Buttons.h
index 322eaa37b2613fafaf94383faf710f8b2832f96b..e52dadf1416abf4ea94d5347782bf09c76375fc6 100644
--- a/LUFA/Drivers/Board/OLIMEX162/Buttons.h
+++ b/LUFA/Drivers/Board/OLIMEX162/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_OLIMEX162 OLIMEX162
+ *  \defgroup Group_Buttons_OLIMEX162 OLIMEX162
  *
  *  Board specific Buttons driver header for the Olimex AVR-USB-162 Development Board (http://www.olimex.com/dev/avr-usb-162.html).
  *
diff --git a/LUFA/Drivers/Board/OLIMEX162/LEDs.h b/LUFA/Drivers/Board/OLIMEX162/LEDs.h
index 5605096f7bd8a624b2c8f9eab0421385777ddd16..d13418a3cf72984c3b963376f2834c6c6efb0fed 100644
--- a/LUFA/Drivers/Board/OLIMEX162/LEDs.h
+++ b/LUFA/Drivers/Board/OLIMEX162/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_OLIMEX162 OLIMEX162
+ *  \defgroup Group_LEDs_OLIMEX162 OLIMEX162
  *
  *  Board specific LED driver header for the Olimex AVR-USB-162 (http://www.olimex.com/dev/avr-usb-162.html).
  *
diff --git a/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h b/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h
index 4012e5b68af0a88c1069df8ea793603dc9554f17..adaa9cd9a3218e15eab90336cb68c28ab800f7c9 100644
--- a/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h
+++ b/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_RZUSBSTICK RZUSBSTICK
+ *  \defgroup Group_LEDs_RZUSBSTICK RZUSBSTICK
  *
  *  Board specific LED driver header for the Atmel RZUSBSTICK.
  *
diff --git a/LUFA/Drivers/Board/SPARKFUN8U2/LEDs.h b/LUFA/Drivers/Board/SPARKFUN8U2/LEDs.h
index e3682c7607519d5d749fec7338fcfdb95427cf88..2a3961edb27411f17707df387539ed5f52729fbe 100644
--- a/LUFA/Drivers/Board/SPARKFUN8U2/LEDs.h
+++ b/LUFA/Drivers/Board/SPARKFUN8U2/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_SPARKFUN8U2 SPARKFUN8U2
+ *  \defgroup Group_LEDs_SPARKFUN8U2 SPARKFUN8U2
  *
  * Board specific LED driver header for the Sparkfun ATMEGA8U2 breakout board (http://www.sparkfun.com/products/10277).
  *
diff --git a/LUFA/Drivers/Board/STK525/AT45DB321C.h b/LUFA/Drivers/Board/STK525/AT45DB321C.h
index ea5c8d2544d3fe0073e8f51f7d721e1dd6266800..074fc37dfadac64927a326d903bfdc3fde8bc06e 100644
--- a/LUFA/Drivers/Board/STK525/AT45DB321C.h
+++ b/LUFA/Drivers/Board/STK525/AT45DB321C.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash_STK525
- *  @defgroup Group_Dataflash_STK525_AT45DB321C AT45DB321C
+ *  \defgroup Group_Dataflash_STK525_AT45DB321C AT45DB321C
  *
  *  Board specific Dataflash commands header for the AT45DB321C as mounted on the Atmel STK525.
  *
diff --git a/LUFA/Drivers/Board/STK525/Buttons.h b/LUFA/Drivers/Board/STK525/Buttons.h
index dd9caee396aee895ef059212ae8e75448331a6ec..f18c2a1a8e762a5779cd78ab5bfa671d125c6724 100644
--- a/LUFA/Drivers/Board/STK525/Buttons.h
+++ b/LUFA/Drivers/Board/STK525/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_STK525 STK525
+ *  \defgroup Group_Buttons_STK525 STK525
  *
  *  Board specific Buttons driver header for the Atmel STK525.
  *
diff --git a/LUFA/Drivers/Board/STK525/Dataflash.h b/LUFA/Drivers/Board/STK525/Dataflash.h
index 54cdcbde8f9e3c5f1f6116856258d7593e9068ee..ec3246c5e2cd6cc3d81ae930c0e6fee9d9226092 100644
--- a/LUFA/Drivers/Board/STK525/Dataflash.h
+++ b/LUFA/Drivers/Board/STK525/Dataflash.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash
- *  @defgroup Group_Dataflash_STK525 STK525
+ *  \defgroup Group_Dataflash_STK525 STK525
  *
  *  Board specific Dataflash driver header for the Atmel STK525.
  *
diff --git a/LUFA/Drivers/Board/STK525/Joystick.h b/LUFA/Drivers/Board/STK525/Joystick.h
index d42fd0493fca53aa61ce0c63eb15ba994082cb2c..2baedb0b954df4571c0a0612e1afb4a0adba2958 100644
--- a/LUFA/Drivers/Board/STK525/Joystick.h
+++ b/LUFA/Drivers/Board/STK525/Joystick.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Joystick
- *  @defgroup Group_Joystick_STK525 STK525
+ *  \defgroup Group_Joystick_STK525 STK525
  *
  *  Board specific joystick driver header for the Atmel STK525.
  *
diff --git a/LUFA/Drivers/Board/STK525/LEDs.h b/LUFA/Drivers/Board/STK525/LEDs.h
index 3aa62100b68b00e31afe5f739bfe82aef0c25366..cacd3195f8945c110b424248e6da3bea60660200 100644
--- a/LUFA/Drivers/Board/STK525/LEDs.h
+++ b/LUFA/Drivers/Board/STK525/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_STK525 STK525
+ *  \defgroup Group_LEDs_STK525 STK525
  *
  *  Board specific LED driver header for the Atmel STK525.
  *
diff --git a/LUFA/Drivers/Board/STK526/AT45DB642D.h b/LUFA/Drivers/Board/STK526/AT45DB642D.h
index 589613c05e334fdcf03e98a69839da6ad340f992..10344d4e96225948e0f398ac44220b2dc39034a4 100644
--- a/LUFA/Drivers/Board/STK526/AT45DB642D.h
+++ b/LUFA/Drivers/Board/STK526/AT45DB642D.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash_STK526
- *  @defgroup Group_Dataflash_STK526_AT45DB642D AT45DB642D
+ *  \defgroup Group_Dataflash_STK526_AT45DB642D AT45DB642D
  *
  *  Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel STK526.
  *
diff --git a/LUFA/Drivers/Board/STK526/Buttons.h b/LUFA/Drivers/Board/STK526/Buttons.h
index 274869a75d5b4ca093558056e930893267c8045a..afbb3fab532c9c55a05f04b9972ba1734e68343d 100644
--- a/LUFA/Drivers/Board/STK526/Buttons.h
+++ b/LUFA/Drivers/Board/STK526/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_STK526 STK526
+ *  \defgroup Group_Buttons_STK526 STK526
  *
  *  Board specific Buttons driver header for the Atmel STK526.
  *
diff --git a/LUFA/Drivers/Board/STK526/Dataflash.h b/LUFA/Drivers/Board/STK526/Dataflash.h
index f51073511c120c07b8dc1075a8f4903f8a436026..b0ceecd64ea981c74a337db93921c0edb47fdc5a 100644
--- a/LUFA/Drivers/Board/STK526/Dataflash.h
+++ b/LUFA/Drivers/Board/STK526/Dataflash.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash
- *  @defgroup Group_Dataflash_STK526 STK526
+ *  \defgroup Group_Dataflash_STK526 STK526
  *
  *  Board specific Dataflash driver header for the Atmel STK525.
  *
diff --git a/LUFA/Drivers/Board/STK526/Joystick.h b/LUFA/Drivers/Board/STK526/Joystick.h
index 7605a8f20fb37498cd361f5f8f8da0e829239e00..6d54545e8bb6832c1105b694fde46a8edaf59dbd 100644
--- a/LUFA/Drivers/Board/STK526/Joystick.h
+++ b/LUFA/Drivers/Board/STK526/Joystick.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Joystick
- *  @defgroup Group_Joystick_STK526 STK526
+ *  \defgroup Group_Joystick_STK526 STK526
  *
  *  Board specific joystick driver header for the Atmel STK526.
  *
diff --git a/LUFA/Drivers/Board/STK526/LEDs.h b/LUFA/Drivers/Board/STK526/LEDs.h
index e4b0fca842c246deacdd39383cb9803850cdf999..3ec9bd394c9bd2b80626fe4dc67a3769b93e3429 100644
--- a/LUFA/Drivers/Board/STK526/LEDs.h
+++ b/LUFA/Drivers/Board/STK526/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_STK526 STK526
+ *  \defgroup Group_LEDs_STK526 STK526
  *
  *  Board specific LED driver header for the Atmel STK526.
  *
diff --git a/LUFA/Drivers/Board/TEENSY/LEDs.h b/LUFA/Drivers/Board/TEENSY/LEDs.h
index 93b56ef5289d46dda5fa9683be7da79de0bd627b..551cdc2c65931a1d6d24813aba2cba449b65bf05 100644
--- a/LUFA/Drivers/Board/TEENSY/LEDs.h
+++ b/LUFA/Drivers/Board/TEENSY/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_TEENSY TEENSY
+ *  \defgroup Group_LEDs_TEENSY TEENSY
  *
  *  Board specific LED driver header for the PJRC Teensy boards (http://www.pjrc.com/teensy/index.html).
  *
diff --git a/LUFA/Drivers/Board/Temperature.h b/LUFA/Drivers/Board/Temperature.h
index a87327571f26e8217e105aab6e73c1b7298192b6..f7a2b6d879a9e25a0eee572207617645d072bcda 100644
--- a/LUFA/Drivers/Board/Temperature.h
+++ b/LUFA/Drivers/Board/Temperature.h
@@ -35,7 +35,7 @@
  */
 
 /** \ingroup Group_BoardDrivers
- *  @defgroup Group_Temperature Temperature Sensor Driver - LUFA/Drivers/Board/Temperature.h
+ *  \defgroup Group_Temperature Temperature Sensor Driver - LUFA/Drivers/Board/Temperature.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
@@ -67,8 +67,6 @@
 #define __TEMPERATURE_H__
 
 	/* Includes: */
-		#include <avr/pgmspace.h>
-
 		#include "../../Common/Common.h"
 		#include "../Peripheral/ADC.h"
 
@@ -77,7 +75,7 @@
 		#elif ((BOARD != BOARD_USBKEY) && (BOARD != BOARD_STK525) && \
 		       (BOARD != BOARD_STK526) && (BOARD != BOARD_USER) &&   \
 			   (BOARD != BOARD_EVK527))
-			#error The selected board does not contain a temperature sensor.
+			#error The selected board does not contain a compatible temperature sensor.
 		#endif
 
 	/* Enable C linkage for C++ Compilers: */
diff --git a/LUFA/Drivers/Board/UDIP/Buttons.h b/LUFA/Drivers/Board/UDIP/Buttons.h
index 782235e6cafea47bdc64549948157412ec1fb36d..6a232bd1b87c15c0d9df38a259493bfde8eaab92 100644
--- a/LUFA/Drivers/Board/UDIP/Buttons.h
+++ b/LUFA/Drivers/Board/UDIP/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_UDIP UDIP
+ *  \defgroup Group_Buttons_UDIP UDIP
  *
  *  Board specific Buttons driver header for the Linnix UDIP (http://linnix.com/udip/).
  *
diff --git a/LUFA/Drivers/Board/UDIP/LEDs.h b/LUFA/Drivers/Board/UDIP/LEDs.h
index 0001940a6e13ef348a26d6bd73b3843aa0f725e0..6f0e56971d5e3f1888d1f21d7a357ad7fa099c11 100644
--- a/LUFA/Drivers/Board/UDIP/LEDs.h
+++ b/LUFA/Drivers/Board/UDIP/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_UDIP UDIP
+ *  \defgroup Group_LEDs_UDIP UDIP
  *
  *  Board specific LED driver header for the Linnix UDIP (http://linnix.com/udip/).
  *
diff --git a/LUFA/Drivers/Board/UNO/LEDs.h b/LUFA/Drivers/Board/UNO/LEDs.h
index f21abfc4bac9b7be0d3e8b99a97315691073ea15..0b5413d90512efebac63bdf18071c5cc1ae20482 100644
--- a/LUFA/Drivers/Board/UNO/LEDs.h
+++ b/LUFA/Drivers/Board/UNO/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_UNO UNO
+ *  \defgroup Group_LEDs_UNO UNO
  *
  *  Board specific LED driver header for the Arduino Uno (http://arduino.cc/en/Main/ArduinoBoardUno).
  *
diff --git a/LUFA/Drivers/Board/USBFOO/Buttons.h b/LUFA/Drivers/Board/USBFOO/Buttons.h
index 87fdd7b88607a6505b1c4340a5007250fee67d84..8f79a92e995899602b590af1f87da2a6c9d702db 100644
--- a/LUFA/Drivers/Board/USBFOO/Buttons.h
+++ b/LUFA/Drivers/Board/USBFOO/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_USBFOO USBFOO
+ *  \defgroup Group_Buttons_USBFOO USBFOO
  *
  *  Board specific Buttons driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
  *
diff --git a/LUFA/Drivers/Board/USBFOO/LEDS.h b/LUFA/Drivers/Board/USBFOO/LEDS.h
index 585bcef31afb99fe591d5ef37b8b3400841c1342..07346e498c358503a2140ec71c38e50cbdac5b04 100644
--- a/LUFA/Drivers/Board/USBFOO/LEDS.h
+++ b/LUFA/Drivers/Board/USBFOO/LEDS.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_USBFOO USBFOO
+ *  \defgroup Group_LEDs_USBFOO USBFOO
  *
  *  Board specific LED driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
  *
diff --git a/LUFA/Drivers/Board/USBKEY/AT45DB642D.h b/LUFA/Drivers/Board/USBKEY/AT45DB642D.h
index e603654809e22c0fc0cd3e8f76e022f42b962ba4..f09a7b533f74e59a782c637f89cbdc96a118b5ac 100644
--- a/LUFA/Drivers/Board/USBKEY/AT45DB642D.h
+++ b/LUFA/Drivers/Board/USBKEY/AT45DB642D.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash_USBKEY
- *  @defgroup Group_Dataflash_USBKEY_AT45DB642D AT45DB642D
+ *  \defgroup Group_Dataflash_USBKEY_AT45DB642D AT45DB642D
  *
  *  Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel USBKEY.
  *
diff --git a/LUFA/Drivers/Board/USBKEY/Buttons.h b/LUFA/Drivers/Board/USBKEY/Buttons.h
index d9dfd6281e88d79da72c4bd61cb1ae341e51e272..2018cb0c38f23662b6cfb05fa0b3ed3089f3135f 100644
--- a/LUFA/Drivers/Board/USBKEY/Buttons.h
+++ b/LUFA/Drivers/Board/USBKEY/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_USBKEY USBKEY
+ *  \defgroup Group_Buttons_USBKEY USBKEY
  *
  *  Board specific Buttons driver header for the Atmel USBKEY.
  *
diff --git a/LUFA/Drivers/Board/USBKEY/Dataflash.h b/LUFA/Drivers/Board/USBKEY/Dataflash.h
index 69ac90d8c6e5ed2f78765a47ed102f3bc707c46c..892cfcfe3a76829c993c8074a2efa604352be96c 100644
--- a/LUFA/Drivers/Board/USBKEY/Dataflash.h
+++ b/LUFA/Drivers/Board/USBKEY/Dataflash.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash
- *  @defgroup Group_Dataflash_USBKEY USBKEY
+ *  \defgroup Group_Dataflash_USBKEY USBKEY
  *
  *  Board specific Dataflash driver header for the Atmel USBKEY board.
  *
diff --git a/LUFA/Drivers/Board/USBKEY/Joystick.h b/LUFA/Drivers/Board/USBKEY/Joystick.h
index 8c47db9650ce376fe28a3c4a10012a5e8c2f00ab..90cbf7f69ff186662d9926e3af4f007b512d1185 100644
--- a/LUFA/Drivers/Board/USBKEY/Joystick.h
+++ b/LUFA/Drivers/Board/USBKEY/Joystick.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Joystick
- *  @defgroup Group_Joystick_USBKEY USBKEY
+ *  \defgroup Group_Joystick_USBKEY USBKEY
  *
  *  Board specific joystick driver header for the Atmel USBKEY.
  *
diff --git a/LUFA/Drivers/Board/USBKEY/LEDs.h b/LUFA/Drivers/Board/USBKEY/LEDs.h
index 588511bf106044ccfd07fe53992160d5e927b248..31722319eebef7f551b2dc9975b4cf1a02f956eb 100644
--- a/LUFA/Drivers/Board/USBKEY/LEDs.h
+++ b/LUFA/Drivers/Board/USBKEY/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_USBKEY USBKEY
+ *  \defgroup Group_LEDs_USBKEY USBKEY
  *
  *  Board specific LED driver header for the Atmel USBKEY.
  *
diff --git a/LUFA/Drivers/Board/USBTINYMKII/Buttons.h b/LUFA/Drivers/Board/USBTINYMKII/Buttons.h
index dc2e9a256843660bfb75be7cdddaf58370373fb8..b5493ab2d225ce0a002ad2f2298cb933361e31fd 100644
--- a/LUFA/Drivers/Board/USBTINYMKII/Buttons.h
+++ b/LUFA/Drivers/Board/USBTINYMKII/Buttons.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Buttons
- *  @defgroup Group_Buttons_USBTINYMKII USBTINYMKII
+ *  \defgroup Group_Buttons_USBTINYMKII USBTINYMKII
  *
  *  Board specific Buttons driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
  *
diff --git a/LUFA/Drivers/Board/USBTINYMKII/LEDs.h b/LUFA/Drivers/Board/USBTINYMKII/LEDs.h
index c836bd0ffcdbdb548833c75978fd31376841b76a..65f1117e299a4d369fe7519153604e3cf1407409 100644
--- a/LUFA/Drivers/Board/USBTINYMKII/LEDs.h
+++ b/LUFA/Drivers/Board/USBTINYMKII/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_USBTINYMKII USBTINYMKII
+ *  \defgroup Group_LEDs_USBTINYMKII USBTINYMKII
  *
  *  Board specific LED driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
  *
diff --git a/LUFA/Drivers/Board/XPLAIN/AT45DB642D.h b/LUFA/Drivers/Board/XPLAIN/AT45DB642D.h
index 7aa1157940be2278cda5ff31a9b9ca42f6662a73..0fbb380a2c3ab0af16ad1e92d59f20888fa84f23 100644
--- a/LUFA/Drivers/Board/XPLAIN/AT45DB642D.h
+++ b/LUFA/Drivers/Board/XPLAIN/AT45DB642D.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash_XPLAIN
- *  @defgroup Group_Dataflash_XPLAIN_AT45DB642D AT45DB642D
+ *  \defgroup Group_Dataflash_XPLAIN_AT45DB642D AT45DB642D
  *
  *  Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel XPLAIN.
  *
diff --git a/LUFA/Drivers/Board/XPLAIN/Dataflash.h b/LUFA/Drivers/Board/XPLAIN/Dataflash.h
index 6ea43fd32fb22061c648aefe24a397db544f79aa..065145280cb3d432653e237a513623de7c7b31f5 100644
--- a/LUFA/Drivers/Board/XPLAIN/Dataflash.h
+++ b/LUFA/Drivers/Board/XPLAIN/Dataflash.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_Dataflash
- *  @defgroup Group_Dataflash_XPLAIN XPLAIN
+ *  \defgroup Group_Dataflash_XPLAIN XPLAIN
  *
  *  Board specific Dataflash driver header for the Atmel XPLAIN.
  *
diff --git a/LUFA/Drivers/Board/XPLAIN/LEDs.h b/LUFA/Drivers/Board/XPLAIN/LEDs.h
index 4be19ef6fde709c4aa4bf88f13fff4560114e330..953c77e1a8703f58e71273b8b0f353c988ce2861 100644
--- a/LUFA/Drivers/Board/XPLAIN/LEDs.h
+++ b/LUFA/Drivers/Board/XPLAIN/LEDs.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_LEDs
- *  @defgroup Group_LEDs_XPLAIN XPLAIN
+ *  \defgroup Group_LEDs_XPLAIN XPLAIN
  *
  *  Board specific LED driver header for the Atmel XPLAIN.
  *
diff --git a/LUFA/Drivers/Misc/RingBuffer.h b/LUFA/Drivers/Misc/RingBuffer.h
index dd34e99ca7014382d5b3a722d9497b111b3f01fe..8ca5d2a0a54466a9f942e6c887499e89204d89f6 100644
--- a/LUFA/Drivers/Misc/RingBuffer.h
+++ b/LUFA/Drivers/Misc/RingBuffer.h
@@ -41,7 +41,7 @@
  */
  
 /** \ingroup Group_MiscDrivers
- *  @defgroup Group_RingBuff Generic Byte Ring Buffer - LUFA/Drivers/Misc/RingBuffer.h
+ *  \defgroup Group_RingBuff Generic Byte Ring Buffer - LUFA/Drivers/Misc/RingBuffer.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/Misc/TerminalCodes.h b/LUFA/Drivers/Misc/TerminalCodes.h
index 6b9d3fbb8ff616e3b8bd2bff2f4e8df9fbdffede..2ab00581155548edba1c22074a04d9f085587c91 100644
--- a/LUFA/Drivers/Misc/TerminalCodes.h
+++ b/LUFA/Drivers/Misc/TerminalCodes.h
@@ -36,7 +36,7 @@
  */
 
 /** \ingroup Group_MiscDrivers
- *  @defgroup Group_Terminal ANSI Terminal Escape Codes - LUFA/Drivers/Misc/TerminalCodes.h
+ *  \defgroup Group_Terminal ANSI Terminal Escape Codes - LUFA/Drivers/Misc/TerminalCodes.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/Peripheral/ADC.h b/LUFA/Drivers/Peripheral/ADC.h
index ec58e52da457d360afaa2e566e54098d943aed4e..29e32a83cbc03e4ccfa1b46ead47df94a9b1294d 100644
--- a/LUFA/Drivers/Peripheral/ADC.h
+++ b/LUFA/Drivers/Peripheral/ADC.h
@@ -31,22 +31,23 @@
 /** \file
  *  \brief Master include file for the ADC peripheral driver.
  *
- *  This file is the master dispatch header file for the device-specific ADC driver, for AVRs containing an ADC.
+ *  This file is the master dispatch header file for the device-specific ADC driver, for microcontrollers
+ *  containing an ADC.
  *
  *  User code should include this file, which will in turn include the correct ADC driver header file for the
- *  currently selected AVR model.
+ *  currently selected architecture and microcontroller model.
  */
 
 /** \ingroup Group_PeripheralDrivers
- *  @defgroup Group_ADC ADC Driver - LUFA/Drivers/Peripheral/ADC.h
+ *  \defgroup Group_ADC ADC Driver - LUFA/Drivers/Peripheral/ADC.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
  *    - None
  *
  *  \section Sec_ModDescription Module Description
- *  Hardware ADC driver. This module provides an easy to use driver for the hardware
- *  ADC present on many AVR models, for the conversion of analogue signals into the
+ *  Hardware ADC driver. This module provides an easy to use driver for the hardware ADC
+ *  present on many microcontrollers, for the conversion of analogue signals into the
  *  digital domain.
  *
  *  \note The exact API for this driver may vary depending on the target used - see
@@ -57,18 +58,18 @@
 #define __ADC_H__
 
 	/* Macros: */
-	#if !defined(__DOXYGEN__)
-		#define __INCLUDE_FROM_ADC_H
-	#endif
+		#if !defined(__DOXYGEN__)
+			#define __INCLUDE_FROM_ADC_H
+		#endif
+
+	/* Includes: */
+		#include "../../Common/Common.h"
 
 	/* Includes: */
-		#if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \
-		     defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \
-			 defined(__AVR_ATmega16U4__)  || defined(__AVR_ATmega32U4__) || \
-			 defined(__AVR_ATmega32U6__))
-			#include "AVRU4U6U7/ADC.h"
+		#if (ARCH == ARCH_AVR8)
+			#include "AVR8/ADC.h"
 		#else
-			#error "ADC is not available for the currently selected AVR model."
+			#error The ADC peripheral driver is not currently available for your selected architecture.
 		#endif
 
 #endif
diff --git a/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h b/LUFA/Drivers/Peripheral/AVR8/ADC.h
similarity index 96%
rename from LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h
rename to LUFA/Drivers/Peripheral/AVR8/ADC.h
index ddeb53aa3aa9dbb266f8da17ec02da0dc2a811c3..99f70d14bb8a79c4752b40113e00ef1086c7d8d7 100644
--- a/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h
+++ b/LUFA/Drivers/Peripheral/AVR8/ADC.h
@@ -29,7 +29,7 @@
 */
 
 /** \file
- *  \brief ADC peripheral driver for the U7, U6 and U4 USB AVRs.
+ *  \brief ADC Peripheral Driver (AVR8)
  *
  *  On-chip Analogue-to-Digital converter (ADC) driver for supported U4, U6 and U7 model AVRs that contain an ADC
  *  peripheral internally.
@@ -39,8 +39,9 @@
  */
 
 /** \ingroup Group_ADC
- *  @defgroup Group_ADC_AVRU4U6U7 Series U4, U6 and U7 Model ADC Driver
+ *  \defgroup Group_ADC_AVR8 ADC Peripheral Driver (AVR8)
  *
+ *  \section Sec_ModDescription Module Description
  *  On-chip Analogue-to-Digital converter (ADC) driver for supported U4, U6 and U7 model AVRs that contain an ADC
  *  peripheral internally.
  *
@@ -71,15 +72,12 @@
  *  @{
  */
 
-#ifndef __ADC_AVRU4U6U7_H__
-#define __ADC_AVRU4U6U7_H__
+#ifndef __ADC_AVR8_H__
+#define __ADC_AVR8_H__
 
 	/* Includes: */
 		#include "../../../Common/Common.h"
 
-		#include <avr/io.h>
-		#include <stdbool.h>
-
 	/* Enable C linkage for C++ Compilers: */
 		#if defined(__cplusplus)
 			extern "C" {
@@ -90,6 +88,13 @@
 			#error Do not include this file directly. Include LUFA/Drivers/Peripheral/ADC.h instead.
 		#endif
 
+		#if !(defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \
+		      defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \
+			  defined(__AVR_ATmega16U4__)  || defined(__AVR_ATmega32U4__) || \
+			  defined(__AVR_ATmega32U6__))
+			#error The ADC peripheral driver is not currently available for your selected microcontroller model.
+		#endif
+
 	/* Private Interface - For use in library only: */
 	#if !defined(__DOXYGEN__)
 		/* Macros: */
diff --git a/LUFA/Drivers/Peripheral/AVR8/SPI.h b/LUFA/Drivers/Peripheral/AVR8/SPI.h
new file mode 100644
index 0000000000000000000000000000000000000000..d800fca1a23c7da74169383de07a9a28ede51678
--- /dev/null
+++ b/LUFA/Drivers/Peripheral/AVR8/SPI.h
@@ -0,0 +1,239 @@
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2011.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+/*
+  Copyright 2011  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 disclaim 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.
+*/
+
+/** \file
+ *  \brief SPI Peripheral Driver (AVR8)
+ *
+ *  On-chip SPI driver for the 8-bit AVR microcontrollers.
+ *
+ *  \note This file should not be included directly. It is automatically included as needed by the SPI driver
+ *        dispatch header located in LUFA/Drivers/Peripheral/SPI.h.
+ */
+
+/** \ingroup Group_SPI
+ *  \defgroup Group_SPI_AVR8 SPI Peripheral Driver (AVR8)
+ *
+ *  \section Sec_ModDescription Module Description
+ *  Driver for the hardware SPI port available on most 8-bit AVR microcontroller models. This
+ *  module provides an easy to use driver for the setup and transfer of data over the
+ *  AVR's SPI port.
+ *
+ *  \note This file should not be included directly. It is automatically included as needed by the SPI driver
+ *        dispatch header located in LUFA/Drivers/Peripheral/SPI.h.
+ *
+ *  \section Sec_ExampleUsage Example Usage
+ *  The following snippet is an example of how this module may be used within a typical
+ *  application.
+ *
+ *  \code
+ *      // Initialise the SPI driver before first use
+ *      SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING |
+ *               SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
+ *
+ *      // Send several bytes, ignoring the returned data
+ *      SPI_SendByte(0x01);
+ *      SPI_SendByte(0x02);
+ *      SPI_SendByte(0x03);
+ *
+ *      // Receive several bytes, sending a dummy 0x00 byte each time
+ *      uint8_t Byte1 = SPI_ReceiveByte();
+ *      uint8_t Byte2 = SPI_ReceiveByte();
+ *      uint8_t Byte3 = SPI_ReceiveByte();
+ *
+ *      // Send a byte, and store the received byte from the same transaction
+ *      uint8_t ResponseByte = SPI_TransferByte(0xDC);
+ *  \endcode
+ * 
+ *  @{
+ */
+
+#ifndef __SPI_AVR8_H__
+#define __SPI_AVR8_H__
+
+	/* Includes: */
+		#include "../../../Common/Common.h"
+
+	/* Enable C linkage for C++ Compilers: */
+		#if defined(__cplusplus)
+			extern "C" {
+		#endif
+
+	/* Preprocessor Checks: */
+		#if !defined(__INCLUDE_FROM_SPI_H)
+			#error Do not include this file directly. Include LUFA/Drivers/Peripheral/SPI.h instead.
+		#endif
+
+	/* Private Interface - For use in library only: */
+	#if !defined(__DOXYGEN__)
+		/* Macros: */
+			#define SPI_USE_DOUBLESPEED            (1 << SPE)
+	#endif
+
+	/* Public Interface - May be used in end-application: */
+		/* Macros: */
+			/** \name SPI Prescaler Configuration Masks */
+			//@{
+			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 2. */
+			#define SPI_SPEED_FCPU_DIV_2           SPI_USE_DOUBLESPEED
+
+			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 4. */
+			#define SPI_SPEED_FCPU_DIV_4           0
+
+			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 8. */
+			#define SPI_SPEED_FCPU_DIV_8           (SPI_USE_DOUBLESPEED | (1 << SPR0))
+
+			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 16. */
+			#define SPI_SPEED_FCPU_DIV_16          (1 << SPR0)
+
+			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 32. */
+			#define SPI_SPEED_FCPU_DIV_32          (SPI_USE_DOUBLESPEED | (1 << SPR1))
+
+			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 64. */
+			#define SPI_SPEED_FCPU_DIV_64          (SPI_USE_DOUBLESPEED | (1 << SPR1) | (1 << SPR0))
+
+			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 128. */
+			#define SPI_SPEED_FCPU_DIV_128         ((1 << SPR1) | (1 << SPR0))
+			//@}
+
+			/** \name SPI SCK Polarity Configuration Masks */
+			//@{
+			/** SPI clock polarity mask for \c SPI_Init(). Indicates that the SCK should lead on the rising edge. */
+			#define SPI_SCK_LEAD_RISING            (0 << CPOL)
+
+			/** SPI clock polarity mask for \c SPI_Init(). Indicates that the SCK should lead on the falling edge. */
+			#define SPI_SCK_LEAD_FALLING           (1 << CPOL)
+			//@}
+
+			/** \name SPI Sample Edge Configuration Masks */
+			//@{
+			/** SPI data sample mode mask for \c SPI_Init(). Indicates that the data should sampled on the leading edge. */
+			#define SPI_SAMPLE_LEADING             (0 << CPHA)
+
+			/** SPI data sample mode mask for \c SPI_Init(). Indicates that the data should be sampled on the trailing edge. */
+			#define SPI_SAMPLE_TRAILING            (1 << CPHA)
+			//@}
+			
+			/** \name SPI Data Ordering Configuration Masks */
+			//@{
+			/** SPI data order mask for \c SPI_Init(). Indicates that data should be shifted out MSB first. */
+			#define SPI_ORDER_MSB_FIRST            (0 << DORD)
+
+			/** SPI data order mask for \c SPI_Init(). Indicates that data should be shifted out MSB first. */
+			#define SPI_ORDER_LSB_FIRST            (1 << DORD)
+			//@}
+			
+			/** \name SPI Mode Configuration Masks */
+			//@{
+			/** SPI mode mask for \c SPI_Init(). Indicates that the SPI interface should be initialized into slave mode. */
+			#define SPI_MODE_SLAVE                 (0 << MSTR)
+
+			/** SPI mode mask for \c SPI_Init(). Indicates that the SPI interface should be initialized into master mode. */
+			#define SPI_MODE_MASTER                (1 << MSTR)
+			//@}
+			
+		/* Inline Functions: */
+			/** Initialises the SPI subsystem, ready for transfers. Must be called before calling any other
+			 *  SPI routines.
+			 *
+			 *  \param[in] SPIOptions  SPI Options, a mask consisting of one of each of the \c SPI_SPEED_*,
+			 *                         \c SPI_SCK_*, \c SPI_SAMPLE_*, \c SPI_ORDER_* and \c SPI_MODE_* masks.
+			 */
+			static inline void SPI_Init(const uint8_t SPIOptions)
+			{
+				DDRB  |=  ((1 << 1) | (1 << 2));
+				DDRB  &= ~((1 << 0) | (1 << 3));
+				PORTB |=  ((1 << 0) | (1 << 3));
+
+				SPCR   = ((1 << SPE) | SPIOptions);
+
+				if (SPIOptions & SPI_USE_DOUBLESPEED)
+				  SPSR |= (1 << SPI2X);
+				else
+				  SPSR &= ~(1 << SPI2X);
+			}
+
+			/** Turns off the SPI driver, disabling and returning used hardware to their default configuration. */
+			static inline void SPI_Disable(void)
+			{
+				DDRB  &= ~((1 << 1) | (1 << 2));
+				PORTB &= ~((1 << 0) | (1 << 3));
+
+				SPCR   = 0;
+				SPSR   = 0;
+			}
+
+			/** Sends and receives a byte through the SPI interface, blocking until the transfer is complete.
+			 *
+			 *  \param[in] Byte  Byte to send through the SPI interface.
+			 *
+			 *  \return Response byte from the attached SPI device.
+			 */
+			static inline uint8_t SPI_TransferByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+			static inline uint8_t SPI_TransferByte(const uint8_t Byte)
+			{
+				SPDR = Byte;
+				while (!(SPSR & (1 << SPIF)));
+				return SPDR;
+			}
+
+			/** Sends a byte through the SPI interface, blocking until the transfer is complete. The response
+			 *  byte sent to from the attached SPI device is ignored.
+			 *
+			 *  \param[in] Byte  Byte to send through the SPI interface.
+			 */
+			static inline void SPI_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+			static inline void SPI_SendByte(const uint8_t Byte)
+			{
+				SPDR = Byte;
+				while (!(SPSR & (1 << SPIF)));
+			}
+
+			/** Sends a dummy byte through the SPI interface, blocking until the transfer is complete. The response
+			 *  byte from the attached SPI device is returned.
+			 *
+			 *  \return The response byte from the attached SPI device.
+			 */
+			static inline uint8_t SPI_ReceiveByte(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+			static inline uint8_t SPI_ReceiveByte(void)
+			{
+				SPDR = 0x00;
+				while (!(SPSR & (1 << SPIF)));
+				return SPDR;
+			}
+
+	/* Disable C linkage for C++ Compilers: */
+		#if defined(__cplusplus)
+			}
+		#endif
+
+#endif
+
+/** @} */
+
diff --git a/LUFA/Drivers/Peripheral/Serial.c b/LUFA/Drivers/Peripheral/AVR8/Serial.c
similarity index 98%
rename from LUFA/Drivers/Peripheral/Serial.c
rename to LUFA/Drivers/Peripheral/AVR8/Serial.c
index 99af2000c4e0d0fca0b63241c881f9815123f580..3a8312d853f2caec188a98d03f8a0400750e43a3 100644
--- a/LUFA/Drivers/Peripheral/Serial.c
+++ b/LUFA/Drivers/Peripheral/AVR8/Serial.c
@@ -28,6 +28,7 @@
   this software.
 */
 
+#define  __INCLUDE_FROM_SERIAL_C
 #include "Serial.h"
 
 FILE USARTSerialStream;
diff --git a/LUFA/Drivers/Peripheral/AVR8/Serial.h b/LUFA/Drivers/Peripheral/AVR8/Serial.h
new file mode 100644
index 0000000000000000000000000000000000000000..bb9ba856e8c06f3d40b0d73072a05bd4a5b6729c
--- /dev/null
+++ b/LUFA/Drivers/Peripheral/AVR8/Serial.h
@@ -0,0 +1,251 @@
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2011.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+/*
+  Copyright 2011  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 disclaim 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.
+*/
+
+/** \file
+ *  \brief Serial USART Peripheral Driver (AVR8)
+ *
+ *  On-chip serial USART driver for the 8-bit AVR microcontrollers.
+ *
+ *  \note This file should not be included directly. It is automatically included as needed by the USART driver
+ *        dispatch header located in LUFA/Drivers/Peripheral/Serial.h.
+ */
+
+/** \ingroup Group_Serial
+ *  \defgroup Group_Serial_AVR8 Serial USART Peripheral Driver (AVR8)
+ *
+ *  \section Sec_ModDescription Module Description
+ *  On-chip serial USART driver for the 8-bit AVR microcontrollers.
+ *
+ *  \note This file should not be included directly. It is automatically included as needed by the ADC driver
+ *        dispatch header located in LUFA/Drivers/Peripheral/Serial.h.
+ *
+ *  \section Sec_ExampleUsage Example Usage
+ *  The following snippet is an example of how this module may be used within a typical
+ *  application.
+ *
+ *  \code
+ *      // Initialise the serial USART driver before first use, with 9600 baud (and no double-speed mode)
+ *      Serial_Init(9600, false);
+ *
+ *      // Send a string through the USART
+ *      Serial_TxString("Test String\r\n");
+ *
+ *      // Receive a byte through the USART
+ *      uint8_t DataByte = Serial_RxByte();
+ *  \endcode
+ *
+ *  @{
+ */
+
+#ifndef __SERIAL_AVR8_H__
+#define __SERIAL_AVR8_H__
+
+	/* Includes: */
+		#include "../../../Common/Common.h"
+		#include "../../Misc/TerminalCodes.h"
+		
+		#include <stdio.h>
+
+	/* Enable C linkage for C++ Compilers: */
+		#if defined(__cplusplus)
+			extern "C" {
+		#endif
+
+	/* Preprocessor Checks: */
+		#if !defined(__INCLUDE_FROM_SERIAL_H) && !defined(__INCLUDE_FROM_SERIAL_C)
+			#error Do not include this file directly. Include LUFA/Drivers/Peripheral/Serial.h instead.
+		#endif
+
+	/* Private Interface - For use in library only: */
+	#if !defined(__DOXYGEN__)
+		/* External Variables: */
+			extern FILE USARTSerialStream;
+	
+		/* Function Prototypes: */
+			int Serial_putchar(char DataByte,
+			                   FILE *Stream);
+			int Serial_getchar(FILE *Stream);
+			int Serial_getchar_Blocking(FILE *Stream);
+	#endif
+
+	/* Public Interface - May be used in end-application: */
+		/* Macros: */
+			/** Macro for calculating the baud value from a given baud rate when the U2X (double speed) bit is
+			 *  not set.
+			 */
+			#define SERIAL_UBBRVAL(baud)    ((((F_CPU / 16) + (baud / 2)) / (baud)) - 1)
+
+			/** Macro for calculating the baud value from a given baud rate when the U2X (double speed) bit is
+			 *  set.
+			 */
+			#define SERIAL_2X_UBBRVAL(baud) ((((F_CPU / 8) + (baud / 2)) / (baud)) - 1)
+
+		/* Function Prototypes: */
+			/** Transmits a given string located in program space (FLASH) through the USART.
+			 *
+			 *  \param[in] FlashStringPtr  Pointer to a string located in program space.
+			 */
+			void Serial_SendString_P(const char* FlashStringPtr) ATTR_NON_NULL_PTR_ARG(1);
+
+			/** Transmits a given string located in SRAM memory through the USART.
+			 *
+			 *  \param[in] StringPtr  Pointer to a string located in SRAM space.
+			 */
+			void Serial_SendString(const char* StringPtr) ATTR_NON_NULL_PTR_ARG(1);
+			
+			/** Transmits a given buffer located in SRAM memory through the USART.
+			 *
+			 *  \param[in] Buffer  Pointer to a buffer containing the data to send.
+			 *  \param[in] Length  Length of the data to send, in bytes.
+			 */
+			void Serial_SendData(const uint8_t* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+		/* Inline Functions: */
+			/** Initializes the USART, ready for serial data transmission and reception. This initializes the interface to
+			 *  standard 8-bit, no parity, 1 stop bit settings suitable for most applications.
+			 *
+			 *  \param[in] BaudRate     Serial baud rate, in bits per second.
+			 *  \param[in] DoubleSpeed  Enables double speed mode when set, halving the sample time to double the baud rate.
+			 */
+			static inline void Serial_Init(const uint32_t BaudRate,
+			                               const bool DoubleSpeed)
+			{
+				UBRR1  = (DoubleSpeed ? SERIAL_2X_UBBRVAL(BaudRate) : SERIAL_UBBRVAL(BaudRate));
+
+				UCSR1C = ((1 << UCSZ11) | (1 << UCSZ10));
+				UCSR1A = (DoubleSpeed ? (1 << U2X1) : 0);
+				UCSR1B = ((1 << TXEN1)  | (1 << RXEN1));
+
+				DDRD  |= (1 << 3);
+				PORTD |= (1 << 2);
+			}
+
+			/** Turns off the USART driver, disabling and returning used hardware to their default configuration. */
+			static inline void Serial_Disable(void)
+			{
+				UCSR1B = 0;
+				UCSR1A = 0;
+				UCSR1C = 0;
+
+				UBRR1  = 0;
+
+				DDRD  &= ~(1 << 3);
+				PORTD &= ~(1 << 2);
+			}
+
+			/** Creates a standard character stream from the USART so that it can be used with all the regular functions
+			 *  in the avr-libc \c <stdio.h> library that accept a \c FILE stream as a destination (e.g. \c fprintf). The created
+			 *  stream is bidirectional and can be used for both input and output functions.
+			 *
+			 *  Reading data from this stream is non-blocking, i.e. in most instances, complete strings cannot be read in by a single
+			 *  fetch, as the endpoint will not be ready at some point in the transmission, aborting the transfer. However, this may
+			 *  be used when the read data is processed byte-per-bye (via \c getc()) or when the user application will implement its own
+			 *  line buffering.
+			 *
+			 *  \param[in,out] Stream  Pointer to a FILE structure where the created stream should be placed, if \c NULL stdio
+			 *                         and stdin will be configured to use the USART.
+			 *
+			 *  \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
+			 */
+			static inline void Serial_CreateStream(FILE* Stream)
+			{
+				if (!(Stream))
+				{
+					Stream = &USARTSerialStream;
+					stdin  = Stream;
+					stdout = Stream;
+				}
+			
+				*Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW);
+			}
+
+			/** Identical to \ref Serial_CreateStream(), except that reads are blocking until the calling stream function terminates
+			 *  the transfer.
+			 *
+			 *  \param[in,out] Stream  Pointer to a FILE structure where the created stream should be placed, if \c NULL stdio
+			 *                         and stdin will be configured to use the USART.
+			 *
+			 *  \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
+			 */
+			static inline void Serial_CreateBlockingStream(FILE* Stream)
+			{
+				if (!(Stream))
+				{
+					Stream = &USARTSerialStream;
+					stdin  = Stream;
+					stdout = Stream;
+				}
+
+				*Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar_Blocking, _FDEV_SETUP_RW);
+			}
+
+			/** Indicates whether a character has been received through the USART.
+			 *
+			 *  \return Boolean \c true if a character has been received, \c false otherwise.
+			 */
+			static inline bool Serial_IsCharReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+			static inline bool Serial_IsCharReceived(void)
+			{
+				return ((UCSR1A & (1 << RXC1)) ? true : false);
+			}
+
+			/** Transmits a given byte through the USART.
+			 *
+			 *  \param[in] DataByte  Byte to transmit through the USART.
+			 */
+			static inline void Serial_SendByte(const char DataByte) ATTR_ALWAYS_INLINE;
+			static inline void Serial_SendByte(const char DataByte)
+			{
+				while (!(UCSR1A & (1 << UDRE1)));
+				UDR1 = DataByte;
+			}
+
+			/** Receives the next byte from the USART.
+			 *
+			 *  \return Next byte received from the USART, or a negative value if no byte has been received.
+			 */
+			static inline int16_t Serial_ReceiveByte(void) ATTR_ALWAYS_INLINE;
+			static inline int16_t Serial_ReceiveByte(void)
+			{
+				if (!(Serial_IsCharReceived()))
+				  return -1;
+				
+				return UDR1;
+			}
+
+	/* Disable C linkage for C++ Compilers: */
+		#if defined(__cplusplus)
+			}
+		#endif
+
+#endif
+
+/** @} */
+
diff --git a/LUFA/Drivers/Peripheral/TWI.c b/LUFA/Drivers/Peripheral/AVR8/TWI.c
similarity index 99%
rename from LUFA/Drivers/Peripheral/TWI.c
rename to LUFA/Drivers/Peripheral/AVR8/TWI.c
index 2f4e4ed4240f3af216dbaf6bb65ef0cecbcfc998..b5f258dd3c82dcefb6a15960dbb5236f52e94ba5 100644
--- a/LUFA/Drivers/Peripheral/TWI.c
+++ b/LUFA/Drivers/Peripheral/AVR8/TWI.c
@@ -5,6 +5,7 @@
            www.lufa-lib.org
 */
 
+#define  __INCLUDE_FROM_TWI_C
 #include "TWI.h"
 
 uint8_t TWI_StartTransmission(const uint8_t SlaveAddress,
diff --git a/LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.h b/LUFA/Drivers/Peripheral/AVR8/TWI.h
similarity index 93%
rename from LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.h
rename to LUFA/Drivers/Peripheral/AVR8/TWI.h
index c8293f5ac268224b62566b20377fc805c92c6e8d..e034233852d1640225d6ce81d7d70e7118925daa 100644
--- a/LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.h
+++ b/LUFA/Drivers/Peripheral/AVR8/TWI.h
@@ -29,18 +29,19 @@
 */
 
 /** \file
- *  \brief TWI peripheral driver for the U7, U6 and U4 USB AVRs.
+ *  \brief TWI Peripheral Driver (AVR8)
  *
- *  Master mode TWI driver for the AT90USB1287, AT90USB1286, AT90USB647, AT90USB646, ATMEGA16U4 and ATMEGA32U4 AVRs.
+ *  On-chip TWI driver for the 8-bit AVR microcontrollers.
  *
  *  \note This file should not be included directly. It is automatically included as needed by the TWI driver
  *        dispatch header located in LUFA/Drivers/Peripheral/TWI.h.
  */
 
 /** \ingroup Group_TWI
- *  @defgroup Group_TWI_AVRU4U6U7 Series U4, U6 and U7 Model TWI Driver
+ *  \defgroup Group_TWI_AVR8 TWI Peripheral Driver (AVR8)
  *
- *  Master mode TWI driver for the AT90USB1287, AT90USB1286, AT90USB647, AT90USB646, ATMEGA16U4 and ATMEGA32U4 AVRs.
+ *  \section Sec_ModDescription Module Description
+ *  Master mode TWI driver for the 8-bit AVR microcontrollers which contain a hardware TWI module.
  *
  *  \note This file should not be included directly. It is automatically included as needed by the TWI driver
  *        dispatch header located in LUFA/Drivers/Peripheral/TWI.h.
@@ -111,17 +112,14 @@
  *  @{
  */
 
-#ifndef __TWI_AVRU4U6U7_H__
-#define __TWI_AVRU4U6U7_H__
+#ifndef __TWI_AVR8_H__
+#define __TWI_AVR8_H__
 
 	/* Includes: */
 		#include "../../../Common/Common.h"
 
-		#include <avr/io.h>
-		#include <stdbool.h>
 		#include <stdio.h>
 		#include <util/twi.h>
-		#include <util/delay.h>
 
 	/* Enable C linkage for C++ Compilers: */
 		#if defined(__cplusplus)
@@ -129,10 +127,17 @@
 		#endif
 
 	/* Preprocessor Checks: */
-		#if !defined(__INCLUDE_FROM_TWI_H)
+		#if !defined(__INCLUDE_FROM_TWI_H) && !defined(__INCLUDE_FROM_TWI_C)
 			#error Do not include this file directly. Include LUFA/Drivers/Peripheral/TWI.h instead.
 		#endif
 
+		#if !(defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \
+		      defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \
+			  defined(__AVR_ATmega16U4__)  || defined(__AVR_ATmega32U4__) || \
+			  defined(__AVR_ATmega32U6__))
+			#error The TWI peripheral driver is not currently available for your selected microcontroller model.
+		#endif
+
 	/* Public Interface - May be used in end-application: */
 		/* Macros: */
 			/** TWI slave device address mask for a read session. Mask with a slave device base address to obtain
diff --git a/LUFA/Drivers/Peripheral/SPI.h b/LUFA/Drivers/Peripheral/SPI.h
index 0b8b17e1d7220db01560939379b30807dcc70b2f..9b967e0cdd5d19fb30e59c543536fd0497f22e24 100644
--- a/LUFA/Drivers/Peripheral/SPI.h
+++ b/LUFA/Drivers/Peripheral/SPI.h
@@ -31,201 +31,44 @@
 /** \file
  *  \brief Master include file for the SPI peripheral driver.
  *
- *  Hardware SPI subsystem driver for the supported USB AVRs models.
+ *  This file is the master dispatch header file for the device-specific SPI driver, for microcontrollers
+ *  containing a hardware SPI.
+ *
+ *  User code should include this file, which will in turn include the correct SPI driver header file for the
+ *  currently selected architecture and microcontroller model.
  */
 
 /** \ingroup Group_PeripheralDrivers
- *  @defgroup Group_SPI SPI Driver - LUFA/Drivers/Peripheral/SPI.h
+ *  \defgroup Group_SPI SPI Driver - LUFA/Drivers/Peripheral/SPI.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
  *    - None
  *
  *  \section Sec_ModDescription Module Description
- *  Driver for the hardware SPI port available on most AVR models. This module provides
- *  an easy to use driver for the setup of and transfer of data over the AVR's SPI port.
- *
- *  \section Sec_ExampleUsage Example Usage
- *  The following snippet is an example of how this module may be used within a typical
- *  application.
- *
- *  \code
- *      // Initialise the SPI driver before first use
- *      SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING |
- *               SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
- *
- *      // Send several bytes, ignoring the returned data
- *      SPI_SendByte(0x01);
- *      SPI_SendByte(0x02);
- *      SPI_SendByte(0x03);
+ *  Hardware SPI driver. This module provides an easy to use driver for the setup and transfer of data over
+ *  the selected architecture and microcontroller model's SPI port.
  *
- *      // Receive several bytes, sending a dummy 0x00 byte each time
- *      uint8_t Byte1 = SPI_ReceiveByte();
- *      uint8_t Byte2 = SPI_ReceiveByte();
- *      uint8_t Byte3 = SPI_ReceiveByte();
- *
- *      // Send a byte, and store the received byte from the same transaction
- *      uint8_t ResponseByte = SPI_TransferByte(0xDC);
- *  \endcode
- * 
- *  @{
+ *  \note The exact API for this driver may vary depending on the target used - see
+ *        individual target module documentation for the API specific to your target processor.
  */
 
 #ifndef __SPI_H__
 #define __SPI_H__
 
-	/* Includes: */
-		#include <stdbool.h>
-
-	/* Enable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			extern "C" {
+	/* Macros: */
+		#if !defined(__DOXYGEN__)
+			#define __INCLUDE_FROM_SPI_H
 		#endif
 
-	/* Private Interface - For use in library only: */
-	#if !defined(__DOXYGEN__)
-		/* Macros: */
-			#define SPI_USE_DOUBLESPEED            (1 << SPE)
-	#endif
-
-	/* Public Interface - May be used in end-application: */
-		/* Macros: */
-			/** \name SPI Prescaler Configuration Masks */
-			//@{
-			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 2. */
-			#define SPI_SPEED_FCPU_DIV_2           SPI_USE_DOUBLESPEED
-
-			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 4. */
-			#define SPI_SPEED_FCPU_DIV_4           0
-
-			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 8. */
-			#define SPI_SPEED_FCPU_DIV_8           (SPI_USE_DOUBLESPEED | (1 << SPR0))
-
-			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 16. */
-			#define SPI_SPEED_FCPU_DIV_16          (1 << SPR0)
-
-			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 32. */
-			#define SPI_SPEED_FCPU_DIV_32          (SPI_USE_DOUBLESPEED | (1 << SPR1))
-
-			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 64. */
-			#define SPI_SPEED_FCPU_DIV_64          (SPI_USE_DOUBLESPEED | (1 << SPR1) | (1 << SPR0))
-
-			/** SPI prescaler mask for \c SPI_Init(). Divides the system clock by a factor of 128. */
-			#define SPI_SPEED_FCPU_DIV_128         ((1 << SPR1) | (1 << SPR0))
-			//@}
-
-			/** \name SPI SCK Polarity Configuration Masks */
-			//@{
-			/** SPI clock polarity mask for \c SPI_Init(). Indicates that the SCK should lead on the rising edge. */
-			#define SPI_SCK_LEAD_RISING            (0 << CPOL)
-
-			/** SPI clock polarity mask for \c SPI_Init(). Indicates that the SCK should lead on the falling edge. */
-			#define SPI_SCK_LEAD_FALLING           (1 << CPOL)
-			//@}
-
-			/** \name SPI Sample Edge Configuration Masks */
-			//@{
-			/** SPI data sample mode mask for \c SPI_Init(). Indicates that the data should sampled on the leading edge. */
-			#define SPI_SAMPLE_LEADING             (0 << CPHA)
-
-			/** SPI data sample mode mask for \c SPI_Init(). Indicates that the data should be sampled on the trailing edge. */
-			#define SPI_SAMPLE_TRAILING            (1 << CPHA)
-			//@}
-			
-			/** \name SPI Data Ordering Configuration Masks */
-			//@{
-			/** SPI data order mask for \c SPI_Init(). Indicates that data should be shifted out MSB first. */
-			#define SPI_ORDER_MSB_FIRST            (0 << DORD)
-
-			/** SPI data order mask for \c SPI_Init(). Indicates that data should be shifted out MSB first. */
-			#define SPI_ORDER_LSB_FIRST            (1 << DORD)
-			//@}
-			
-			/** \name SPI Mode Configuration Masks */
-			//@{
-			/** SPI mode mask for \c SPI_Init(). Indicates that the SPI interface should be initialized into slave mode. */
-			#define SPI_MODE_SLAVE                 (0 << MSTR)
-
-			/** SPI mode mask for \c SPI_Init(). Indicates that the SPI interface should be initialized into master mode. */
-			#define SPI_MODE_MASTER                (1 << MSTR)
-			//@}
-			
-		/* Inline Functions: */
-			/** Initialises the SPI subsystem, ready for transfers. Must be called before calling any other
-			 *  SPI routines.
-			 *
-			 *  \param[in] SPIOptions  SPI Options, a mask consisting of one of each of the \c SPI_SPEED_*,
-			 *                         \c SPI_SCK_*, \c SPI_SAMPLE_*, \c SPI_ORDER_* and \c SPI_MODE_* masks.
-			 */
-			static inline void SPI_Init(const uint8_t SPIOptions)
-			{
-				DDRB  |=  ((1 << 1) | (1 << 2));
-				DDRB  &= ~((1 << 0) | (1 << 3));
-				PORTB |=  ((1 << 0) | (1 << 3));
-
-				SPCR   = ((1 << SPE) | SPIOptions);
-
-				if (SPIOptions & SPI_USE_DOUBLESPEED)
-				  SPSR |= (1 << SPI2X);
-				else
-				  SPSR &= ~(1 << SPI2X);
-			}
-
-			/** Turns off the SPI driver, disabling and returning used hardware to their default configuration. */
-			static inline void SPI_Disable(void)
-			{
-				DDRB  &= ~((1 << 1) | (1 << 2));
-				PORTB &= ~((1 << 0) | (1 << 3));
-
-				SPCR   = 0;
-				SPSR   = 0;
-			}
-
-			/** Sends and receives a byte through the SPI interface, blocking until the transfer is complete.
-			 *
-			 *  \param[in] Byte  Byte to send through the SPI interface.
-			 *
-			 *  \return Response byte from the attached SPI device.
-			 */
-			static inline uint8_t SPI_TransferByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
-			static inline uint8_t SPI_TransferByte(const uint8_t Byte)
-			{
-				SPDR = Byte;
-				while (!(SPSR & (1 << SPIF)));
-				return SPDR;
-			}
-
-			/** Sends a byte through the SPI interface, blocking until the transfer is complete. The response
-			 *  byte sent to from the attached SPI device is ignored.
-			 *
-			 *  \param[in] Byte  Byte to send through the SPI interface.
-			 */
-			static inline void SPI_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
-			static inline void SPI_SendByte(const uint8_t Byte)
-			{
-				SPDR = Byte;
-				while (!(SPSR & (1 << SPIF)));
-			}
-
-			/** Sends a dummy byte through the SPI interface, blocking until the transfer is complete. The response
-			 *  byte from the attached SPI device is returned.
-			 *
-			 *  \return The response byte from the attached SPI device.
-			 */
-			static inline uint8_t SPI_ReceiveByte(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
-			static inline uint8_t SPI_ReceiveByte(void)
-			{
-				SPDR = 0x00;
-				while (!(SPSR & (1 << SPIF)));
-				return SPDR;
-			}
+	/* Includes: */
+		#include "../../Common/Common.h"
 
-	/* Disable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			}
+	/* Includes: */
+		#if (ARCH == ARCH_AVR8)
+			#include "AVR8/SPI.h"
+		#else
+			#error The SPI peripheral driver is not currently available for your selected architecture.
 		#endif
 
 #endif
-
-/** @} */
-
diff --git a/LUFA/Drivers/Peripheral/Serial.h b/LUFA/Drivers/Peripheral/Serial.h
index e7c2fa065ff0fec0ed38fe99f03c45568099d7dd..0c6cd86bf3829b0f4f794a3e238520657983b7c8 100644
--- a/LUFA/Drivers/Peripheral/Serial.h
+++ b/LUFA/Drivers/Peripheral/Serial.h
@@ -31,218 +31,44 @@
 /** \file
  *  \brief Master include file for the USART peripheral driver.
  *
- *  Driver for the USART subsystem on supported USB AVRs.
+ *  This file is the master dispatch header file for the device-specific USART driver, for microcontrollers
+ *  containing a hardware USART.
+ *
+ *  User code should include this file, which will in turn include the correct ADC driver header file for the
+ *  currently selected architecture and microcontroller model.
  */
 
 /** \ingroup Group_PeripheralDrivers
- *  @defgroup Group_Serial Serial USART Driver - LUFA/Drivers/Peripheral/Serial.h
+ *  \defgroup Group_Serial Serial USART Driver - LUFA/Drivers/Peripheral/Serial.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
- *    - LUFA/Drivers/Peripheral/Serial.c <i>(Makefile source module name: LUFA_SRC_SERIAL)</i>
+ *    - LUFA/Drivers/Peripheral/$(ARCH)/Serial.c <i>(Makefile source module name: LUFA_SRC_SERIAL)</i>
  *
  *  \section Sec_ModDescription Module Description
- *  Hardware serial USART driver. This module provides an easy to use driver for
- *  the setup of and transfer of data over the AVR's USART port.
- *
- *  \section Sec_ExampleUsage Example Usage
- *  The following snippet is an example of how this module may be used within a typical
- *  application.
- *
- *  \code
- *      // Initialise the serial USART driver before first use, with 9600 baud (and no double-speed mode)
- *      Serial_Init(9600, false);
- *
- *      // Send a string through the USART
- *      Serial_TxString("Test String\r\n");
+ *  Hardware serial USART driver. This module provides an easy to use driver for the setup and transfer
+ *  of data over the selected architecture and microcontroller model's USART port.
  *
- *      // Receive a byte through the USART
- *      uint8_t DataByte = Serial_RxByte();
- *  \endcode
- *
- *  @{
+ *  \note The exact API for this driver may vary depending on the target used - see
+ *        individual target module documentation for the API specific to your target processor.
  */
 
 #ifndef __SERIAL_H__
 #define __SERIAL_H__
 
-	/* Includes: */
-		#include <avr/io.h>
-		#include <avr/pgmspace.h>
-		#include <stdbool.h>
-		#include <stdio.h>
-
-		#include "../../Common/Common.h"
-		#include "../Misc/TerminalCodes.h"
-
-	/* Enable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			extern "C" {
+	/* Macros: */
+		#if !defined(__DOXYGEN__)
+			#define __INCLUDE_FROM_SERIAL_H
 		#endif
 
-	/* Private Interface - For use in library only: */
-	#if !defined(__DOXYGEN__)
-		/* External Variables: */
-			extern FILE USARTSerialStream;
-	
-		/* Function Prototypes: */
-			int Serial_putchar(char DataByte,
-			                   FILE *Stream);
-			int Serial_getchar(FILE *Stream);
-			int Serial_getchar_Blocking(FILE *Stream);
-	#endif
-
-	/* Public Interface - May be used in end-application: */
-		/* Macros: */
-			/** Macro for calculating the baud value from a given baud rate when the U2X (double speed) bit is
-			 *  not set.
-			 */
-			#define SERIAL_UBBRVAL(baud)    ((((F_CPU / 16) + (baud / 2)) / (baud)) - 1)
-
-			/** Macro for calculating the baud value from a given baud rate when the U2X (double speed) bit is
-			 *  set.
-			 */
-			#define SERIAL_2X_UBBRVAL(baud) ((((F_CPU / 8) + (baud / 2)) / (baud)) - 1)
-
-		/* Function Prototypes: */
-			/** Transmits a given string located in program space (FLASH) through the USART.
-			 *
-			 *  \param[in] FlashStringPtr  Pointer to a string located in program space.
-			 */
-			void Serial_SendString_P(const char* FlashStringPtr) ATTR_NON_NULL_PTR_ARG(1);
-
-			/** Transmits a given string located in SRAM memory through the USART.
-			 *
-			 *  \param[in] StringPtr  Pointer to a string located in SRAM space.
-			 */
-			void Serial_SendString(const char* StringPtr) ATTR_NON_NULL_PTR_ARG(1);
-			
-			/** Transmits a given buffer located in SRAM memory through the USART.
-			 *
-			 *  \param[in] Buffer  Pointer to a buffer containing the data to send.
-			 *  \param[in] Length  Length of the data to send, in bytes.
-			 */
-			void Serial_SendData(const uint8_t* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
-
-		/* Inline Functions: */
-			/** Initializes the USART, ready for serial data transmission and reception. This initializes the interface to
-			 *  standard 8-bit, no parity, 1 stop bit settings suitable for most applications.
-			 *
-			 *  \param[in] BaudRate     Serial baud rate, in bits per second.
-			 *  \param[in] DoubleSpeed  Enables double speed mode when set, halving the sample time to double the baud rate.
-			 */
-			static inline void Serial_Init(const uint32_t BaudRate,
-			                               const bool DoubleSpeed)
-			{
-				UBRR1  = (DoubleSpeed ? SERIAL_2X_UBBRVAL(BaudRate) : SERIAL_UBBRVAL(BaudRate));
-
-				UCSR1C = ((1 << UCSZ11) | (1 << UCSZ10));
-				UCSR1A = (DoubleSpeed ? (1 << U2X1) : 0);
-				UCSR1B = ((1 << TXEN1)  | (1 << RXEN1));
-
-				DDRD  |= (1 << 3);
-				PORTD |= (1 << 2);
-			}
-
-			/** Turns off the USART driver, disabling and returning used hardware to their default configuration. */
-			static inline void Serial_Disable(void)
-			{
-				UCSR1B = 0;
-				UCSR1A = 0;
-				UCSR1C = 0;
-
-				UBRR1  = 0;
-
-				DDRD  &= ~(1 << 3);
-				PORTD &= ~(1 << 2);
-			}
-
-			/** Creates a standard character stream from the USART so that it can be used with all the regular functions
-			 *  in the avr-libc \c <stdio.h> library that accept a \c FILE stream as a destination (e.g. \c fprintf). The created
-			 *  stream is bidirectional and can be used for both input and output functions.
-			 *
-			 *  Reading data from this stream is non-blocking, i.e. in most instances, complete strings cannot be read in by a single
-			 *  fetch, as the endpoint will not be ready at some point in the transmission, aborting the transfer. However, this may
-			 *  be used when the read data is processed byte-per-bye (via \c getc()) or when the user application will implement its own
-			 *  line buffering.
-			 *
-			 *  \param[in,out] Stream  Pointer to a FILE structure where the created stream should be placed, if \c NULL stdio
-			 *                         and stdin will be configured to use the USART.
-			 *
-			 *  \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
-			 */
-			static inline void Serial_CreateStream(FILE* Stream)
-			{
-				if (!(Stream))
-				{
-					Stream = &USARTSerialStream;
-					stdin  = Stream;
-					stdout = Stream;
-				}
-			
-				*Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW);
-			}
-
-			/** Identical to \ref Serial_CreateStream(), except that reads are blocking until the calling stream function terminates
-			 *  the transfer.
-			 *
-			 *  \param[in,out] Stream  Pointer to a FILE structure where the created stream should be placed, if \c NULL stdio
-			 *                         and stdin will be configured to use the USART.
-			 *
-			 *  \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
-			 */
-			static inline void Serial_CreateBlockingStream(FILE* Stream)
-			{
-				if (!(Stream))
-				{
-					Stream = &USARTSerialStream;
-					stdin  = Stream;
-					stdout = Stream;
-				}
-
-				*Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar_Blocking, _FDEV_SETUP_RW);
-			}
-
-			/** Indicates whether a character has been received through the USART.
-			 *
-			 *  \return Boolean \c true if a character has been received, \c false otherwise.
-			 */
-			static inline bool Serial_IsCharReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
-			static inline bool Serial_IsCharReceived(void)
-			{
-				return ((UCSR1A & (1 << RXC1)) ? true : false);
-			}
-
-			/** Transmits a given byte through the USART.
-			 *
-			 *  \param[in] DataByte  Byte to transmit through the USART.
-			 */
-			static inline void Serial_SendByte(const char DataByte) ATTR_ALWAYS_INLINE;
-			static inline void Serial_SendByte(const char DataByte)
-			{
-				while (!(UCSR1A & (1 << UDRE1)));
-				UDR1 = DataByte;
-			}
-
-			/** Receives the next byte from the USART.
-			 *
-			 *  \return Next byte received from the USART, or a negative value if no byte has been received.
-			 */
-			static inline int16_t Serial_ReceiveByte(void) ATTR_ALWAYS_INLINE;
-			static inline int16_t Serial_ReceiveByte(void)
-			{
-				if (!(Serial_IsCharReceived()))
-				  return -1;
-				
-				return UDR1;
-			}
+	/* Includes: */
+		#include "../../Common/Common.h"
 
-	/* Disable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			}
+	/* Includes: */
+		#if (ARCH == ARCH_AVR8)
+			#include "AVR8/Serial.h"
+		#else
+			#error The Serial peripheral driver is not currently available for your selected architecture.
 		#endif
 
 #endif
-
-/** @} */
-
diff --git a/LUFA/Drivers/Peripheral/TWI.h b/LUFA/Drivers/Peripheral/TWI.h
index 6e68bde0e4b567610a91678948cd95d8b964c56d..e7eb850e35a4713943c2fac103bdef386436d8df 100644
--- a/LUFA/Drivers/Peripheral/TWI.h
+++ b/LUFA/Drivers/Peripheral/TWI.h
@@ -31,23 +31,23 @@
 /** \file
  *  \brief Master include file for the TWI peripheral driver.
  *
- *  This file is the master dispatch header file for the device-specific ADC driver, for AVRs containing an ADC.
+ *  This file is the master dispatch header file for the device-specific SPI driver, for microcontrollers
+ *  containing a hardware TWI.
  *
- *  User code should include this file, which will in turn include the correct ADC driver header file for the
- *  currently selected AVR model.
+ *  User code should include this file, which will in turn include the correct TWI driver header file for the
+ *  currently selected architecture and microcontroller model.
  */
 
 /** \ingroup Group_PeripheralDrivers
- *  @defgroup Group_TWI TWI Driver - LUFA/Drivers/Peripheral/TWI.h
+ *  \defgroup Group_TWI TWI Driver - LUFA/Drivers/Peripheral/TWI.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
- *    - LUFA/Drivers/Peripheral/TWI.c <i>(Makefile source module name: LUFA_SRC_TWI)</i>
- *
+ *    - LUFA/Drivers/Peripheral/$(ARCH)TWI.c <i>(Makefile source module name: LUFA_SRC_TWI)</i>
  *
  *  \section Sec_ModDescription Module Description
- *  Master Mode Hardware TWI driver. This module provides an easy to use driver for the hardware
- *  TWI present on many AVR models, for the transmission and reception of data on a TWI bus.
+ *  Hardware TWI driver. This module provides an easy to use driver for the setup and transfer of data over
+ *  the selected architecture and microcontroller model's TWI bus port.
  *
  *  \note The exact API for this driver may vary depending on the target used - see
  *        individual target module documentation for the API specific to your target processor.
@@ -57,18 +57,18 @@
 #define __TWI_H__
 
 	/* Macros: */
-	#if !defined(__DOXYGEN__)
-		#define __INCLUDE_FROM_TWI_H
-	#endif
+		#if !defined(__DOXYGEN__)
+			#define __INCLUDE_FROM_TWI_H
+		#endif
+
+	/* Includes: */
+		#include "../../Common/Common.h"
 
 	/* Includes: */
-		#if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \
-		     defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \
-			 defined(__AVR_ATmega16U4__)  || defined(__AVR_ATmega32U4__) || \
-			 defined(__AVR_ATmega32U6__))
-			#include "AVRU4U6U7/TWI.h"
+		#if (ARCH == ARCH_AVR8)
+			#include "AVR8/TWI.h"
 		#else
-			#error "TWI is not available for the currently selected AVR model."
+			#error The TWI peripheral driver is not currently available for your selected architecture.
 		#endif
 
 #endif
diff --git a/LUFA/Drivers/USB/Class/Audio.h b/LUFA/Drivers/USB/Class/Audio.h
index 8fc70fe5bf1de5a4306b409d194324a5b6163185..9a13eb128a299efa9ef0632f7ab5df7474badc7f 100644
--- a/LUFA/Drivers/USB/Class/Audio.h
+++ b/LUFA/Drivers/USB/Class/Audio.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassDrivers
- *  @defgroup Group_USBClassAudio Audio Class Driver
+ *  \defgroup Group_USBClassAudio Audio Class Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/CDC.h b/LUFA/Drivers/USB/Class/CDC.h
index 7b302fa2c10a5b43edfc56a3e3a1da154325ce4d..a5dc373701c745bebb8bfb09df336bd5ea9d87d2 100644
--- a/LUFA/Drivers/USB/Class/CDC.h
+++ b/LUFA/Drivers/USB/Class/CDC.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassDrivers
- *  @defgroup Group_USBClassCDC CDC-ACM (Virtual Serial) Class Driver
+ *  \defgroup Group_USBClassCDC CDC-ACM (Virtual Serial) Class Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Common/Audio.h b/LUFA/Drivers/USB/Class/Common/Audio.h
index 70a8016c139adc44a6ccb9c7aa99eaf2e757ba36..8ddb52da0014be094b483f0432d91419c7576861 100644
--- a/LUFA/Drivers/USB/Class/Common/Audio.h
+++ b/LUFA/Drivers/USB/Class/Common/Audio.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassAudio
- *  @defgroup Group_USBClassAudioCommon  Common Class Definitions
+ *  \defgroup Group_USBClassAudioCommon  Common Class Definitions
  *
  *  \section Sec_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
diff --git a/LUFA/Drivers/USB/Class/Common/CDC.h b/LUFA/Drivers/USB/Class/Common/CDC.h
index 52107d6a8a8fc5286e20a335604b1e95cea7fa11..c63c0b537c7f928dc7b2e434c1c473b257a80746 100644
--- a/LUFA/Drivers/USB/Class/Common/CDC.h
+++ b/LUFA/Drivers/USB/Class/Common/CDC.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassCDC
- *  @defgroup Group_USBClassCDCCommon  Common Class Definitions
+ *  \defgroup Group_USBClassCDCCommon  Common Class Definitions
  *
  *  \section Sec_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
diff --git a/LUFA/Drivers/USB/Class/Common/HID.h b/LUFA/Drivers/USB/Class/Common/HID.h
index 485b9dbb08bfc1567fe2139f1dae3cc4b54f23a0..fd35905e61e996796111d5f6ce0a5e7ccea50963 100644
--- a/LUFA/Drivers/USB/Class/Common/HID.h
+++ b/LUFA/Drivers/USB/Class/Common/HID.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassHID
- *  @defgroup Group_USBClassHIDCommon  Common Class Definitions
+ *  \defgroup Group_USBClassHIDCommon  Common Class Definitions
  *
  *  \section Sec_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
diff --git a/LUFA/Drivers/USB/Class/Common/HIDParser.h b/LUFA/Drivers/USB/Class/Common/HIDParser.h
index c1689fad8376b37f83ac981aefd15869e9b30295..cd32093cab8532077c086f3515c6798cb2120a40 100644
--- a/LUFA/Drivers/USB/Class/Common/HIDParser.h
+++ b/LUFA/Drivers/USB/Class/Common/HIDParser.h
@@ -37,7 +37,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_HIDParser HID Report Parser
+ *  \defgroup Group_HIDParser HID Report Parser
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Common/HIDReportData.h b/LUFA/Drivers/USB/Class/Common/HIDReportData.h
index d9de5df6272561fe3f29f48a17d4d23f5c1065cf..952f393323db5ebc9ad9b55fbad1d4113cf5089c 100644
--- a/LUFA/Drivers/USB/Class/Common/HIDReportData.h
+++ b/LUFA/Drivers/USB/Class/Common/HIDReportData.h
@@ -36,7 +36,7 @@
  */
 
 /** \ingroup Group_HIDParser
- *  @defgroup Group_HIDReportItemConst HID Report Descriptor Item Constants
+ *  \defgroup Group_HIDReportItemConst HID Report Descriptor Item Constants
  *
  *  General HID constant definitions for HID Report Descriptor elements.
  *
diff --git a/LUFA/Drivers/USB/Class/Common/MIDI.h b/LUFA/Drivers/USB/Class/Common/MIDI.h
index 3aea6376e00b472a5ca2819e0b111fdd93bc5457..8d56f1eba007d6156ccbe0258b308e7542ad88ae 100644
--- a/LUFA/Drivers/USB/Class/Common/MIDI.h
+++ b/LUFA/Drivers/USB/Class/Common/MIDI.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassMIDI
- *  @defgroup Group_USBClassMIDICommon  Common Class Definitions
+ *  \defgroup Group_USBClassMIDICommon  Common Class Definitions
  *
  *  \section Sec_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
diff --git a/LUFA/Drivers/USB/Class/Common/MassStorage.h b/LUFA/Drivers/USB/Class/Common/MassStorage.h
index 761141b63ddc5450acc883fd97da586efe25bd68..f4274cab8a8ba696acb003ad72cd6438fa5b6b77 100644
--- a/LUFA/Drivers/USB/Class/Common/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Common/MassStorage.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassMS
- *  @defgroup Group_USBClassMSCommon  Common Class Definitions
+ *  \defgroup Group_USBClassMSCommon  Common Class Definitions
  *
  *  \section Sec_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
diff --git a/LUFA/Drivers/USB/Class/Common/Printer.h b/LUFA/Drivers/USB/Class/Common/Printer.h
index 7fbdf8534bacaa0fd25c1812813d95dec94c56fa..23bc6a461dc1d4dab5f92ec26333136716dffd32 100644
--- a/LUFA/Drivers/USB/Class/Common/Printer.h
+++ b/LUFA/Drivers/USB/Class/Common/Printer.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassPrinter
- *  @defgroup Group_USBClassPrinterCommon  Common Class Definitions
+ *  \defgroup Group_USBClassPrinterCommon  Common Class Definitions
  *
  *  \section Sec_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
diff --git a/LUFA/Drivers/USB/Class/Common/RNDIS.h b/LUFA/Drivers/USB/Class/Common/RNDIS.h
index edcf9e7bfb29e6671ded6e9c2a761065653de9af..6b67b97d1921a53e9b5efca9dd005e78b5a98c36 100644
--- a/LUFA/Drivers/USB/Class/Common/RNDIS.h
+++ b/LUFA/Drivers/USB/Class/Common/RNDIS.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassRNDIS
- *  @defgroup Group_USBClassRNDISCommon  Common Class Definitions
+ *  \defgroup Group_USBClassRNDISCommon  Common Class Definitions
  *
  *  \section Sec_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
diff --git a/LUFA/Drivers/USB/Class/Common/StillImage.h b/LUFA/Drivers/USB/Class/Common/StillImage.h
index 132e2aa93825e5e0bb3e9fe52b94db542677686f..06299bf77b0d93f7337f05a04a65f0fd5777adc9 100644
--- a/LUFA/Drivers/USB/Class/Common/StillImage.h
+++ b/LUFA/Drivers/USB/Class/Common/StillImage.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassSI
- *  @defgroup Group_USBClassSICommon  Common Class Definitions
+ *  \defgroup Group_USBClassSICommon  Common Class Definitions
  *
  *  \section Sec_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
diff --git a/LUFA/Drivers/USB/Class/Device/Audio.h b/LUFA/Drivers/USB/Class/Device/Audio.h
index c674b6d94d0c44ae01e92ca96fa93ee0f53195ed..d82beabc691fb8ed5a58a4565255c29d25ae5d82 100644
--- a/LUFA/Drivers/USB/Class/Device/Audio.h
+++ b/LUFA/Drivers/USB/Class/Device/Audio.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassAudio
- *  @defgroup Group_USBClassAudioDevice Audio Class Device Mode Driver
+ *  \defgroup Group_USBClassAudioDevice Audio Class Device Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Device/CDC.h b/LUFA/Drivers/USB/Class/Device/CDC.h
index 4a7dc6725f4a278f6a2dbc508a66d88f2f85ad4c..bf388819f619d75cf283bd97e60f62c5c2691178 100644
--- a/LUFA/Drivers/USB/Class/Device/CDC.h
+++ b/LUFA/Drivers/USB/Class/Device/CDC.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassCDC
- *  @defgroup Group_USBClassCDCDevice CDC Class Device Mode Driver
+ *  \defgroup Group_USBClassCDCDevice CDC Class Device Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Device/HID.h b/LUFA/Drivers/USB/Class/Device/HID.h
index 631b191b5931a0f9bae95e28525b7a885eaf845c..545baddf3b67e3421bbd47bdd3dda6be9dac4b0d 100644
--- a/LUFA/Drivers/USB/Class/Device/HID.h
+++ b/LUFA/Drivers/USB/Class/Device/HID.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassHID
- *  @defgroup Group_USBClassHIDDevice HID Class Device Mode Driver
+ *  \defgroup Group_USBClassHIDDevice HID Class Device Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Device/MIDI.h b/LUFA/Drivers/USB/Class/Device/MIDI.h
index 3ea45d12757113775ac14481eaf52c561f611831..4016d8a9a322275a8a3c7b4c754e768bd6622f4f 100644
--- a/LUFA/Drivers/USB/Class/Device/MIDI.h
+++ b/LUFA/Drivers/USB/Class/Device/MIDI.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassMIDI
- *  @defgroup Group_USBClassMIDIDevice MIDI Class Device Mode Driver
+ *  \defgroup Group_USBClassMIDIDevice MIDI Class Device Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Device/MassStorage.h b/LUFA/Drivers/USB/Class/Device/MassStorage.h
index 6ca0a7633030fd0abade1d5d7c896012475f1e4c..aceeb6261c43810d55bb607219cb6a6e4ac83c56 100644
--- a/LUFA/Drivers/USB/Class/Device/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Device/MassStorage.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassMS
- *  @defgroup Group_USBClassMSDevice Mass Storage Class Device Mode Driver
+ *  \defgroup Group_USBClassMSDevice Mass Storage Class Device Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Device/RNDIS.h b/LUFA/Drivers/USB/Class/Device/RNDIS.h
index 40d15ef237057d7e394ab588f14543b2255ce8ae..cdc6fbad0a2efc841db9e21e1c5d974f08bd7583 100644
--- a/LUFA/Drivers/USB/Class/Device/RNDIS.h
+++ b/LUFA/Drivers/USB/Class/Device/RNDIS.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassRNDIS
- *  @defgroup Group_USBClassRNDISDevice RNDIS Class Device Mode Driver
+ *  \defgroup Group_USBClassRNDISDevice RNDIS Class Device Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/HID.h b/LUFA/Drivers/USB/Class/HID.h
index 39cef953b8aedde18ebd1a29e3e4afa032d1643c..4eafa752a2f1654912d28ad4ec6d445dea2f2035 100644
--- a/LUFA/Drivers/USB/Class/HID.h
+++ b/LUFA/Drivers/USB/Class/HID.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassDrivers
- *  @defgroup Group_USBClassHID HID Class Driver
+ *  \defgroup Group_USBClassHID HID Class Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Host/CDC.h b/LUFA/Drivers/USB/Class/Host/CDC.h
index 5f59e0c3a338c5b113a852f83e00336d43e83284..bba94fe81c65abc7e4d902d184afc84dbcb1a183 100644
--- a/LUFA/Drivers/USB/Class/Host/CDC.h
+++ b/LUFA/Drivers/USB/Class/Host/CDC.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassCDC
- *  @defgroup Group_USBClassCDCHost CDC Class Host Mode Driver
+ *  \defgroup Group_USBClassCDCHost CDC Class Host Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Host/HID.h b/LUFA/Drivers/USB/Class/Host/HID.h
index 9057845f778e252b77e7c7e29e18e5ab45acaeac..bd67f8f1863087262240aca27d91a012dfecec03 100644
--- a/LUFA/Drivers/USB/Class/Host/HID.h
+++ b/LUFA/Drivers/USB/Class/Host/HID.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassHID
- *  @defgroup Group_USBClassHIDHost HID Class Host Mode Driver
+ *  \defgroup Group_USBClassHIDHost HID Class Host Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Host/MIDI.h b/LUFA/Drivers/USB/Class/Host/MIDI.h
index 13a1e77ce4df24d043b6a66c515950bdc57be2a2..fc31d401d8365aaab77c4aa62033452e8d4eea15 100644
--- a/LUFA/Drivers/USB/Class/Host/MIDI.h
+++ b/LUFA/Drivers/USB/Class/Host/MIDI.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassMIDI
- *  @defgroup Group_USBClassMIDIHost MIDI Class Host Mode Driver
+ *  \defgroup Group_USBClassMIDIHost MIDI Class Host Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h
index 93034c3bc1a66eca61bb1d0667c472c704055cfd..cd2ea453150028107181cc37a57364bec933c01a 100644
--- a/LUFA/Drivers/USB/Class/Host/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassMS
- *  @defgroup Group_USBClassMassStorageHost Mass Storage Class Host Mode Driver
+ *  \defgroup Group_USBClassMassStorageHost Mass Storage Class Host Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Host/Printer.h b/LUFA/Drivers/USB/Class/Host/Printer.h
index 91c13195b52f81cecfac04eba1602630bed02746..096cc592c84b5313aea878944fbc0e4309610603 100644
--- a/LUFA/Drivers/USB/Class/Host/Printer.h
+++ b/LUFA/Drivers/USB/Class/Host/Printer.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassPrinter
- *  @defgroup Group_USBClassPrinterHost Printer Class Host Mode Driver
+ *  \defgroup Group_USBClassPrinterHost Printer Class Host Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Host/RNDIS.h b/LUFA/Drivers/USB/Class/Host/RNDIS.h
index 71ae317e9ac9478033da55afcf0cba03ce91b6f8..68aa347ec1889c09cc04ca2d1de9ca675a39f794 100644
--- a/LUFA/Drivers/USB/Class/Host/RNDIS.h
+++ b/LUFA/Drivers/USB/Class/Host/RNDIS.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassRNDIS
- *  @defgroup Group_USBClassRNDISHost RNDIS Class Host Mode Driver
+ *  \defgroup Group_USBClassRNDISHost RNDIS Class Host Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.h b/LUFA/Drivers/USB/Class/Host/StillImage.h
index 24deb5a7fcdd23518edf0945de534c61caa900ce..51dc1e99dea98d3a3e2f2a6f068481feb25dba77 100644
--- a/LUFA/Drivers/USB/Class/Host/StillImage.h
+++ b/LUFA/Drivers/USB/Class/Host/StillImage.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassSI
- *  @defgroup Group_USBClassStillImageHost Still Image Class Host Mode Driver
+ *  \defgroup Group_USBClassStillImageHost Still Image Class Host Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/MIDI.h b/LUFA/Drivers/USB/Class/MIDI.h
index 5b291896f386354befa1912c7e6e582c3b251638..431df22f0aea3bafdfb45a93d69f3b3a0fc273f8 100644
--- a/LUFA/Drivers/USB/Class/MIDI.h
+++ b/LUFA/Drivers/USB/Class/MIDI.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassDrivers
- *  @defgroup Group_USBClassMIDI MIDI Class Driver
+ *  \defgroup Group_USBClassMIDI MIDI Class Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/MassStorage.h b/LUFA/Drivers/USB/Class/MassStorage.h
index 7dd96c96e47ac5e8cc20c05bdf307fe2b768a0fa..8267c1696fb58cc19114c1e3b7a10f57e29257b8 100644
--- a/LUFA/Drivers/USB/Class/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/MassStorage.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassDrivers
- *  @defgroup Group_USBClassMS Mass Storage Class Driver
+ *  \defgroup Group_USBClassMS Mass Storage Class Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/Printer.h b/LUFA/Drivers/USB/Class/Printer.h
index e53fc717d4e44e055718a3ffd2277c001603be6b..e624128b49c04fe4078f21b2c6e51f08d9e6ed52 100644
--- a/LUFA/Drivers/USB/Class/Printer.h
+++ b/LUFA/Drivers/USB/Class/Printer.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassDrivers
- *  @defgroup Group_USBClassPrinter Printer Class Driver
+ *  \defgroup Group_USBClassPrinter Printer Class Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/RNDIS.h b/LUFA/Drivers/USB/Class/RNDIS.h
index ebcadfdf254a68fd3f4cab992d2fb66e43d0a2e0..5725bea628ae3716a528c4bd7949760b40b67b45 100644
--- a/LUFA/Drivers/USB/Class/RNDIS.h
+++ b/LUFA/Drivers/USB/Class/RNDIS.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassDrivers
- *  @defgroup Group_USBClassRNDIS RNDIS (Networking) Class Driver
+ *  \defgroup Group_USBClassRNDIS RNDIS (Networking) Class Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/Class/StillImage.h b/LUFA/Drivers/USB/Class/StillImage.h
index 35936a60ab3fa1d94db0e39671301899f4eacfbb..dadb98de59a64c92ab0280ddf65422726b2d2588 100644
--- a/LUFA/Drivers/USB/Class/StillImage.h
+++ b/LUFA/Drivers/USB/Class/StillImage.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USBClassDrivers
- *  @defgroup Group_USBClassSI Still Image Class Driver
+ *  \defgroup Group_USBClassSI Still Image Class Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
diff --git a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h
index 3ef95a406659d7faa2a7521bab3767e851730095..d51eb3d93d7b81f532ddedd51528c767b15abdef 100644
--- a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h
+++ b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h
@@ -40,7 +40,7 @@
  */
 
 /** \ingroup Group_Descriptors
- *  @defgroup Group_ConfigDescriptorParser Configuration Descriptor Parser
+ *  \defgroup Group_ConfigDescriptorParser Configuration Descriptor Parser
  *
  *  Functions, macros, variables, enums and types related to the parsing of Configuration Descriptors.
  *
diff --git a/LUFA/Drivers/USB/HighLevel/EndpointStream.h b/LUFA/Drivers/USB/HighLevel/EndpointStream.h
index a6e7200e31caac6b08fec04f8880c382eda88fc6..726378bfb5a55f662329348dae5ba18b23909a4a 100644
--- a/LUFA/Drivers/USB/HighLevel/EndpointStream.h
+++ b/LUFA/Drivers/USB/HighLevel/EndpointStream.h
@@ -39,7 +39,7 @@
  */
 
 /** \ingroup Group_EndpointRW  
- *  @defgroup Group_EndpointStreamRW Read/Write of Multi-Byte Streams
+ *  \defgroup Group_EndpointStreamRW Read/Write of Multi-Byte Streams
  *
  *  Functions, macros, variables, enums and types related to data reading and writing of data streams from
  *  and to endpoints.
diff --git a/LUFA/Drivers/USB/HighLevel/Events.h b/LUFA/Drivers/USB/HighLevel/Events.h
index 53e31f6c1eb19632bc14f4f15622af5aa16b6a19..368774bdd1d7e87fd62e6eaf3406537dac51f59b 100644
--- a/LUFA/Drivers/USB/HighLevel/Events.h
+++ b/LUFA/Drivers/USB/HighLevel/Events.h
@@ -48,7 +48,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_Events USB Events
+ *  \defgroup Group_Events USB Events
  *
  *  This module contains macros and functions relating to the management of library events, which are small
  *  pieces of code similar to ISRs which are run when a given condition is met. Each event can be fired from
diff --git a/LUFA/Drivers/USB/HighLevel/PipeStream.h b/LUFA/Drivers/USB/HighLevel/PipeStream.h
index b2d392af0b7ab84d6a7821ee0973e726c6c882b3..38ab09f0bec54d078b4627f9f491e9d1ed7a47f6 100644
--- a/LUFA/Drivers/USB/HighLevel/PipeStream.h
+++ b/LUFA/Drivers/USB/HighLevel/PipeStream.h
@@ -39,7 +39,7 @@
  */
 
 /** \ingroup Group_PipeRW  
- *  @defgroup Group_PipeStreamRW Read/Write of Multi-Byte Streams
+ *  \defgroup Group_PipeStreamRW Read/Write of Multi-Byte Streams
  *
  *  Functions, macros, variables, enums and types related to data reading and writing of data streams from
  *  and to pipes.
diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
index a6c5231830ed885cb96e3b5eef2afddb01f9010d..7b8f4d7dc6c1f0d117461a89931667ca7fcc94c4 100644
--- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
+++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_Descriptors USB Descriptors
+ *  \defgroup Group_Descriptors USB Descriptors
  *
  *  Standard USB device descriptor defines and retrieval routines, for USB devices. This module contains
  *  structures and macros for the easy creation of standard USB descriptors in USB device projects.
diff --git a/LUFA/Drivers/USB/HighLevel/StdRequestType.h b/LUFA/Drivers/USB/HighLevel/StdRequestType.h
index f8e951eb134acc653fdd2ad0c493f2397db752aa..c62aa502dd03609a4927a31ed18a557600997c60 100644
--- a/LUFA/Drivers/USB/HighLevel/StdRequestType.h
+++ b/LUFA/Drivers/USB/HighLevel/StdRequestType.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_StdRequest Standard USB Requests
+ *  \defgroup Group_StdRequest Standard USB Requests
  *
  *  This module contains definitions for the various control request parameters, so that the request
  *  details (such as data direction, request recipient, etc.) can be extracted via masking.
diff --git a/LUFA/Drivers/USB/HighLevel/USBMode.h b/LUFA/Drivers/USB/HighLevel/USBMode.h
index 91b2697f768b4097f53304dff8bf991834e662d5..58f9927dc9ea64e3a499c1ed87b2a39522348fc8 100644
--- a/LUFA/Drivers/USB/HighLevel/USBMode.h
+++ b/LUFA/Drivers/USB/HighLevel/USBMode.h
@@ -40,7 +40,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_USBMode USB Mode Tokens
+ *  \defgroup Group_USBMode USB Mode Tokens
  *
  *  After the inclusion of the master USB driver header, one or more of the following
  *  tokens may be defined, to allow the user code to conditionally enable or disable
diff --git a/LUFA/Drivers/USB/LowLevel/Device.h b/LUFA/Drivers/USB/LowLevel/Device.h
index 55f4346a17485695c4bb534f9ce9ec08bdd9927b..ae3df4111b43d2decc2370513b088c813d212883 100644
--- a/LUFA/Drivers/USB/LowLevel/Device.h
+++ b/LUFA/Drivers/USB/LowLevel/Device.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_Device Device Management
+ *  \defgroup Group_Device Device Management
  *
  *  USB Device mode related macros and enums. This module contains macros and enums which are used when
  *  the USB controller is initialized in device mode.
diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.h b/LUFA/Drivers/USB/LowLevel/Endpoint.h
index 9ce1380b416ebf50044426aaaa1aa924f76ffe88..455577c5a98036da12dff276d37eacb8fb877436 100644
--- a/LUFA/Drivers/USB/LowLevel/Endpoint.h
+++ b/LUFA/Drivers/USB/LowLevel/Endpoint.h
@@ -39,26 +39,26 @@
  */
 
 /** \ingroup Group_EndpointManagement
- *  @defgroup Group_EndpointRW Endpoint Data Reading and Writing
+ *  \defgroup Group_EndpointRW Endpoint Data Reading and Writing
  *
  *  Functions, macros, variables, enums and types related to data reading and writing from and to endpoints.
  */
 
 /** \ingroup Group_EndpointRW
- *  @defgroup Group_EndpointPrimitiveRW Read/Write of Primitive Data Types
+ *  \defgroup Group_EndpointPrimitiveRW Read/Write of Primitive Data Types
  *
  *  Functions, macros, variables, enums and types related to data reading and writing of primitive data types
  *  from and to endpoints.
  */
 
 /** \ingroup Group_EndpointManagement
- *  @defgroup Group_EndpointPacketManagement Endpoint Packet Management
+ *  \defgroup Group_EndpointPacketManagement Endpoint Packet Management
  *
  *  Functions, macros, variables, enums and types related to packet management of endpoints.
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_EndpointManagement Endpoint Management
+ *  \defgroup Group_EndpointManagement Endpoint Management
  *
  *  Functions, macros and enums related to endpoint management when in USB Device mode. This
  *  module contains the endpoint management macros, as well as endpoint interrupt and data
diff --git a/LUFA/Drivers/USB/LowLevel/Host.h b/LUFA/Drivers/USB/LowLevel/Host.h
index 92a4cb9c576db7d26841e705d6c0df160ad94faa..651daf28bf5bd5e78538172129fa96933ddf4444 100644
--- a/LUFA/Drivers/USB/LowLevel/Host.h
+++ b/LUFA/Drivers/USB/LowLevel/Host.h
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_Host Host Management
+ *  \defgroup Group_Host Host Management
  *
  *  USB Host mode related macros and enums. This module contains macros and enums which are used when
  *  the USB controller is initialized in host mode.
diff --git a/LUFA/Drivers/USB/LowLevel/OTG.h b/LUFA/Drivers/USB/LowLevel/OTG.h
index 5e096ca7a3e7f5ca9ecc76c62c4d05c698594775..2cb751dad3b383d0ca957a6a11ff81c6502a7b53 100644
--- a/LUFA/Drivers/USB/LowLevel/OTG.h
+++ b/LUFA/Drivers/USB/LowLevel/OTG.h
@@ -39,7 +39,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_OTG USB On The Go (OTG) Management
+ *  \defgroup Group_OTG USB On The Go (OTG) Management
  *
  *  This module contains macros for embedded USB hosts with dual role On The Go capabilities, for managing role
  *  exchange. OTG is a way for two USB dual role devices to talk to one another directly without fixed device/host
diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.h b/LUFA/Drivers/USB/LowLevel/Pipe.h
index 75cdf7a7df19387aea5dbfd7c11433b05fa5aab0..34a64a7c50cbeabce81d42bb79708f6d9bb55446 100644
--- a/LUFA/Drivers/USB/LowLevel/Pipe.h
+++ b/LUFA/Drivers/USB/LowLevel/Pipe.h
@@ -39,26 +39,26 @@
  */
 
 /** \ingroup Group_PipeManagement
- *  @defgroup Group_PipeRW Pipe Data Reading and Writing
+ *  \defgroup Group_PipeRW Pipe Data Reading and Writing
  *
  *  Functions, macros, variables, enums and types related to data reading and writing from and to pipes.
  */
 
 /** \ingroup Group_PipeRW
- *  @defgroup Group_PipePrimitiveRW Read/Write of Primitive Data Types
+ *  \defgroup Group_PipePrimitiveRW Read/Write of Primitive Data Types
  *
  *  Functions, macros, variables, enums and types related to data reading and writing of primitive data types
  *  from and to pipes.
  */
 
 /** \ingroup Group_PipeManagement
- *  @defgroup Group_PipePacketManagement Pipe Packet Management
+ *  \defgroup Group_PipePacketManagement Pipe Packet Management
  *
  *  Functions, macros, variables, enums and types related to packet management of pipes.
  */
 
 /** \ingroup Group_PipeManagement
- *  @defgroup Group_PipeControlReq Pipe Control Request Management
+ *  \defgroup Group_PipeControlReq Pipe Control Request Management
  *
  *  Module for host mode request processing. This module allows for the transmission of standard, class and
  *  vendor control requests to the default control endpoint of an attached device while in host mode.
@@ -67,7 +67,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_PipeManagement Pipe Management
+ *  \defgroup Group_PipeManagement Pipe Management
  *
  *  This module contains functions, macros and enums related to pipe management when in USB Host mode. This
  *  module contains the pipe management macros, as well as pipe interrupt and data send/receive functions
diff --git a/LUFA/Drivers/USB/LowLevel/USBController.h b/LUFA/Drivers/USB/LowLevel/USBController.h
index f35c52da94fe1a1dd63370362866e21724c62416..b85539d3e32d5646ffb6582b923ff756509f2c27 100644
--- a/LUFA/Drivers/USB/LowLevel/USBController.h
+++ b/LUFA/Drivers/USB/LowLevel/USBController.h
@@ -39,7 +39,7 @@
  */
 
 /** \ingroup Group_USB
- *  @defgroup Group_USBManagement USB Interface Management
+ *  \defgroup Group_USBManagement USB Interface Management
  *
  *  Functions, macros, variables, enums and types related to the setup and management of the USB interface.
  *
diff --git a/LUFA/Drivers/USB/USB.h b/LUFA/Drivers/USB/USB.h
index ff72a08f3c43fecd3d8896e09fbd6944d7927c30..70dc97e105bb54f4ecfad7a8890b7957643701bf 100644
--- a/LUFA/Drivers/USB/USB.h
+++ b/LUFA/Drivers/USB/USB.h
@@ -37,7 +37,7 @@
  *  including any headers in the USB/LowLevel/ or USB/HighLevel/ subdirectories.
  */
 
-/** @defgroup Group_USB USB Core - LUFA/Drivers/USB/USB.h
+/** \defgroup Group_USB USB Core - LUFA/Drivers/USB/USB.h
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
@@ -71,7 +71,7 @@
  *  of USB management functions found \ref Group_USBManagement.
  */
 
-/** @defgroup Group_USBClassDrivers USB Class Drivers
+/** \defgroup Group_USBClassDrivers USB Class Drivers
  *
  *  Drivers for both host and device mode of the standard USB classes, for rapid application development.
  *  Class drivers give a framework which sits on top of the low level library API, allowing for standard
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 915b83a4db0505a0c24aad30fab3272ecd16b251..26700f6c3be091728e98025ccb788b12192e5754 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -22,6 +22,7 @@
   *   - Added new MAX() and MIN() convenience macros
   *   - Added new Serial_SendData() function to the Serial driver
   *   - Added board driver support for the Sparkfun ATMEGA8U2 breakout board
+  *   - Started internal restructuring for eventual multiple architecture ports
   *  - Library Applications:
   *   - Added ability to write protect Mass Storage disk write operations from the host OS
   *   - Added new MIDIToneGenerator project
diff --git a/LUFA/ManPages/DirectorySummaries.txt b/LUFA/ManPages/DirectorySummaries.txt
index 36ba26d6569c9e17d6146bed632f2163dce2c723..a02d4076b600afe3ea60a7a2929cf37dc712d88f 100644
--- a/LUFA/ManPages/DirectorySummaries.txt
+++ b/LUFA/ManPages/DirectorySummaries.txt
@@ -27,13 +27,12 @@
  *  This folder contains drivers for several of the AVR internal peripherals such as the USART, compatible with
  *  all USB AVR models.
  *
- *  \dir LUFA/Drivers/Peripheral/AVRU4U6U7
- *  \brief AT90USBXXX6, AT90USBXXX7 and ATMEGAXXU4 AVR model peripheral driver files.
+ *  \dir LUFA/Drivers/Peripheral/AVR8
+ *  \brief AVR8 AVR microcontroller model specific peripheral driver files.
  *
  *  This folder contains drivers for several of the AVR internal peripherals such as the USART, compatible only with
- *  the AT90USBXXX6, AT90USBXXX7 and ATMEGAXXU4 USB AVR models, such as the AT90USB1287. Its contents should <b>not</b> be
- *  included by the user application - the dispatch header file located in the parent directory should be used
- *  instead.
+ *  the 8-bit AVR microcontroller models, such as the AT90USB1287. Its contents should <b>not</b> be included by the
+ *  user application - the dispatch header file located in the parent directory should be used instead.
  *
  *  \dir LUFA/Drivers/USB
  *  \brief USB controller peripheral driver files.
diff --git a/LUFA/Scheduler/Scheduler.c b/LUFA/Scheduler/Scheduler.c
index 857e9dd2d6b8e2774029c494f0868b5fac87544c..4e71d4d8745141ad378b3c5aef5db26f75e8801b 100644
--- a/LUFA/Scheduler/Scheduler.c
+++ b/LUFA/Scheduler/Scheduler.c
@@ -31,9 +31,9 @@
 #include "Scheduler.h"
 
 volatile SchedulerDelayCounter_t Scheduler_TickCounter;
-volatile uint8_t                 Scheduler_TotalTasks;
+volatile uint_least8_t           Scheduler_TotalTasks;
 
-bool Scheduler_HasDelayElapsed(const uint16_t Delay,
+bool Scheduler_HasDelayElapsed(const uint_least16_t Delay,
                                SchedulerDelayCounter_t* const DelayCounter)
 {
 	SchedulerDelayCounter_t CurrentTickValue_LCL;
@@ -83,7 +83,7 @@ void Scheduler_SetTaskMode(const TaskPtr_t Task,
 	}
 }
 
-void Scheduler_SetGroupTaskMode(const uint8_t GroupID,
+void Scheduler_SetGroupTaskMode(const uint_least8_t GroupID,
                                 const bool TaskStatus)
 {
 	TaskEntry_t* CurrTask = &Scheduler_TaskList[0];
diff --git a/LUFA/Scheduler/Scheduler.h b/LUFA/Scheduler/Scheduler.h
index 72b8773647b4fa4a15bd7956266ab0d03edf4445..35f165fb40eee2d4d2c2b3ed6d8deab2f083f16b 100644
--- a/LUFA/Scheduler/Scheduler.h
+++ b/LUFA/Scheduler/Scheduler.h
@@ -37,7 +37,7 @@
  *  \deprecated This module is deprecated and will be removed in a future library release.
  */
 
-/** @defgroup Group_Scheduler Simple Task Scheduler - LUFA/Scheduler/Scheduler.h
+/** \defgroup Group_Scheduler Simple Task Scheduler - LUFA/Scheduler/Scheduler.h
  *
  *  \deprecated This module is deprecated and will be removed in a future library release.
  *
@@ -105,11 +105,6 @@
 #define __SCHEDULER_H__
 
 	/* Includes: */
-		#include <stdint.h>
-		#include <stdbool.h>
-
-		#include <util/atomic.h>
-
 		#include "../Common/Common.h"
 
 	/* Enable C linkage for C++ Compilers: */
@@ -180,7 +175,7 @@
 			/** Type define for a variable which can hold a tick delay value for the scheduler up to the maximum delay
 			 *  possible.
 			 */
-			typedef uint16_t SchedulerDelayCounter_t;
+			typedef uint_least16_t SchedulerDelayCounter_t;
 
 			/** \brief Scheduler Task List Entry Structure.
 			 *
@@ -188,9 +183,9 @@
 			 */
 			typedef struct
 			{
-				TaskPtr_t Task;       /**< Pointer to the task to execute. */
-				bool      TaskStatus; /**< Status of the task (either TASK_RUN or TASK_STOP). */
-				uint8_t   GroupID;    /**< Group ID of the task so that its status can be changed as a group. */
+				TaskPtr_t     Task;       /**< Pointer to the task to execute. */
+				bool          TaskStatus; /**< Status of the task (either TASK_RUN or TASK_STOP). */
+				uint_least8_t GroupID;    /**< Group ID of the task so that its status can be changed as a group. */
 			} TaskEntry_t;
 
 		/* Global Variables: */
@@ -198,14 +193,14 @@
 			 *  \ref TaskEntry_t and can be manipulated as desired, although it is preferred that the proper Scheduler
 			 *  functions should be used instead of direct manipulation.
 			 */
-			exter TaskEntry_t Scheduler_TaskList[];
+			extern TaskEntry_t Scheduler_TaskList[];
 
 			/** Contains the total number of tasks in the task list, irrespective of if the task's status is set to
 			 *  \ref TASK_RUN or \ref TASK_STOP.
 			 *
 			 *  \note This value should be treated as read-only, and never altered in user-code.
 			 */
-			extern volatile uint8_t Scheduler_TotalTasks;
+			extern volatile uint_least8_t Scheduler_TotalTasks;
 
 			/**  Contains the current scheduler tick count, for use with the delay functions. If the delay functions
 			 *   are used in the user code, this should be incremented each tick period so that the delays can be
@@ -248,7 +243,7 @@
 			 *      }
 			 *  \endcode
 			 */
-			bool Scheduler_HasDelayElapsed(const uint16_t Delay,
+			bool Scheduler_HasDelayElapsed(const uint_least16_t Delay,
 			                               SchedulerDelayCounter_t* const DelayCounter)
 			                               ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(2);
 
@@ -266,24 +261,25 @@
 			 *  \param[in] GroupID     Value of the task group ID whose status is to be changed.
 			 *  \param[in] TaskStatus  New task status for tasks in the specified group (\ref TASK_RUN or \ref TASK_STOP).
 			 */
-			void Scheduler_SetGroupTaskMode(const uint8_t GroupID,
+			void Scheduler_SetGroupTaskMode(const uint_least8_t GroupID,
 			                                const bool TaskStatus);
 
 	/* Private Interface - For use in library only: */
 	#if !defined(__DOXYGEN__)
 		/* Macros: */
 			#define TOTAL_TASKS                       (sizeof(Scheduler_TaskList) / sizeof(TaskEntry_t))
-			#define MAX_DELAYCTR_COUNT                0xFFFF
+			#define MAX_DELAYCTR_COUNT                UINT_LEAST16_MAX
 
 		/* Inline Functions: */
-			static inline void Scheduler_InitScheduler(const uint8_t TotalTasks) ATTR_ALWAYS_INLINE;
-			static inline void Scheduler_InitScheduler(const uint8_t TotalTasks)
+			static inline void Scheduler_InitScheduler(const uint_least8_t TotalTasks) ATTR_ALWAYS_INLINE;
+			static inline void Scheduler_InitScheduler(const uint_least8_t TotalTasks)
 			{
 				Scheduler_TotalTasks = TotalTasks;
 			}
 
-			static inline void Scheduler_GoSchedule(const uint8_t TotalTasks) ATTR_NO_RETURN ATTR_ALWAYS_INLINE ATTR_DEPRECATED;
-			static inline void Scheduler_GoSchedule(const uint8_t TotalTasks)
+			static inline void Scheduler_GoSchedule(const uint_least8_t TotalTasks)
+			                                        ATTR_NO_RETURN ATTR_ALWAYS_INLINE ATTR_DEPRECATED;
+			static inline void Scheduler_GoSchedule(const uint_least8_t TotalTasks)
 			{
 				Scheduler_InitScheduler(TotalTasks);
 
diff --git a/LUFA/makefile b/LUFA/makefile
index d1710ef808eabc14b388ffa032a764c89380ee09..ccc2afd8c4d6b61d22da39d3e795e1fa5eac74d9 100644
--- a/LUFA/makefile
+++ b/LUFA/makefile
@@ -16,6 +16,11 @@ else
    LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA
 endif
 
+# Check to see if the chip architecture has not been defined in the user makefile, set a default architecture if not
+ifeq ($(origin ARCH), undefined)
+   ARCH = AVR8
+endif
+
 # Define module source file lists
 LUFA_SRC_USB          = $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Device.c             \
                         $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Endpoint.c           \
@@ -45,8 +50,8 @@ LUFA_SRC_USBCLASS     = $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/Audio.c
                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDIS.c            \
                         $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImage.c
 LUFA_SRC_TEMPERATURE  = $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c
-LUFA_SRC_SERIAL       = $(LUFA_ROOT_PATH)/Drivers/Peripheral/Serial.c
-LUFA_SRC_TWI          = $(LUFA_ROOT_PATH)/Drivers/Peripheral/TWI.c
+LUFA_SRC_SERIAL       = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/Serial.c
+LUFA_SRC_TWI          = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/TWI.c
 LUFA_SRC_SCHEDULER    = $(LUFA_ROOT_PATH)/Scheduler/Scheduler.c
 
 
diff --git a/Projects/AVRISP-MKII/makefile b/Projects/AVRISP-MKII/makefile
index 944054efbfec165cc4974b284b5322bce7c6dd93..ecfa0a1288782f926778b64c36af634337f56a09 100644
--- a/Projects/AVRISP-MKII/makefile
+++ b/Projects/AVRISP-MKII/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb162
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -204,7 +208,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/Benito/makefile b/Projects/Benito/makefile
index 1d306803d54f51edf0002cc0651aff240aa0be34..9b19f0da2e369ee3ba73bc24abb7b99e5ccfaebf 100644
--- a/Projects/Benito/makefile
+++ b/Projects/Benito/makefile
@@ -63,6 +63,10 @@
 MCU = atmega32u2
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -190,7 +194,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/Incomplete/StandaloneProgrammer/makefile b/Projects/Incomplete/StandaloneProgrammer/makefile
index 6656d9270eab607124352b056ed1b26b73ece99d..8d6fcedca3729de45807aaa70e890939bc0a961b 100644
--- a/Projects/Incomplete/StandaloneProgrammer/makefile
+++ b/Projects/Incomplete/StandaloneProgrammer/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -190,7 +194,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/LEDNotifier/makefile b/Projects/LEDNotifier/makefile
index 017a3fa4c745916bc96b6d137462abeb8582a11e..a29ff5404e5e8fd55f0b4adff0e6382bcb1e8ef4 100644
--- a/Projects/LEDNotifier/makefile
+++ b/Projects/LEDNotifier/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -181,7 +185,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/MIDIToneGenerator/makefile b/Projects/MIDIToneGenerator/makefile
index 7aee785d8fe7e989b42d333805e5ba950b64d977..6e1a2a32b4cd41d950802eb021662590d79a0e2b 100644
--- a/Projects/MIDIToneGenerator/makefile
+++ b/Projects/MIDIToneGenerator/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -181,7 +185,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/Magstripe/makefile b/Projects/Magstripe/makefile
index 597736dce606295f2e621c7fff9d59593ecf5efa..9e6674f3623c9032ba08da7490b9895c1a6ccbe3 100644
--- a/Projects/Magstripe/makefile
+++ b/Projects/Magstripe/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -193,7 +197,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/MissileLauncher/makefile b/Projects/MissileLauncher/makefile
index d7b35c95d05688c5e971c874bcc1d22cba805a85..e3e550e64a73d86a30a6e210885e07b9c35be6d7 100644
--- a/Projects/MissileLauncher/makefile
+++ b/Projects/MissileLauncher/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -177,7 +181,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/RelayBoard/makefile b/Projects/RelayBoard/makefile
index baad4a74b396887d540ba793c82826107534b7ad..d548ff48354c8e98335b67ea3ffeb653ec55130e 100644
--- a/Projects/RelayBoard/makefile
+++ b/Projects/RelayBoard/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -181,7 +185,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/TempDataLogger/makefile b/Projects/TempDataLogger/makefile
index f6d43621a35743ccd352209f126a5cc664a380e3..66648165e3ad33ade9aaad7f46653382877841cd 100644
--- a/Projects/TempDataLogger/makefile
+++ b/Projects/TempDataLogger/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -190,7 +194,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/USBtoSerial/makefile b/Projects/USBtoSerial/makefile
index f495af68991696b092adcec996b59ea393925922..01141fd1d6dbbe9312d25f775e08700bc42d504e 100644
--- a/Projects/USBtoSerial/makefile
+++ b/Projects/USBtoSerial/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -182,7 +186,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/Webserver/makefile b/Projects/Webserver/makefile
index acc371ad5bc0645feb806f80aaa0cd6f387d4614..2091f8d805be5ba50bd11086382a485ae9267b76 100644
--- a/Projects/Webserver/makefile
+++ b/Projects/Webserver/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -214,7 +218,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)
 
 
diff --git a/Projects/XPLAINBridge/makefile b/Projects/XPLAINBridge/makefile
index ee466dde3a2c9b5da94bc6b78cab0c6315611b1b..437d70ad93b973d23ca0006743ed56e95d0fbd4f 100644
--- a/Projects/XPLAINBridge/makefile
+++ b/Projects/XPLAINBridge/makefile
@@ -63,6 +63,10 @@
 MCU = at90usb1287
 
 
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
 # Target board (see library "Board Types" documentation, NONE for projects not requiring
 # LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 # "Board" inside the application directory.
@@ -206,7 +210,7 @@ CSTANDARD = -std=c99
 # Place -D or -U options here for C sources
 CDEFS  = -DF_CPU=$(F_CPU)UL
 CDEFS += -DF_CLOCK=$(F_CLOCK)UL
-CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH)
 CDEFS += $(LUFA_OPTS)