mirror of
https://github.com/qmk/qmk_firmware
synced 2024-11-13 23:44:54 +00:00
712476cd28
This implements some helper functions that allow sending key reports to an SPI based Bluetooth Low Energy module, such as the Adafruit Feather 32u4 Bluefruit LE. There is some plumbing required in lufa.c to enable this; that is in a follow-on commit.
68 lines
1.8 KiB
Makefile
68 lines
1.8 KiB
Makefile
LUFA_DIR = protocol/lufa
|
|
|
|
# Path to the LUFA library
|
|
LUFA_PATH ?= $(LUFA_DIR)/LUFA-git
|
|
|
|
|
|
# Create the LUFA source path variables by including the LUFA makefile
|
|
ifneq (, $(wildcard $(TMK_PATH)/$(LUFA_PATH)/LUFA/Build/lufa_sources.mk))
|
|
# New build system from 20120730
|
|
LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA
|
|
include $(TMK_PATH)/$(LUFA_PATH)/LUFA/Build/lufa_sources.mk
|
|
else
|
|
include $(TMK_PATH)/$(LUFA_PATH)/LUFA/makefile
|
|
endif
|
|
|
|
LUFA_SRC = lufa.c \
|
|
descriptor.c \
|
|
$(LUFA_SRC_USB)
|
|
|
|
ifeq ($(strip $(MIDI_ENABLE)), yes)
|
|
include $(TMK_PATH)/protocol/midi.mk
|
|
endif
|
|
|
|
ifeq ($(strip $(ADAFRUIT_BLE_ENABLE)), yes)
|
|
LUFA_SRC += $(LUFA_DIR)/adafruit_ble.cpp
|
|
endif
|
|
|
|
ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
|
|
LUFA_SRC += $(LUFA_DIR)/bluetooth.c \
|
|
$(TMK_DIR)/protocol/serial_uart.c
|
|
endif
|
|
|
|
ifeq ($(strip $(VIRTSER_ENABLE)), yes)
|
|
LUFA_SRC += $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c
|
|
endif
|
|
|
|
SRC += $(LUFA_SRC)
|
|
|
|
# Search Path
|
|
VPATH += $(TMK_PATH)/$(LUFA_DIR)
|
|
VPATH += $(TMK_PATH)/$(LUFA_PATH)
|
|
|
|
# Option modules
|
|
#ifdef $(or MOUSEKEY_ENABLE, PS2_MOUSE_ENABLE)
|
|
#endif
|
|
|
|
#ifdef EXTRAKEY_ENABLE
|
|
#endif
|
|
|
|
# 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 += -DINTERRUPT_CONTROL_ENDPOINT
|
|
LUFA_OPTS += -DFIXED_CONTROL_ENDPOINT_SIZE=8
|
|
LUFA_OPTS += -DFIXED_NUM_CONFIGURATIONS=1
|
|
|
|
# Remote wakeup fix for ATmega32U2 https://github.com/tmk/tmk_keyboard/issues/361
|
|
ifeq ($(MCU),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
|