summaryrefslogtreecommitdiff
path: root/tmk_core/protocol/lufa
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/protocol/lufa')
-rw-r--r--tmk_core/protocol/lufa/lufa.c4
-rw-r--r--tmk_core/protocol/lufa/lufa.mk52
2 files changed, 54 insertions, 2 deletions
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c
index 20bfc8fb3c..f04ca79a0c 100644
--- a/tmk_core/protocol/lufa/lufa.c
+++ b/tmk_core/protocol/lufa/lufa.c
@@ -48,10 +48,10 @@
# include "sleep_led.h"
#endif
#include "suspend.h"
+#include "wait.h"
#include "usb_descriptor.h"
#include "lufa.h"
-#include "quantum.h"
#include "usb_device_state.h"
#include <util/atomic.h>
@@ -858,7 +858,7 @@ void protocol_post_init(void) {
void protocol_pre_task(void) {
#if !defined(NO_USB_STARTUP_CHECK)
if (USB_DeviceState == DEVICE_STATE_Suspended) {
- print("[s]");
+ dprintln("suspending keyboard");
while (USB_DeviceState == DEVICE_STATE_Suspended) {
suspend_power_down();
if (USB_Device_RemoteWakeupEnabled && suspend_wakeup_condition()) {
diff --git a/tmk_core/protocol/lufa/lufa.mk b/tmk_core/protocol/lufa/lufa.mk
new file mode 100644
index 0000000000..b048c1836c
--- /dev/null
+++ b/tmk_core/protocol/lufa/lufa.mk
@@ -0,0 +1,52 @@
+LUFA_DIR = protocol/lufa
+
+# Path to the LUFA library
+LUFA_PATH = $(LIB_PATH)/lufa
+
+# Create the LUFA source path variables by including the LUFA makefile
+ifneq (, $(wildcard $(LUFA_PATH)/LUFA/Build/lufa_sources.mk))
+ # New build system from 20120730
+ LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA
+ DMBS_LUFA_PATH = $(LUFA_PATH)/LUFA/Build/LUFA
+ include $(LUFA_PATH)/LUFA/Build/lufa_sources.mk
+else
+ include $(LUFA_PATH)/LUFA/makefile
+endif
+
+LUFA_SRC = lufa.c \
+ usb_descriptor.c \
+ $(LUFA_SRC_USB)
+
+ifeq ($(strip $(MIDI_ENABLE)), yes)
+ LUFA_SRC += $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDIClassDevice.c
+endif
+
+ifeq ($(strip $(VIRTSER_ENABLE)), yes)
+ LUFA_SRC += $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c
+endif
+
+SRC += $(LUFA_SRC)
+SRC += $(LUFA_DIR)/usb_util.c
+
+# Search Path
+VPATH += $(TMK_PATH)/$(LUFA_DIR)
+VPATH += $(LUFA_PATH)
+
+# LUFA library compile-time options and predefined tokens
+LUFA_OPTS = -DUSB_DEVICE_ONLY
+LUFA_OPTS += -DUSE_FLASH_DESCRIPTORS
+LUFA_OPTS += -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
+LUFA_OPTS += -DFIXED_CONTROL_ENDPOINT_SIZE=8
+LUFA_OPTS += -DFIXED_NUM_CONFIGURATIONS=1
+
+# Remote wakeup fix for ATmega16/32U2 https://github.com/tmk/tmk_keyboard/issues/361
+ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2))
+ LUFA_OPTS += -DNO_LIMITED_CONTROLLER_CONNECT
+endif
+
+OPT_DEFS += -DF_USB=$(F_USB)UL
+OPT_DEFS += -DARCH=ARCH_$(ARCH)
+OPT_DEFS += $(LUFA_OPTS)
+
+# This indicates using LUFA stack
+OPT_DEFS += -DPROTOCOL_LUFA