summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common_features.mk23
-rw-r--r--disable_features.mk1
-rw-r--r--docs/feature_bluetooth.md19
-rw-r--r--keyboards/10bleoledhub/rules.mk4
-rw-r--r--keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk3
-rw-r--r--keyboards/atreus/feather/rules.mk3
-rw-r--r--keyboards/converter/adb_usb/rules.mk1
-rw-r--r--keyboards/converter/m0110_usb/rules.mk1
-rw-r--r--keyboards/converter/usb_usb/ble/rules.mk6
-rw-r--r--keyboards/handwired/42/rules.mk3
-rw-r--r--keyboards/handwired/bdn9_ble/rules.mk3
-rw-r--r--keyboards/handwired/fruity60/rules.mk4
-rw-r--r--keyboards/handwired/hacked_motospeed/rules.mk5
-rw-r--r--keyboards/handwired/prkl30/feather/rules.mk4
-rw-r--r--keyboards/handwired/promethium/keymaps/default/rules.mk2
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/rules.mk2
-rw-r--r--keyboards/handwired/promethium/rules.mk4
-rw-r--r--keyboards/handwired/pterodactyl/rules.mk4
-rw-r--r--keyboards/handwired/slash/rules.mk4
-rw-r--r--keyboards/laptreus/rules.mk4
-rw-r--r--keyboards/latin47ble/rules.mk4
-rw-r--r--keyboards/latin64ble/rules.mk4
-rw-r--r--keyboards/latinpadble/rules.mk4
-rw-r--r--keyboards/meira/featherble/rules.mk2
-rw-r--r--keyboards/nek_type_a/rules.mk4
-rw-r--r--keyboards/spaceman/pancake/rev1/feather/rules.mk3
-rw-r--r--keyboards/tokyokeyboard/alix40/rules.mk4
-rw-r--r--show_options.mk2
-rw-r--r--tmk_core/common.mk19
-rw-r--r--tmk_core/protocol/lufa.mk27
-rw-r--r--users/wanleg/rules.mk4
31 files changed, 78 insertions, 99 deletions
diff --git a/common_features.mk b/common_features.mk
index f4f79000b3..92e119d35e 100644
--- a/common_features.mk
+++ b/common_features.mk
@@ -745,3 +745,26 @@ ifeq ($(strip $(USBPD_ENABLE)), yes)
endif
endif
endif
+
+BLUETOOTH_ENABLE ?= no
+VALID_BLUETOOTH_DRIVER_TYPES = AdafruitBLE RN42 custom
+ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
+ ifeq ($(filter $(strip $(BLUETOOTH_DRIVER)),$(VALID_BLUETOOTH_DRIVER_TYPES)),)
+ $(error "$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type)
+ endif
+ OPT_DEFS += -DBLUETOOTH_ENABLE
+ NO_USB_STARTUP_CHECK := yes
+ SRC += outputselect.c
+
+ ifeq ($(strip $(BLUETOOTH_DRIVER)), AdafruitBLE)
+ OPT_DEFS += -DMODULE_ADAFRUIT_BLE
+ SRC += analog.c
+ SRC += $(LUFA_DIR)/adafruit_ble.cpp
+ QUANTUM_LIB_SRC += spi_master.c
+ endif
+
+ ifeq ($(strip $(BLUETOOTH_DRIVER)), RN42)
+ OPT_DEFS += DMODULE_RN42
+ SRC += $(TMK_DIR)/protocol/serial_uart.c
+ endif
+endif
diff --git a/disable_features.mk b/disable_features.mk
index 84d8316eac..eeae688850 100644
--- a/disable_features.mk
+++ b/disable_features.mk
@@ -1,7 +1,6 @@
# Unconditionally disable features that a keyboard advertises it doesn't support
FEATURE_NAMES :=
-FEATURE_NAMES += ADAFRUIT_BLE
FEATURE_NAMES += AUDIO
FEATURE_NAMES += BACKLIGHT
FEATURE_NAMES += BLUETOOTH
diff --git a/docs/feature_bluetooth.md b/docs/feature_bluetooth.md
index 08e5f24ac5..7860ad5478 100644
--- a/docs/feature_bluetooth.md
+++ b/docs/feature_bluetooth.md
@@ -4,10 +4,10 @@
Currently Bluetooth support is limited to AVR based chips. For Bluetooth 2.1, QMK has support for RN-42 modules. For more recent BLE protocols, currently only the Adafruit Bluefruit SPI Friend is directly supported. BLE is needed to connect to iOS devices. Note iOS does not support mouse input.
-|Board |Bluetooth Protocol |Connection Type |rules.mk |Bluetooth Chip|
-|----------------------------------------------------------------|----------------------------|----------------|---------------------------|--------------|
-|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic | UART |`BLUETOOTH = RN42` | RN-42 |
-|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy | SPI |`BLUETOOTH = AdafruitBLE` | nRF51822 |
+|Board |Bluetooth Protocol |Connection Type|rules.mk |Bluetooth Chip|
+|----------------------------------------------------------------|--------------------|---------------|--------------------------------|--------------|
+|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic |UART |`BLUETOOTH_DRIVER = RN42` |RN-42 |
+|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = AdafruitBLE`|nRF51822 |
Not Supported Yet but possible:
* [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479). [Possible tmk implementation found in](https://github.com/tmk/tmk_keyboard/issues/514)
@@ -23,16 +23,17 @@ Currently The only bluetooth chipset supported by QMK is the Adafruit Bluefruit
A Bluefruit UART friend can be converted to an SPI friend, however this [requires](https://github.com/qmk/qmk_firmware/issues/2274) some reflashing and soldering directly to the MDBT40 chip.
-
<!-- FIXME: Document bluetooth support more completely. -->
## Bluetooth Rules.mk Options
The currently supported Bluetooth chipsets do not support [N-Key Rollover (NKRO)](reference_glossary.md#n-key-rollover-nkro), so `rules.mk` must contain `NKRO_ENABLE = no`.
-Use only one of these to enable Bluetooth:
-* BLUETOOTH_ENABLE = yes (Legacy Option)
-* BLUETOOTH = RN42
-* BLUETOOTH = AdafruitBLE
+Add the following to your `rules.mk`:
+
+```makefile
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE # or RN42
+```
## Bluetooth Keycodes
diff --git a/keyboards/10bleoledhub/rules.mk b/keyboards/10bleoledhub/rules.mk
index 1e036e660c..700f7e8f77 100644
--- a/keyboards/10bleoledhub/rules.mk
+++ b/keyboards/10bleoledhub/rules.mk
@@ -21,9 +21,9 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
ENCODER_ENABLE = yes
diff --git a/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk b/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk
index 2a4ff658cf..160b3684b3 100644
--- a/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk
+++ b/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk
@@ -4,5 +4,6 @@ F_CPU = 8000000
# Build Options
# change yes to no to disable
#
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
BACKLIGHT_ENABLE = no
diff --git a/keyboards/atreus/feather/rules.mk b/keyboards/atreus/feather/rules.mk
index 35d7431539..ad0b4a5046 100644
--- a/keyboards/atreus/feather/rules.mk
+++ b/keyboards/atreus/feather/rules.mk
@@ -10,5 +10,6 @@ BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
CONSOLE_ENABLE = no
diff --git a/keyboards/converter/adb_usb/rules.mk b/keyboards/converter/adb_usb/rules.mk
index 56967770b3..7c861e2702 100644
--- a/keyboards/converter/adb_usb/rules.mk
+++ b/keyboards/converter/adb_usb/rules.mk
@@ -16,7 +16,6 @@ NKRO_ENABLE = no # USB Nkey Rollover - not yet supported in LUFA
EXTRAKEY_ENABLE = yes
USB_HID_ENABLE = yes
BACKLIGHT_ENABLE = no
-#BLUETOOTH = AdafruitBLE # For Adafruit Feather 32U4 BLE support, uncomment this line
CUSTOM_MATRIX = yes
SRC = matrix.c adb.c led.c
diff --git a/keyboards/converter/m0110_usb/rules.mk b/keyboards/converter/m0110_usb/rules.mk
index f59530ce46..288b1729f0 100644
--- a/keyboards/converter/m0110_usb/rules.mk
+++ b/keyboards/converter/m0110_usb/rules.mk
@@ -19,7 +19,6 @@ NKRO_ENABLE = no # USB Nkey Rollover - not yet supported in LUFA
EXTRAKEY_ENABLE = yes
USB_HID_ENABLE = yes
BACKLIGHT_ENABLE = no
-#BLUETOOTH = AdafruitBLE # For Adafruit Feather 32U4 BLE support, uncomment this line
CUSTOM_MATRIX = yes
SRC = matrix.c m0110.c
diff --git a/keyboards/converter/usb_usb/ble/rules.mk b/keyboards/converter/usb_usb/ble/rules.mk
index 76af3e1fa3..0a6496ba43 100644
--- a/keyboards/converter/usb_usb/ble/rules.mk
+++ b/keyboards/converter/usb_usb/ble/rules.mk
@@ -13,9 +13,9 @@ NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
-BLUETOOTH = AdafruitBLE
-ADAFRUIT_BLE_ENABLE = yes
+
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
EXTRAFLAGS += -flto
diff --git a/keyboards/handwired/42/rules.mk b/keyboards/handwired/42/rules.mk
index a61114628f..b5764728bc 100644
--- a/keyboards/handwired/42/rules.mk
+++ b/keyboards/handwired/42/rules.mk
@@ -26,4 +26,5 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
UNICODEMAP_ENABLE = no # ^^
UCIS_ENABLE = no # ^^
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/handwired/bdn9_ble/rules.mk b/keyboards/handwired/bdn9_ble/rules.mk
index c3518e6457..03e354b9d7 100644
--- a/keyboards/handwired/bdn9_ble/rules.mk
+++ b/keyboards/handwired/bdn9_ble/rules.mk
@@ -22,6 +22,7 @@ NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
UNICODE_ENABLE = no # Unicode
-BLUETOOTH = AdafruitBLE # Enable Bluetooth
AUDIO_ENABLE = no # Audio output on port C6
ENCODER_ENABLE = no
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/handwired/fruity60/rules.mk b/keyboards/handwired/fruity60/rules.mk
index 1dfc9007ab..37f8de998e 100644
--- a/keyboards/handwired/fruity60/rules.mk
+++ b/keyboards/handwired/fruity60/rules.mk
@@ -22,8 +22,8 @@ NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
LAYOUTS = 60_tsangan_hhkb
diff --git a/keyboards/handwired/hacked_motospeed/rules.mk b/keyboards/handwired/hacked_motospeed/rules.mk
index 7ba6a3af7f..0228be52c4 100644
--- a/keyboards/handwired/hacked_motospeed/rules.mk
+++ b/keyboards/handwired/hacked_motospeed/rules.mk
@@ -19,7 +19,8 @@ NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in
-BLUETOOTH = RN42
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = RN42
+
diff --git a/keyboards/handwired/prkl30/feather/rules.mk b/keyboards/handwired/prkl30/feather/rules.mk
index 6357015126..df2aa7f1db 100644
--- a/keyboards/handwired/prkl30/feather/rules.mk
+++ b/keyboards/handwired/prkl30/feather/rules.mk
@@ -10,7 +10,6 @@ BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
-BLUETOOTH = AdafruitBLE
BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
ENCODER_ENABLE = yes
MOUSEKEY_ENABLE = no # Mouse keys
@@ -22,3 +21,6 @@ NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here
BACKLIGHT_ENABLE = no
AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
+
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/handwired/promethium/keymaps/default/rules.mk b/keyboards/handwired/promethium/keymaps/default/rules.mk
index 4fd9b656b6..96db4fcbbc 100644
--- a/keyboards/handwired/promethium/keymaps/default/rules.mk
+++ b/keyboards/handwired/promethium/keymaps/default/rules.mk
@@ -15,11 +15,9 @@ MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
UNICODEMAP_ENABLE = yes
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
PS2_MOUSE_ENABLE = yes
PS2_USE_INT = yes
-BLUETOOTH = AdafruitBLE
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/rules.mk b/keyboards/handwired/promethium/keymaps/priyadi/rules.mk
index 4fd9b656b6..96db4fcbbc 100644
--- a/keyboards/handwired/promethium/keymaps/priyadi/rules.mk
+++ b/keyboards/handwired/promethium/keymaps/priyadi/rules.mk
@@ -15,11 +15,9 @@ MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
UNICODEMAP_ENABLE = yes
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
PS2_MOUSE_ENABLE = yes
PS2_USE_INT = yes
-BLUETOOTH = AdafruitBLE
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk
index 960d637819..aa5a13457f 100644
--- a/keyboards/handwired/promethium/rules.mk
+++ b/keyboards/handwired/promethium/rules.mk
@@ -21,12 +21,12 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
UNICODEMAP_ENABLE = yes
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
PS2_MOUSE_ENABLE = yes
PS2_USE_INT = yes
CUSTOM_MATRIX = yes
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/pterodactyl/rules.mk b/keyboards/handwired/pterodactyl/rules.mk
index 56f83265d9..7c8e3c3386 100644
--- a/keyboards/handwired/pterodactyl/rules.mk
+++ b/keyboards/handwired/pterodactyl/rules.mk
@@ -21,11 +21,11 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-BLUETOOTH = AdafruitBLE
UNICODE_ENABLE = yes
CUSTOM_MATRIX = yes
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
diff --git a/keyboards/handwired/slash/rules.mk b/keyboards/handwired/slash/rules.mk
index e2e8c93e30..8974ac7852 100644
--- a/keyboards/handwired/slash/rules.mk
+++ b/keyboards/handwired/slash/rules.mk
@@ -22,6 +22,6 @@ NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
UNICODE_ENABLE = no # Unicode
-#BLUETOOTH_ENABLE = Yes # Enable Bluetooth with the Adafruit EZ-Key HID
-BLUETOOTH = AdafruitBLE
AUDIO_ENABLE = no # Audio output on port C6
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/laptreus/rules.mk b/keyboards/laptreus/rules.mk
index 5810f98a57..ba916ec136 100644
--- a/keyboards/laptreus/rules.mk
+++ b/keyboards/laptreus/rules.mk
@@ -25,5 +25,5 @@ TAP_DANCE_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-BLUETOOTH_ENABLE = no # Legacy bluetooth support
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/latin47ble/rules.mk b/keyboards/latin47ble/rules.mk
index 5a3f1069a3..61d3be26e6 100644
--- a/keyboards/latin47ble/rules.mk
+++ b/keyboards/latin47ble/rules.mk
@@ -21,8 +21,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
LAYOUTS = planck_mit
diff --git a/keyboards/latin64ble/rules.mk b/keyboards/latin64ble/rules.mk
index b4d726a60d..ba3f750117 100644
--- a/keyboards/latin64ble/rules.mk
+++ b/keyboards/latin64ble/rules.mk
@@ -21,6 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/latinpadble/rules.mk b/keyboards/latinpadble/rules.mk
index b36d9a88cb..eca33fc0a0 100644
--- a/keyboards/latinpadble/rules.mk
+++ b/keyboards/latinpadble/rules.mk
@@ -21,10 +21,10 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
ENCODER_ENABLE = yes
diff --git a/keyboards/meira/featherble/rules.mk b/keyboards/meira/featherble/rules.mk
index b0295ced77..d3e985e8c2 100644
--- a/keyboards/meira/featherble/rules.mk
+++ b/keyboards/meira/featherble/rules.mk
@@ -2,4 +2,4 @@
F_CPU = 8000000
BLUETOOTH_ENABLE = yes
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/nek_type_a/rules.mk b/keyboards/nek_type_a/rules.mk
index 0f13c245fc..d8e2234ba0 100644
--- a/keyboards/nek_type_a/rules.mk
+++ b/keyboards/nek_type_a/rules.mk
@@ -19,10 +19,10 @@ NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
CUSTOM_MATRIX = yes
DEBUG_ENABLE = yes
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
SRC += matrix.c mcp23017.c
diff --git a/keyboards/spaceman/pancake/rev1/feather/rules.mk b/keyboards/spaceman/pancake/rev1/feather/rules.mk
index b749dc2327..a2ddd81a9c 100644
--- a/keyboards/spaceman/pancake/rev1/feather/rules.mk
+++ b/keyboards/spaceman/pancake/rev1/feather/rules.mk
@@ -10,7 +10,6 @@ BOOTLOADER = caterina
# Build Options
# comment out to disable the options.
#
-BLUETOOTH = AdafruitBLE
BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
@@ -21,6 +20,8 @@ NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https:
BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled
AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
LAYOUTS = ortho_4x12 planck_mit
diff --git a/keyboards/tokyokeyboard/alix40/rules.mk b/keyboards/tokyokeyboard/alix40/rules.mk
index 5fedaed835..7f44c1325c 100644
--- a/keyboards/tokyokeyboard/alix40/rules.mk
+++ b/keyboards/tokyokeyboard/alix40/rules.mk
@@ -21,6 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/show_options.mk b/show_options.mk
index ce2f9c0636..cb3a32d39a 100644
--- a/show_options.mk
+++ b/show_options.mk
@@ -25,6 +25,7 @@ HARDWARE_OPTION_NAMES = \
CIE1931_CURVE \
MIDI_ENABLE \
BLUETOOTH_ENABLE \
+ BLUETOOTH_DRIVER \
AUDIO_ENABLE \
HD44780_ENABLE \
ENCODER_ENABLE \
@@ -57,7 +58,6 @@ OTHER_OPTION_NAMES = \
LED_ANIMATIONS \
IOS_DEVICE_ENABLE \
HELIX ZINC \
- ADAFRUIT_BLE_ENABLE \
AUTOLOG_ENABLE \
DEBUG_ENABLE \
ENCODER_ENABLE_CUSTOM \
diff --git a/tmk_core/common.mk b/tmk_core/common.mk
index 7f74200590..e5eced56fd 100644
--- a/tmk_core/common.mk
+++ b/tmk_core/common.mk
@@ -55,8 +55,6 @@ ifeq ($(strip $(NKRO_ENABLE)), yes)
$(info NKRO is not currently supported on V-USB, and has been disabled.)
else ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
$(info NKRO is not currently supported with Bluetooth, and has been disabled.)
- else ifneq ($(BLUETOOTH),)
- $(info NKRO is not currently supported with Bluetooth, and has been disabled.)
else
TMK_COMMON_DEFS += -DNKRO_ENABLE
SHARED_EP_ENABLE = yes
@@ -77,23 +75,6 @@ ifeq ($(strip $(NO_SUSPEND_POWER_DOWN)), yes)
TMK_COMMON_DEFS += -DNO_SUSPEND_POWER_DOWN
endif
-ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
- TMK_COMMON_DEFS += -DBLUETOOTH_ENABLE
- TMK_COMMON_DEFS += -DNO_USB_STARTUP_CHECK
-endif
-
-ifeq ($(strip $(BLUETOOTH)), AdafruitBLE)
- TMK_COMMON_DEFS += -DBLUETOOTH_ENABLE
- TMK_COMMON_DEFS += -DMODULE_ADAFRUIT_BLE
- TMK_COMMON_DEFS += -DNO_USB_STARTUP_CHECK
-endif
-
-ifeq ($(strip $(BLUETOOTH)), RN42)
- TMK_COMMON_DEFS += -DBLUETOOTH_ENABLE
- TMK_COMMON_DEFS += -DMODULE_RN42
- TMK_COMMON_DEFS += -DNO_USB_STARTUP_CHECK
-endif
-
ifeq ($(strip $(SWAP_HANDS_ENABLE)), yes)
TMK_COMMON_DEFS += -DSWAP_HANDS_ENABLE
endif
diff --git a/tmk_core/protocol/lufa.mk b/tmk_core/protocol/lufa.mk
index c8935dacb7..00fec478ac 100644
--- a/tmk_core/protocol/lufa.mk
+++ b/tmk_core/protocol/lufa.mk
@@ -3,7 +3,6 @@ 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
@@ -22,23 +21,6 @@ ifeq ($(strip $(MIDI_ENABLE)), yes)
include $(TMK_PATH)/protocol/midi.mk
endif
-ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
- LUFA_SRC += outputselect.c \
- $(TMK_DIR)/protocol/serial_uart.c
-endif
-
-ifeq ($(strip $(BLUETOOTH)), AdafruitBLE)
- LUFA_SRC += spi_master.c \
- analog.c \
- outputselect.c \
- $(LUFA_DIR)/adafruit_ble.cpp
-endif
-
-ifeq ($(strip $(BLUETOOTH)), RN42)
- LUFA_SRC += outputselect.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
@@ -50,19 +32,10 @@ SRC += $(LUFA_DIR)/usb_util.c
VPATH += $(TMK_PATH)/$(LUFA_DIR)
VPATH += $(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_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -DFIXED_NUM_CONFIGURATIONS=1
diff --git a/users/wanleg/rules.mk b/users/wanleg/rules.mk
index eb66a49e6f..410803512d 100644
--- a/users/wanleg/rules.mk
+++ b/users/wanleg/rules.mk
@@ -21,8 +21,8 @@ ifeq ($(strip $(BT)), yes)
#opt_defs for alternate pin usage
OPT_DEFS += -DBLUEFRUIT
#Adafruit Bluefruit controller settings
- BLUETOOTH = AdafruitBLE
BLUETOOTH_ENABLE = yes
+ BLUETOOTH_DRIVER = AdafruitBLE
F_CPU = 8000000
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
@@ -42,4 +42,4 @@ endif
#example usage: make gherkin:wanleg flip=yes
ifeq ($(strip $(flip)), yes)
OPT_DEFS += -DFLIP
-endif \ No newline at end of file
+endif