summary refs log tree commit diff
path: root/lib/lufa/LUFA/CodeTemplates
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2019-08-02 14:02:40 -0700
committerskullydazed <skullydazed@users.noreply.github.com>2019-08-30 15:01:52 -0700
commitcf4575b94a3c65e6535a159fc71fc885aebc2620 (patch)
tree2354f2b7a200e02246a564afefedc32357e62b8e /lib/lufa/LUFA/CodeTemplates
parent75ee8df19e0f14ba466f41ab673dde2fe2fdae9c (diff)
Fix the LUFA lib to use a submodule instead of just files (#6245)
* Remove LUFA files

* Update descriptions for newer version of LUFA

* Create PR6245.md

* Fix CDC(Serial) type errors

* Fix missed merge conflict for AUDIO_DTYPE_CSInterface
Diffstat (limited to 'lib/lufa/LUFA/CodeTemplates')
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.c180
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.h59
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.c106
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.h53
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DeviceTemplate/asf.xml55
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DriverStubs/Board.h82
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DriverStubs/Buttons.h90
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DriverStubs/Dataflash.h223
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DriverStubs/Joystick.h102
-rw-r--r--lib/lufa/LUFA/CodeTemplates/DriverStubs/LEDs.h130
-rw-r--r--lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.c133
-rw-r--r--lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.h56
-rw-r--r--lib/lufa/LUFA/CodeTemplates/HostTemplate/asf.xml41
-rw-r--r--lib/lufa/LUFA/CodeTemplates/LUFAConfig.h167
-rw-r--r--lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA CDC-ACM.inf64
-rw-r--r--lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA RNDIS.inf59
-rw-r--r--lib/lufa/LUFA/CodeTemplates/makefile_template43
17 files changed, 0 insertions, 1643 deletions
diff --git a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.c b/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.c
deleted file mode 100644
index 0b44c0df28..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *
- *  USB Device Descriptors, for library use when in USB device mode. Descriptors are special
- *  computer-readable structures which the host requests upon device enumeration, to determine
- *  the device's capabilities and functions.
- */
-
-#include "Descriptors.h"
-
-/** Device descriptor structure. This descriptor describes the overall device
- *  characteristics, including the supported USB version, control endpoint size
- *  and the number of device configurations. The descriptor is read out by the
- *  USB host when the enumeration process begins.
- */
-const USB_Descriptor_Device_t DeviceDescriptor =
-{
-	.Header                 = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
-
-	.USBSpecification       = VERSION_BCD(2,0,0),
-	.Class                  = USB_CSCP_NoDeviceClass,
-	.SubClass               = USB_CSCP_NoDeviceSubclass,
-	.Protocol               = USB_CSCP_NoDeviceProtocol,
-
-	.Endpoint0Size          = 64,
-
-	.VendorID               = 0x0000,
-	.ProductID              = 0x0000,
-	.ReleaseNumber          = VERSION_BCD(0,0,2),
-
-	.ManufacturerStrIndex   = 0x01,
-	.ProductStrIndex        = 0x02,
-	.SerialNumStrIndex      = NO_DESCRIPTOR,
-
-	.NumberOfConfigurations = 1
-};
-
-/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage
- *  of the device in one of its supported configurations, including information about any device interfaces
- *  and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
- *  a configuration so that the host may correctly communicate with the USB device.
- */
-const USB_Descriptor_Configuration_t ConfigurationDescriptor =
-{
-	.Config =
-		{
-			.Header                   = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
-
-			.TotalConfigurationSize   = sizeof(USB_Descriptor_Configuration_t),
-			.TotalInterfaces          = 0,
-
-			.ConfigurationNumber      = 1,
-			.ConfigurationStrIndex    = NO_DESCRIPTOR,
-
-			.ConfigAttributes         = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_SELFPOWERED),
-
-			.MaxPowerConsumption      = USB_CONFIG_POWER_MA(100)
-		},
-};
-
-/** Language descriptor structure. This descriptor, located in FLASH memory, is returned when the host requests
- *  the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate
- *  via the language ID table available at USB.org what languages the device supports for its string descriptors.
- */
-const USB_Descriptor_String_t LanguageString =
-{
-	.Header                 = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
-
-	.UnicodeString          = {LANGUAGE_ID_ENG}
-};
-
-/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable
- *  form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
- *  Descriptor.
- */
-const USB_Descriptor_String_t ManufacturerString =
-{
-	.Header                 = {.Size = USB_STRING_LEN(14), .Type = DTYPE_String},
-
-	.UnicodeString          = L"Your Name Here"
-};
-
-/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
- *  and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
- *  Descriptor.
- */
-const USB_Descriptor_String_t ProductString =
-{
-	.Header                 = {.Size = USB_STRING_LEN(15), .Type = DTYPE_String},
-
-	.UnicodeString          = L"LUFA USB Device"
-};
-
-/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
- *  documentation) by the application code so that the address and size of a requested descriptor can be given
- *  to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
- *  is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
- *  USB host.
- */
-uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
-                                    const uint16_t wIndex,
-                                    const void** const DescriptorAddress
-									#if defined(HAS_MULTIPLE_DESCRIPTOR_ADDRESS_SPACES)
-									, uint8_t* const DescriptorMemorySpace
-									#endif
-									)
-{
-	const uint8_t  DescriptorType   = (wValue >> 8);
-	const uint8_t  DescriptorNumber = (wValue & 0xFF);
-
-	const void* Address = NULL;
-	uint16_t    Size    = NO_DESCRIPTOR;
-
-	switch (DescriptorType)
-	{
-		case DTYPE_Device:
-			Address = &DeviceDescriptor;
-			Size    = sizeof(USB_Descriptor_Device_t);
-			break;
-		case DTYPE_Configuration:
-			Address = &ConfigurationDescriptor;
-			Size    = sizeof(USB_Descriptor_Configuration_t);
-			break;
-		case DTYPE_String:
-			switch (DescriptorNumber)
-			{
-				case 0x00:
-					Address = &LanguageString;
-					Size    = pgm_read_byte(&LanguageString.Header.Size);
-					break;
-				case 0x01:
-					Address = &ManufacturerString;
-					Size    = pgm_read_byte(&ManufacturerString.Header.Size);
-					break;
-				case 0x02:
-					Address = &ProductString;
-					Size    = pgm_read_byte(&ProductString.Header.Size);
-					break;
-			}
-
-			break;
-	}
-
-	#if defined(HAS_MULTIPLE_DESCRIPTOR_ADDRESS_SPACES)
-	*DescriptorMemorySpace = MEMSPACE_RAM;
-	#endif
-
-	*DescriptorAddress = Address;
-	return Size;
-}
-
diff --git a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.h b/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.h
deleted file mode 100644
index 2bf6a6a346..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *
- *  Header file for Descriptors.c.
- */
-
-#ifndef _DESCRIPTORS_H_
-#define _DESCRIPTORS_H_
-
-	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>
-
-  /* Macros: */
-    #if (defined(ARCH_HAS_MULTI_ADDRESS_SPACE) && \
-         !(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS)))
-      #define HAS_MULTIPLE_DESCRIPTOR_ADDRESS_SPACES
-    #endif
-
-	/* Type Defines: */
-		/** Type define for the device configuration descriptor structure. This must be defined in the
-		 *  application code, as the configuration descriptor contains several sub-descriptors which
-		 *  vary between devices, and which describe the device's usage to the host.
-		 */
-		typedef struct
-		{
-			USB_Descriptor_Configuration_Header_t Config;
-		} USB_Descriptor_Configuration_t;
-
-#endif
-
diff --git a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.c b/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.c
deleted file mode 100644
index 2bc44b492c..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *
- *  Main source file for the USB device application. This file contains the
- *  main tasks of the application and is responsible for the initial
- *  application hardware configuration.
- */
-
-#include "DeviceApplication.h"
-
-/** Main program entry point. This routine contains the overall program flow, including initial
- *  setup of all components and the main program loop.
- */
-int main(void)
-{
-	SetupHardware();
-
-	GlobalInterruptEnable();
-
-	for (;;)
-	{
-		USB_USBTask();
-	}
-}
-
-/** Configures the board hardware and chip peripherals for the demo's functionality. */
-void SetupHardware(void)
-{
-	#if (ARCH == ARCH_AVR8)
-		/* Disable watchdog if enabled by bootloader/fuses */
-		MCUSR &= ~(1 << WDRF);
-		wdt_disable();
-
-		/* Disable clock division */
-		clock_prescale_set(clock_div_1);
-
-		/* Hardware Initialization */
-		USB_Init(USB_MODE_Device, USB_DEVICE_OPT_FULLSPEED | USB_OPT_AUTO_PLL);
-	#elif (ARCH == ARCH_XMEGA)
-		/* Start the PLL to multiply the 2MHz RC oscillator to 32MHz and switch the CPU core to run from it */
-		XMEGACLK_StartPLL(CLOCK_SRC_INT_RC2MHZ, 2000000, F_CPU);
-		XMEGACLK_SetCPUClockSource(CLOCK_SRC_PLL);
-
-		/* Start the 32MHz internal RC oscillator and start the DFLL to increase it to 48MHz using the USB SOF as a reference */
-		XMEGACLK_StartInternalOscillator(CLOCK_SRC_INT_RC32MHZ);
-		XMEGACLK_StartDFLL(CLOCK_SRC_INT_RC32MHZ, DFLL_REF_INT_USBSOF, F_USB);
-
-		PMIC.CTRL = PMIC_LOLVLEN_bm | PMIC_MEDLVLEN_bm | PMIC_HILVLEN_bm;
-
-		/* Hardware Initialization */
-		USB_Init(USB_OPT_RC32MCLKSRC | USB_OPT_BUSEVENT_PRIHIGH);
-	#endif
-}
-
-/** Event handler for the library USB Connection event. */
-void EVENT_USB_Device_Connect(void)
-{
-
-}
-
-/** Event handler for the library USB Disconnection event. */
-void EVENT_USB_Device_Disconnect(void)
-{
-
-}
-
-/** Event handler for the library USB Configuration Changed event. */
-void EVENT_USB_Device_ConfigurationChanged(void)
-{
-
-}
-
-/** Event handler for the library USB Control Request reception event. */
-void EVENT_USB_Device_ControlRequest(void)
-{
-
-}
diff --git a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.h b/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.h
deleted file mode 100644
index b3429099af..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *
- *  Header file for DeviceApplication.c.
- */
-
-#ifndef _USB_DEVICE_APPLICATION_H_
-#define _USB_DEVICE_APPLICATION_H_
-
-	/* Includes: */
-		#include <avr/io.h>
-		#include <avr/wdt.h>
-		#include <avr/power.h>
-
-		#include <LUFA/Platform/Platform.h>
-		#include <LUFA/Drivers/USB/USB.h>
-
-		#include "Descriptors.h"
-
-	/* Function Prototypes: */
-		void SetupHardware(void);
-
-#endif
-
diff --git a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/asf.xml b/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/asf.xml
deleted file mode 100644
index e952714e16..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DeviceTemplate/asf.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<asf xmlversion="1.0">
-	<project caption="USB Device Template" id="lufa.templates.device.project.avr8">
-		<require idref="lufa.templates.device"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8_template"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="usbkey"/>
-
-		<build type="define" name="F_CPU" value="8000000UL"/>
-		<build type="define" name="F_USB" value="8000000UL"/>
-	</project>
-
-	<project caption="USB Device Template" id="lufa.templates.device.project.xmega">
-		<require idref="lufa.templates.device"/>
-		<require idref="lufa.boards.dummy.xmega"/>
-		<generator value="as5_8_template"/>
-
-		<device-support value="atxmega256a3bu"/>
-		<config name="lufa.drivers.board.name" value="a3bu_xplained"/>
-
-		<build type="define" name="F_CPU" value="32000000UL"/>
-		<build type="define" name="F_USB" value="48000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.templates.device" caption="USB Device Template">
-		<info type="description" value="summary">
-		Template for a LUFA USB device mode application.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="USB Device"/>
-			<keyword value="Template Projects"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="c-source" value="DeviceApplication.c"/>
-		<build type="c-source" value="Descriptors.c"/>
-		<build type="header-file" value="DeviceApplication.h"/>
-		<build type="header-file" value="Descriptors.h"/>
-
-		<build type="module-config" subtype="path" value=".."/>
-		<build type="header-file" value="../LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-	</module>
-</asf>
diff --git a/lib/lufa/LUFA/CodeTemplates/DriverStubs/Board.h b/lib/lufa/LUFA/CodeTemplates/DriverStubs/Board.h
deleted file mode 100644
index 9dce2f5907..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DriverStubs/Board.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *  \brief LUFA Custom Board Hardware Information Driver (Template)
- *
- *  This is a stub driver header file, for implementing custom board
- *  layout hardware with compatible LUFA board specific drivers. If
- *  the library is configured to use the BOARD_USER board mode, this
- *  driver file should be completed and copied into the "/Board/" folder
- *  inside the application's folder.
- *
- *  This stub is for the board-specific component of the LUFA Board Hardware
- *  information driver.
- */
-
-#ifndef __BOARD_USER_H__
-#define __BOARD_USER_H__
-
-	/* Includes: */
-		// TODO: Add any required includes here
-
-	/* Enable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			extern "C" {
-		#endif
-
-	/* Preprocessor Checks: */
-		#if !defined(__INCLUDE_FROM_BOARD_H)
-			#error Do not include this file directly. Include LUFA/Drivers/Board/Board.h instead.
-		#endif
-
-	/* Public Interface - May be used in end-application: */
-		/* Macros: */
-			/** Indicates the board has hardware Buttons mounted if defined. */
-//			#define BOARD_HAS_BUTTONS
-
-			/** Indicates the board has a hardware Dataflash mounted if defined. */
-//			#define BOARD_HAS_DATAFLASH
-
-			/** Indicates the board has a hardware Joystick mounted if defined. */
-//			#define BOARD_HAS_JOYSTICK
-
-			/** Indicates the board has hardware LEDs mounted if defined. */
-//			#define BOARD_HAS_LEDS
-
-	/* Disable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			}
-		#endif
-
-#endif
-
-/** @} */
-
diff --git a/lib/lufa/LUFA/CodeTemplates/DriverStubs/Buttons.h b/lib/lufa/LUFA/CodeTemplates/DriverStubs/Buttons.h
deleted file mode 100644
index fd74652c91..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DriverStubs/Buttons.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *  \brief LUFA Custom Board Button Hardware Driver (Template)
- *
- *  This is a stub driver header file, for implementing custom board
- *  layout hardware with compatible LUFA board specific drivers. If
- *  the library is configured to use the BOARD_USER board mode, this
- *  driver file should be completed and copied into the "/Board/" folder
- *  inside the application's folder.
- *
- *  This stub is for the board-specific component of the LUFA Buttons driver,
- *  for the control of physical board-mounted GPIO pushbuttons.
- */
-
-#ifndef __BUTTONS_USER_H__
-#define __BUTTONS_USER_H__
-
-	/* Includes: */
-		// TODO: Add any required includes here
-
-	/* Enable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			extern "C" {
-		#endif
-
-	/* Preprocessor Checks: */
-		#if !defined(__INCLUDE_FROM_BUTTONS_H)
-			#error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
-		#endif
-
-	/* Public Interface - May be used in end-application: */
-		/* Macros: */
-			/** Button mask for the first button on the board. */
-			#define BUTTONS_BUTTON1          // TODO: Add mask for first board button here
-
-		/* Inline Functions: */
-		#if !defined(__DOXYGEN__)
-			static inline void Buttons_Init(void)
-			{
-				// TODO: Initialize the appropriate port pins as an inputs here, with pull-ups
-			}
-
-			static inline void Buttons_Disable(void)
-			{
-				// TODO: Clear the appropriate port pins as high impedance inputs here
-			}
-
-			static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
-			static inline uint8_t Buttons_GetStatus(void)
-			{
-				// TODO: Return current button status here, debounced if required
-			}
-		#endif
-
-	/* Disable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			}
-		#endif
-
-#endif
-
diff --git a/lib/lufa/LUFA/CodeTemplates/DriverStubs/Dataflash.h b/lib/lufa/LUFA/CodeTemplates/DriverStubs/Dataflash.h
deleted file mode 100644
index f405a80d52..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DriverStubs/Dataflash.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *  \brief LUFA Custom Board Dataflash Hardware Driver (Template)
- *
- *  This is a stub driver header file, for implementing custom board
- *  layout hardware with compatible LUFA board specific drivers. If
- *  the library is configured to use the BOARD_USER board mode, this
- *  driver file should be completed and copied into the "/Board/" folder
- *  inside the application's folder.
- *
- *  This stub is for the board-specific component of the LUFA Dataflash
- *  driver.
-*/
-
-#ifndef __DATAFLASH_USER_H__
-#define __DATAFLASH_USER_H__
-
-	/* Includes: */
-		// TODO: Add any required includes here
-
-	/* Preprocessor Checks: */
-		#if !defined(__INCLUDE_FROM_DATAFLASH_H)
-			#error Do not include this file directly. Include LUFA/Drivers/Board/Dataflash.h instead.
-		#endif
-
-	/* Private Interface - For use in library only: */
-	#if !defined(__DOXYGEN__)
-		/* Macros: */
-			#define DATAFLASH_CHIPCS_MASK                // TODO: Replace this with a mask of all the /CS pins of all Dataflashes
-			#define DATAFLASH_CHIPCS_DDR                 // TODO: Replace with the DDR register name for the board's Dataflash ICs
-			#define DATAFLASH_CHIPCS_PORT                // TODO: Replace with the PORT register name for the board's Dataflash ICs
-	#endif
-
-	/* Public Interface - May be used in end-application: */
-		/* Macros: */
-			/** Constant indicating the total number of dataflash ICs mounted on the selected board. */
-			#define DATAFLASH_TOTALCHIPS                 1 // TODO: Replace with the number of Dataflashes on the board, max 2
-
-			/** Mask for no dataflash chip selected. */
-			#define DATAFLASH_NO_CHIP                    0
-
-			/** Mask for the first dataflash chip selected. */
-			#define DATAFLASH_CHIP1                      // TODO: Replace with mask with the pin attached to the first Dataflash /CS set
-
-			/** Mask for the second dataflash chip selected. */
-			#define DATAFLASH_CHIP2                      // TODO: Replace with mask with the pin attached to the second Dataflash /CS set
-
-			/** Internal main memory page size for the board's dataflash ICs. */
-			#define DATAFLASH_PAGE_SIZE                  // TODO: Replace with the page size for the Dataflash ICs
-
-			/** Total number of pages inside each of the board's dataflash ICs. */
-			#define DATAFLASH_PAGES                      // TODO: Replace with the total number of pages inside one of the Dataflash ICs
-
-		/* Inline Functions: */
-		#if !defined(__DOXYGEN__)
-			/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
-			 *  The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
-			 */
-			static inline void Dataflash_Init(void)
-			{
-				DATAFLASH_CHIPCS_DDR  |= DATAFLASH_CHIPCS_MASK;
-				DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
-			}
-
-			/** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.
-			 *
-			 *  \param[in] Byte  Byte of data to send to the dataflash
-			 *
-			 *  \return Last response byte from the dataflash
-			 */
-			static inline uint8_t Dataflash_TransferByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
-			static inline uint8_t Dataflash_TransferByte(const uint8_t Byte)
-			{
-				// TODO
-			}
-
-			/** Sends a byte to the currently selected dataflash IC, and ignores the next byte from the dataflash.
-			 *
-			 *  \param[in] Byte  Byte of data to send to the dataflash
-			 */
-			static inline void Dataflash_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
-			static inline void Dataflash_SendByte(const uint8_t Byte)
-			{
-				// TODO
-			}
-
-			/** Sends a dummy byte to the currently selected dataflash IC, and returns the next byte from the dataflash.
-			 *
-			 *  \return Last response byte from the dataflash
-			 */
-			static inline uint8_t Dataflash_ReceiveByte(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
-			static inline uint8_t Dataflash_ReceiveByte(void)
-			{
-				// TODO
-			}
-
-			/** Determines the currently selected dataflash chip.
-			 *
-			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
-			 *          or a DATAFLASH_CHIPn mask (where n is the chip number).
-			 */
-			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
-			static inline uint8_t Dataflash_GetSelectedChip(void)
-			{
-				return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
-			}
-
-			/** Selects the given dataflash chip.
-			 *
-			 *  \param[in]  ChipMask  Mask of the Dataflash IC to select, in the form of a \c DATAFLASH_CHIPn mask (where n is
-			 *              the chip number).
-			 */
-			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
-			static inline void Dataflash_SelectChip(const uint8_t ChipMask)
-			{
-				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask);
-			}
-
-			/** Deselects the current dataflash chip, so that no dataflash is selected. */
-			static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
-			static inline void Dataflash_DeselectChip(void)
-			{
-				Dataflash_SelectChip(DATAFLASH_NO_CHIP);
-			}
-
-			/** Selects a dataflash IC from the given page number, which should range from 0 to
-			 *  ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
-			 *  dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
-			 *  the total number of pages contained in the boards dataflash ICs, all dataflash ICs
-			 *  are deselected.
-			 *
-			 *  \param[in] PageAddress  Address of the page to manipulate, ranging from
-			 *                          0 to ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
-			 */
-			static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress)
-			{
-				Dataflash_DeselectChip();
-
-				if (PageAddress >= (DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS))
-				  return;
-
-				#if (DATAFLASH_TOTALCHIPS == 2)
-					if (PageAddress & 0x01)
-					  Dataflash_SelectChip(DATAFLASH_CHIP2);
-					else
-					  Dataflash_SelectChip(DATAFLASH_CHIP1);
-				#else
-					Dataflash_SelectChip(DATAFLASH_CHIP1);
-				#endif
-			}
-
-			/** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
-			 *  a new command.
-			 */
-			static inline void Dataflash_ToggleSelectedChipCS(void)
-			{
-				uint8_t SelectedChipMask = Dataflash_GetSelectedChip();
-
-				Dataflash_DeselectChip();
-				Dataflash_SelectChip(SelectedChipMask);
-			}
-
-			/** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
-			 *  memory page program or main memory to buffer transfer.
-			 */
-			static inline void Dataflash_WaitWhileBusy(void)
-			{
-				Dataflash_ToggleSelectedChipCS();
-				Dataflash_SendByte(DF_CMD_GETSTATUS);
-				while (!(Dataflash_ReceiveByte() & DF_STATUS_READY));
-				Dataflash_ToggleSelectedChipCS();
-			}
-
-			/** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
-			 *  dataflash commands which require a complete 24-bit address.
-			 *
-			 *  \param[in] PageAddress  Page address within the selected dataflash IC
-			 *  \param[in] BufferByte   Address within the dataflash's buffer
-			 */
-			static inline void Dataflash_SendAddressBytes(uint16_t PageAddress,
-			                                              const uint16_t BufferByte)
-			{
-				#if (DATAFLASH_TOTALCHIPS == 2)
-					PageAddress >>= 1;
-				#endif
-
-				Dataflash_SendByte(PageAddress >> 5);
-				Dataflash_SendByte((PageAddress << 3) | (BufferByte >> 8));
-				Dataflash_SendByte(BufferByte);
-			}
-		#endif
-
-#endif
-
diff --git a/lib/lufa/LUFA/CodeTemplates/DriverStubs/Joystick.h b/lib/lufa/LUFA/CodeTemplates/DriverStubs/Joystick.h
deleted file mode 100644
index bf17c43c4c..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DriverStubs/Joystick.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *  \brief LUFA Custom Board Joystick Hardware Driver (Template)
- *
- *  This is a stub driver header file, for implementing custom board
- *  layout hardware with compatible LUFA board specific drivers. If
- *  the library is configured to use the BOARD_USER board mode, this
- *  driver file should be completed and copied into the "/Board/" folder
- *  inside the application's folder.
- *
- *  This stub is for the board-specific component of the LUFA Joystick
- *  driver, for a digital four-way (plus button) joystick.
-*/
-
-#ifndef __JOYSTICK_USER_H__
-#define __JOYSTICK_USER_H__
-
-	/* Includes: */
-		// TODO: Add any required includes here
-
-	/* Enable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			extern "C" {
-		#endif
-
-	/* Preprocessor Checks: */
-		#if !defined(__INCLUDE_FROM_JOYSTICK_H)
-			#error Do not include this file directly. Include LUFA/Drivers/Board/Joystick.h instead.
-		#endif
-
-	/* Public Interface - May be used in end-application: */
-		/* Macros: */
-			/** Mask for the joystick being pushed in the left direction. */
-			#define JOY_LEFT                  // TODO: Add mask to indicate joystick left position here
-
-			/** Mask for the joystick being pushed in the right direction. */
-			#define JOY_RIGHT                 // TODO: Add mask to indicate joystick right position here
-
-			/** Mask for the joystick being pushed in the upward direction. */
-			#define JOY_UP                    // TODO: Add mask to indicate joystick up position here
-
-			/** Mask for the joystick being pushed in the downward direction. */
-			#define JOY_DOWN                  // TODO: Add mask to indicate joystick down position here
-
-			/** Mask for the joystick being pushed inward. */
-			#define JOY_PRESS                 // TODO: Add mask to indicate joystick pressed position here
-
-		/* Inline Functions: */
-		#if !defined(__DOXYGEN__)
-			static inline void Joystick_Init(void)
-			{
-				// TODO: Initialize joystick port pins as inputs with pull-ups
-			}
-
-			static inline void Joystick_Disable(void)
-			{
-				// TODO: Clear the joystick pins as high impedance inputs here
-			}
-
-			static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
-			static inline uint8_t Joystick_GetStatus(void)
-			{
-				// TODO: Return current joystick position data which can be obtained by masking against the JOY_* macros
-			}
-		#endif
-
-	/* Disable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			}
-		#endif
-
-#endif
-
diff --git a/lib/lufa/LUFA/CodeTemplates/DriverStubs/LEDs.h b/lib/lufa/LUFA/CodeTemplates/DriverStubs/LEDs.h
deleted file mode 100644
index d7d2f50236..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/DriverStubs/LEDs.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *  \brief LUFA Custom Board LED Hardware Driver (Template)
- *
- *  This is a stub driver header file, for implementing custom board
- *  layout hardware with compatible LUFA board specific drivers. If
- *  the library is configured to use the BOARD_USER board mode, this
- *  driver file should be completed and copied into the "/Board/" folder
- *  inside the application's folder.
- *
- *  This stub is for the board-specific component of the LUFA LEDs driver,
- *  for the LEDs (up to four) mounted on most development boards.
-*/
-
-#ifndef __LEDS_USER_H__
-#define __LEDS_USER_H__
-
-	/* Includes: */
-		// TODO: Add any required includes here
-
-	/* Enable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			extern "C" {
-		#endif
-
-	/* Preprocessor Checks: */
-		#if !defined(__INCLUDE_FROM_LEDS_H)
-			#error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
-		#endif
-
-	/* Public Interface - May be used in end-application: */
-		/* Macros: */
-			/** LED mask for the first LED on the board. */
-			#define LEDS_LED1        // TODO: Add mask for first board LED here
-
-			/** LED mask for the second LED on the board. */
-			#define LEDS_LED2        // TODO: Add mask for second board LED here
-
-			/** LED mask for the third LED on the board. */
-			#define LEDS_LED3        // TODO: Add mask for third board LED here
-
-			/** LED mask for the fourth LED on the board. */
-			#define LEDS_LED4        // TODO: Add mask for fourth board LED here
-
-			/** LED mask for all the LEDs on the board. */
-			#define LEDS_ALL_LEDS    (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
-
-			/** LED mask for none of the board LEDs. */
-			#define LEDS_NO_LEDS     0
-
-		/* Inline Functions: */
-		#if !defined(__DOXYGEN__)
-			static inline void LEDs_Init(void)
-			{
-				// TODO: Add code to initialize LED port pins as outputs here
-			}
-
-			static inline void LEDs_Disable(void)
-			{
-				// TODO: Clear the LED port pins as high impedance inputs here
-			}
-
-			static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
-			{
-				// TODO: Add code to turn on LEDs given in the LEDMask mask here, leave others as-is
-			}
-
-			static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
-			{
-				// TODO: Add code to turn off LEDs given in the LEDMask mask here, leave others as-is
-			}
-
-			static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
-			{
-				// TODO: Add code to turn on only LEDs given in the LEDMask mask here, all others off
-			}
-
-			static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask)
-			{
-				// TODO: Add code to set the Leds in the given LEDMask to the status given in ActiveMask here
-			}
-
-			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
-			{
-				// TODO: Add code to toggle the Leds in the given LEDMask, ignoring all others
-			}
-
-			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
-			static inline uint8_t LEDs_GetLEDs(void)
-			{
-				// TODO: Add code to return the current LEDs status' here which can be masked against LED_LED* macros
-			}
-		#endif
-
-	/* Disable C linkage for C++ Compilers: */
-		#if defined(__cplusplus)
-			}
-		#endif
-
-#endif
-
diff --git a/lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.c b/lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.c
deleted file mode 100644
index e0774b3cd3..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *
- *  Main source file for the USB host application. This file contains the
- *  main tasks of the application and is responsible for the initial
- *  application hardware configuration.
- */
-
-#include "HostApplication.h"
-
-/** Main program entry point. This routine configures the hardware required by the application, then
- *  enters a loop to run the application tasks in sequence.
- */
-int main(void)
-{
-	SetupHardware();
-
-	GlobalInterruptEnable();
-
-	for (;;)
-	{
-		USB_USBTask();
-	}
-}
-
-/** Configures the board hardware and chip peripherals for the demo's functionality. */
-void SetupHardware(void)
-{
-	/* Disable watchdog if enabled by bootloader/fuses */
-	MCUSR &= ~(1 << WDRF);
-	wdt_disable();
-
-	/* Disable clock division */
-	clock_prescale_set(clock_div_1);
-
-	/* Hardware Initialization */
-	USB_Init(USB_MODE_Host, USB_DEVICE_OPT_FULLSPEED | USB_OPT_AUTO_PLL);
-}
-
-/** Event handler for the USB_DeviceAttached event. This indicates that a device has been attached to the host, and
- *  starts the library USB task to begin the enumeration and USB management process.
- */
-void EVENT_USB_Host_DeviceAttached(void)
-{
-
-}
-
-/** Event handler for the USB_DeviceUnattached event. This indicates that a device has been removed from the host, and
- *  stops the library USB task management process.
- */
-void EVENT_USB_Host_DeviceUnattached(void)
-{
-
-}
-
-/** Event handler for the USB_DeviceEnumerationComplete event. This indicates that a device has been successfully
- *  enumerated by the host and is now ready to be used by the application.
- */
-void EVENT_USB_Host_DeviceEnumerationComplete(void)
-{
-	uint16_t ConfigDescriptorSize;
-	uint8_t  ConfigDescriptorData[512];
-
-	if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData,
-	                                       sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful)
-	{
-		return;
-	}
-
-	if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful)
-	{
-		return;
-	}
-}
-
-/** Event handler for the USB_HostError event. This indicates that a hardware error occurred while in host mode. */
-void EVENT_USB_Host_HostError(const uint8_t ErrorCode)
-{
-	USB_Disable();
-	for(;;);
-}
-
-/** Event handler for the USB_DeviceEnumerationFailed event. This indicates that a problem occurred while
- *  enumerating an attached USB device.
- */
-void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode,
-                                            const uint8_t SubErrorCode)
-{
-
-}
-
-/* Required callback for retrieving descriptors from a LUFA device - unless the USB_HOST_ONLY configuration
- * option is set, this is still required even in an application that uses host mode only.
- */
-uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
-		const uint16_t wIndex,
-		const void** const DescriptorAddress
-#if defined(HAS_MULTIPLE_DESCRIPTOR_ADDRESS_SPACES)
-		, uint8_t* const DescriptorMemorySpace
-#endif
-)
-{
-	return 0;
-}
diff --git a/lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.h b/lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.h
deleted file mode 100644
index 31eea287ca..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *
- *  Header file for HostApplication.c.
- */
-
-#ifndef _USB_HOST_APPLICATION_H_
-#define _USB_HOST_APPLICATION_H_
-
-	/* Includes: */
-		#include <avr/io.h>
-		#include <avr/wdt.h>
-		#include <avr/power.h>
-
-		#include <LUFA/Drivers/USB/USB.h>
-
-	/* Macros: */
-		#if (defined(ARCH_HAS_MULTI_ADDRESS_SPACE) && \
-			 !(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS)))
-		  #define HAS_MULTIPLE_DESCRIPTOR_ADDRESS_SPACES
-		#endif
-
-	/* Function Prototypes: */
-		void SetupHardware(void);
-
-#endif
-
diff --git a/lib/lufa/LUFA/CodeTemplates/HostTemplate/asf.xml b/lib/lufa/LUFA/CodeTemplates/HostTemplate/asf.xml
deleted file mode 100644
index c3860c056d..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/HostTemplate/asf.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<asf xmlversion="1.0">
-	<project caption="USB Host Template" id="lufa.templates.host.project">
-		<require idref="lufa.templates.host"/>
-		<require idref="lufa.boards.dummy.avr8"/>
-		<generator value="as5_8_template"/>
-
-		<device-support value="at90usb1287"/>
-		<config name="lufa.drivers.board.name" value="usbkey"/>
-
-		<build type="define" name="F_CPU" value="8000000UL"/>
-		<build type="define" name="F_USB" value="8000000UL"/>
-	</project>
-
-	<module type="application" id="lufa.templates.host" caption="USB Host Template">
-		<info type="description" value="summary">
-		Template for a LUFA USB host mode application.
-		</info>
-
- 		<info type="gui-flag" value="move-to-root"/>
-
-		<info type="keyword" value="Technology">
-			<keyword value="USB Host"/>
-			<keyword value="Template Projects"/>
-		</info>
-
-		<device-support-alias value="lufa_avr8"/>
-		<device-support-alias value="lufa_xmega"/>
-		<device-support-alias value="lufa_uc3"/>
-
-		<build type="c-source" value="HostApplication.c"/>
-		<build type="header-file" value="HostApplication.h"/>
-
-		<build type="module-config" subtype="path" value=".."/>
-		<build type="header-file" value="../LUFAConfig.h"/>
-
-		<require idref="lufa.common"/>
-		<require idref="lufa.platform"/>
-		<require idref="lufa.drivers.usb"/>
-		<require idref="lufa.drivers.board"/>
-	</module>
-</asf>
diff --git a/lib/lufa/LUFA/CodeTemplates/LUFAConfig.h b/lib/lufa/LUFA/CodeTemplates/LUFAConfig.h
deleted file mode 100644
index bf6ee37e2e..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/LUFAConfig.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2017.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *  \brief LUFA Library Configuration Header File (Template)
- *
- *  This is a header file which can be used to configure LUFA's
- *  compile time options, as an alternative to the compile time
- *  constants supplied through a makefile. To use this configuration
- *  header, copy this into your project's root directory and supply
- *  the \c USE_LUFA_CONFIG_HEADER token to the compiler so that it is
- *  defined in all compiled source files.
- *
- *  For information on what each token does, refer to the LUFA
- *  manual section "Summary of Compile Tokens".
- */
-
-#ifndef __LUFA_CONFIG_H__
-#define __LUFA_CONFIG_H__
-
-	#if (ARCH == ARCH_AVR8)
-
-		/* Non-USB Related Configuration Tokens: */
-//		#define DISABLE_TERMINAL_CODES
-
-		/* USB Class Driver Related Tokens: */
-//		#define HID_HOST_BOOT_PROTOCOL_ONLY
-//		#define HID_STATETABLE_STACK_DEPTH       {Insert Value Here}
-//		#define HID_USAGE_STACK_DEPTH            {Insert Value Here}
-//		#define HID_MAX_COLLECTIONS              {Insert Value Here}
-//		#define HID_MAX_REPORTITEMS              {Insert Value Here}
-//		#define HID_MAX_REPORT_IDS               {Insert Value Here}
-//		#define NO_CLASS_DRIVER_AUTOFLUSH
-
-		/* General USB Driver Related Tokens: */
-//		#define ORDERED_EP_CONFIG
-//		#define USE_STATIC_OPTIONS               {Insert Value Here}
-//		#define USB_DEVICE_ONLY
-//		#define USB_HOST_ONLY
-//		#define USB_STREAM_TIMEOUT_MS            {Insert Value Here}
-//		#define NO_LIMITED_CONTROLLER_CONNECT
-//		#define NO_SOF_EVENTS
-
-		/* USB Device Mode Driver Related Tokens: */
-//		#define USE_RAM_DESCRIPTORS
-//		#define USE_FLASH_DESCRIPTORS
-//		#define USE_EEPROM_DESCRIPTORS
-//		#define NO_INTERNAL_SERIAL
-//		#define FIXED_CONTROL_ENDPOINT_SIZE      {Insert Value Here}
-//		#define DEVICE_STATE_AS_GPIOR            {Insert Value Here}
-//		#define FIXED_NUM_CONFIGURATIONS         {Insert Value Here}
-//		#define CONTROL_ONLY_DEVICE
-//		#define INTERRUPT_CONTROL_ENDPOINT
-//		#define NO_DEVICE_REMOTE_WAKEUP
-//		#define NO_DEVICE_SELF_POWER
-
-		/* USB Host Mode Driver Related Tokens: */
-//		#define HOST_STATE_AS_GPIOR              {Insert Value Here}
-//		#define USB_HOST_TIMEOUT_MS              {Insert Value Here}
-//		#define HOST_DEVICE_SETTLE_DELAY_MS	     {Insert Value Here}
-//		#define NO_AUTO_VBUS_MANAGEMENT
-//		#define INVERTED_VBUS_ENABLE_LINE
-
-	#elif (ARCH == ARCH_XMEGA)
-
-		/* Non-USB Related Configuration Tokens: */
-//		#define DISABLE_TERMINAL_CODES
-
-		/* USB Class Driver Related Tokens: */
-//		#define HID_HOST_BOOT_PROTOCOL_ONLY
-//		#define HID_STATETABLE_STACK_DEPTH       {Insert Value Here}
-//		#define HID_USAGE_STACK_DEPTH            {Insert Value Here}
-//		#define HID_MAX_COLLECTIONS              {Insert Value Here}
-//		#define HID_MAX_REPORTITEMS              {Insert Value Here}
-//		#define HID_MAX_REPORT_IDS               {Insert Value Here}
-//		#define NO_CLASS_DRIVER_AUTOFLUSH
-
-		/* General USB Driver Related Tokens: */
-//		#define USE_STATIC_OPTIONS               {Insert Value Here}
-//		#define USB_STREAM_TIMEOUT_MS            {Insert Value Here}
-//		#define NO_LIMITED_CONTROLLER_CONNECT
-//		#define NO_SOF_EVENTS
-
-		/* USB Device Mode Driver Related Tokens: */
-//		#define USE_RAM_DESCRIPTORS
-//		#define USE_FLASH_DESCRIPTORS
-//		#define USE_EEPROM_DESCRIPTORS
-//		#define NO_INTERNAL_SERIAL
-//		#define FIXED_CONTROL_ENDPOINT_SIZE      {Insert Value Here}
-//		#define DEVICE_STATE_AS_GPIOR            {Insert Value Here}
-//		#define FIXED_NUM_CONFIGURATIONS         {Insert Value Here}
-//		#define CONTROL_ONLY_DEVICE
-// 		#define MAX_ENDPOINT_INDEX               {Insert Value Here}
-//		#define NO_DEVICE_REMOTE_WAKEUP
-//		#define NO_DEVICE_SELF_POWER
-
-	#elif (ARCH == ARCH_UC3)
-
-		/* Non-USB Related Configuration Tokens: */
-//		#define DISABLE_TERMINAL_CODES
-
-		/* USB Class Driver Related Tokens: */
-//		#define HID_HOST_BOOT_PROTOCOL_ONLY
-//		#define HID_STATETABLE_STACK_DEPTH       {Insert Value Here}
-//		#define HID_USAGE_STACK_DEPTH            {Insert Value Here}
-//		#define HID_MAX_COLLECTIONS              {Insert Value Here}
-//		#define HID_MAX_REPORTITEMS              {Insert Value Here}
-//		#define HID_MAX_REPORT_IDS               {Insert Value Here}
-//		#define NO_CLASS_DRIVER_AUTOFLUSH
-
-		/* General USB Driver Related Tokens: */
-//		#define ORDERED_EP_CONFIG
-//		#define USE_STATIC_OPTIONS               {Insert Value Here}
-//		#define USB_DEVICE_ONLY
-//		#define USB_HOST_ONLY
-//		#define USB_STREAM_TIMEOUT_MS            {Insert Value Here}
-//		#define NO_SOF_EVENTS
-
-		/* USB Device Mode Driver Related Tokens: */
-//		#define NO_INTERNAL_SERIAL
-//		#define FIXED_CONTROL_ENDPOINT_SIZE      {Insert Value Here}
-//		#define FIXED_NUM_CONFIGURATIONS         {Insert Value Here}
-//		#define CONTROL_ONLY_DEVICE
-//		#define INTERRUPT_CONTROL_ENDPOINT
-//		#define NO_DEVICE_REMOTE_WAKEUP
-//		#define NO_DEVICE_SELF_POWER
-
-		/* USB Host Mode Driver Related Tokens: */
-//		#define USB_HOST_TIMEOUT_MS              {Insert Value Here}
-//		#define HOST_DEVICE_SETTLE_DELAY_MS	     {Insert Value Here}
-//		#define NO_AUTO_VBUS_MANAGEMENT
-//		#define INVERTED_VBUS_ENABLE_LINE
-
-	#else
-
-		#error Unsupported architecture for this LUFA configuration file.
-
-	#endif
-#endif
-
diff --git a/lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA CDC-ACM.inf b/lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA CDC-ACM.inf
deleted file mode 100644
index 212b5bbcb3..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA CDC-ACM.inf
+++ /dev/null
@@ -1,64 +0,0 @@
-;     Windows LUFA CDC ACM Setup File
-; Copyright (c) 2000 Microsoft Corporation
-
-[DefaultInstall]
-CopyINF="LUFA CDC-ACM.inf"
-
-[Version]
-Signature="$Windows NT$"
-Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%MFGNAME%
-DriverVer=7/1/2012,10.0.0.0
-
-[Manufacturer]
-%MFGNAME%=DeviceList, NTx86, NTamd64, NTia64
-
-[SourceDisksNames]
-
-[SourceDisksFiles]
-
-[DestinationDirs]
-DefaultDestDir=12
-
-[DriverInstall]
-Include=mdmcpq.inf
-CopyFiles=FakeModemCopyFileSection
-AddReg=DriverInstall.AddReg
-
-[DriverInstall.Services]
-Include=mdmcpq.inf
-AddService=usbser, 0x00000002, LowerFilter_Service_Inst
-
-[DriverInstall.AddReg]
-HKR,,EnumPropPages32,,"msports.dll,SerialPortPropPageProvider"
-
-;------------------------------------------------------------------------------
-;  Vendor and Product ID Definitions
-;------------------------------------------------------------------------------
-; When developing your USB device, the VID and PID used in the PC side
-; application program and the firmware on the microcontroller must match.
-; Modify the below line to use your VID and PID.  Use the format as shown below.
-; Note: One INF file can be used for multiple devices with different VID and PIDs.
-; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
-;------------------------------------------------------------------------------
-[DeviceList]
-%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
-
-[DeviceList.NTx86]
-%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
-
-[DeviceList.NTamd64]
-%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
-
-[DeviceList.NTia64]
-%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
-
-;------------------------------------------------------------------------------
-;  String Definitions
-;------------------------------------------------------------------------------
-;Modify these strings to customize your device
-;------------------------------------------------------------------------------
-[Strings]
-MFGNAME="http://www.lufa-lib.org"
-DESCRIPTION="LUFA CDC-ACM Virtual Serial Port"
diff --git a/lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA RNDIS.inf b/lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA RNDIS.inf
deleted file mode 100644
index 73ca50e687..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA RNDIS.inf
+++ /dev/null
@@ -1,59 +0,0 @@
-;     Windows LUFA RNDIS Setup File
-; Copyright (c) 2000 Microsoft Corporation
-
-[DefaultInstall]
-CopyINF="LUFA RNDIS.inf"
-
-[Version]
-Signature="$Windows NT$"
-Class=Net
-ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318}
-Provider=%MFGNAME%
-DriverVer=7/1/2012,10.0.0.0
-
-[Manufacturer]
-%MFGNAME%=DeviceList, NTx86, NTamd64, NTia64
-
-[ControlFlags]
-ExcludeFromSelect=*
-
-[DriverInstall]
-Characteristics=0x84 ; NCF_PHYSICAL + NCF_HAS_UI
-BusType=15
-include=netrndis.inf
-needs=Usb_Rndis.ndi
-AddReg=Rndis_AddReg_Vista
-
-[DriverInstall.Services]
-include=netrndis.inf
-needs=Usb_Rndis.ndi.Services
-
-;------------------------------------------------------------------------------
-;  Vendor and Product ID Definitions
-;------------------------------------------------------------------------------
-; When developing your USB device, the VID and PID used in the PC side
-; application program and the firmware on the microcontroller must match.
-; Modify the below line to use your VID and PID.  Use the format as shown below.
-; Note: One INF file can be used for multiple devices with different VID and PIDs.
-; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
-;------------------------------------------------------------------------------
-[DeviceList]
-%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
-
-[DeviceList.NTx86]
-%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
-
-[DeviceList.NTamd64]
-%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
-
-[DeviceList.NTia64]
-%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
-
-;------------------------------------------------------------------------------
-;  String Definitions
-;------------------------------------------------------------------------------
-;Modify these strings to customize your device
-;------------------------------------------------------------------------------
-[Strings]
-MFGNAME="http://www.lufa-lib.org"
-DESCRIPTION="LUFA RNDIS USB Ethernet Adapter"
diff --git a/lib/lufa/LUFA/CodeTemplates/makefile_template b/lib/lufa/LUFA/CodeTemplates/makefile_template
deleted file mode 100644
index 945d6fd613..0000000000
--- a/lib/lufa/LUFA/CodeTemplates/makefile_template
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-#             LUFA Library
-#     Copyright (C) Dean Camera, 2017.
-#
-#  dean [at] fourwalledcubicle [dot] com
-#           www.lufa-lib.org
-#
-# --------------------------------------
-#         LUFA Project Makefile.
-# --------------------------------------
-
-# Run "make help" for target help.
-
-MCU          = at90usb1287
-ARCH         = AVR8
-BOARD        = USBKEY
-F_CPU        = 8000000
-F_USB        = $(F_CPU)
-OPTIMIZATION = s
-TARGET       = Target
-SRC          = $(TARGET).c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) $(LUFA_SRC_PLATFORM)
-LUFA_PATH    = ../../LUFA
-CC_FLAGS     = -DUSE_LUFA_CONFIG_HEADER -IConfig
-LD_FLAGS     =
-
-# Default target
-all:
-
-# Include LUFA-specific DMBS extension modules
-DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
-include $(DMBS_LUFA_PATH)/lufa-sources.mk
-include $(DMBS_LUFA_PATH)/lufa-gcc.mk
-
-# Include common DMBS build system modules
-DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
-include $(DMBS_PATH)/core.mk
-include $(DMBS_PATH)/cppcheck.mk
-include $(DMBS_PATH)/doxygen.mk
-include $(DMBS_PATH)/dfu.mk
-include $(DMBS_PATH)/gcc.mk
-include $(DMBS_PATH)/hid.mk
-include $(DMBS_PATH)/avrdude.mk
-include $(DMBS_PATH)/atprogram.mk