瀏覽代碼

Move Bluetooth config to common_features.mk (#14404)

* Move Bluetooth config to common_features.mk

* Update common_features.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
Ryan 3 年之前
父節點
當前提交
bcf4551f74

+ 23 - 0
common_features.mk

@@ -745,3 +745,26 @@ ifeq ($(strip $(USBPD_ENABLE)), yes)
         endif
         endif
     endif
     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

+ 0 - 1
disable_features.mk

@@ -1,7 +1,6 @@
 # Unconditionally disable features that a keyboard advertises it doesn't support
 # Unconditionally disable features that a keyboard advertises it doesn't support
 
 
 FEATURE_NAMES :=
 FEATURE_NAMES :=
-FEATURE_NAMES += ADAFRUIT_BLE
 FEATURE_NAMES += AUDIO
 FEATURE_NAMES += AUDIO
 FEATURE_NAMES += BACKLIGHT
 FEATURE_NAMES += BACKLIGHT
 FEATURE_NAMES += BLUETOOTH
 FEATURE_NAMES += BLUETOOTH

+ 10 - 9
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.
 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:
 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)
 * [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.
 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. -->
 <!-- FIXME: Document bluetooth support more completely. -->
 ## Bluetooth Rules.mk Options
 ## 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`.
 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
 ## Bluetooth Keycodes
 
 

+ 2 - 2
keyboards/10bleoledhub/rules.mk

@@ -21,9 +21,9 @@ SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 NKRO_ENABLE = no            # USB Nkey Rollover
 NKRO_ENABLE = no            # USB Nkey Rollover
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no       # Enable Bluetooth
 AUDIO_ENABLE = no           # Audio output
 AUDIO_ENABLE = no           # Audio output
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
 OLED_ENABLE = yes
 OLED_ENABLE = yes
 OLED_DRIVER = SSD1306
 OLED_DRIVER = SSD1306
 ENCODER_ENABLE = yes
 ENCODER_ENABLE = yes

+ 2 - 1
keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk

@@ -4,5 +4,6 @@ F_CPU = 8000000
 # Build Options
 # Build Options
 #   change yes to no to disable
 #   change yes to no to disable
 #
 #
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
 BACKLIGHT_ENABLE = no
 BACKLIGHT_ENABLE = no

+ 2 - 1
keyboards/atreus/feather/rules.mk

@@ -10,5 +10,6 @@ BOOTLOADER = caterina
 # Build Options
 # Build Options
 #   change yes to no to disable
 #   change yes to no to disable
 #
 #
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
 CONSOLE_ENABLE = no
 CONSOLE_ENABLE = no

+ 0 - 1
keyboards/converter/adb_usb/rules.mk

@@ -16,7 +16,6 @@ NKRO_ENABLE      = no   # USB Nkey Rollover - not yet supported in LUFA
 EXTRAKEY_ENABLE  = yes
 EXTRAKEY_ENABLE  = yes
 USB_HID_ENABLE   = yes
 USB_HID_ENABLE   = yes
 BACKLIGHT_ENABLE = no
 BACKLIGHT_ENABLE = no
-#BLUETOOTH        = AdafruitBLE  # For Adafruit Feather 32U4 BLE support, uncomment this line
 CUSTOM_MATRIX    = yes
 CUSTOM_MATRIX    = yes
 
 
 SRC = matrix.c adb.c led.c
 SRC = matrix.c adb.c led.c

+ 0 - 1
keyboards/converter/m0110_usb/rules.mk

@@ -19,7 +19,6 @@ NKRO_ENABLE      = no   # USB Nkey Rollover - not yet supported in LUFA
 EXTRAKEY_ENABLE  = yes
 EXTRAKEY_ENABLE  = yes
 USB_HID_ENABLE   = yes
 USB_HID_ENABLE   = yes
 BACKLIGHT_ENABLE = no
 BACKLIGHT_ENABLE = no
-#BLUETOOTH        = AdafruitBLE  # For Adafruit Feather 32U4 BLE support, uncomment this line
 CUSTOM_MATRIX    = yes
 CUSTOM_MATRIX    = yes
 
 
 SRC = matrix.c m0110.c
 SRC = matrix.c m0110.c

+ 3 - 3
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
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality on B7 by default
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 UNICODE_ENABLE = no         # Unicode
 UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 AUDIO_ENABLE = no           # Audio output on port C6
 AUDIO_ENABLE = no           # Audio output on port C6
-BLUETOOTH = AdafruitBLE
-ADAFRUIT_BLE_ENABLE = yes
+
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
 
 
 EXTRAFLAGS += -flto
 EXTRAFLAGS += -flto

+ 2 - 1
keyboards/handwired/42/rules.mk

@@ -26,4 +26,5 @@ AUDIO_ENABLE = no           # Audio output on port C6
 UNICODE_ENABLE = no         # Unicode
 UNICODE_ENABLE = no         # Unicode
 UNICODEMAP_ENABLE = no      # ^^
 UNICODEMAP_ENABLE = no      # ^^
 UCIS_ENABLE = no            # ^^
 UCIS_ENABLE = no            # ^^
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE

+ 2 - 1
keyboards/handwired/bdn9_ble/rules.mk

@@ -22,6 +22,7 @@ NKRO_ENABLE = no            # USB Nkey Rollover
 BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality
 BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = no       # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = no       # Enable keyboard RGB underglow
 UNICODE_ENABLE = no         # Unicode
 UNICODE_ENABLE = no         # Unicode
-BLUETOOTH = AdafruitBLE       # Enable Bluetooth
 AUDIO_ENABLE = no           # Audio output on port C6
 AUDIO_ENABLE = no           # Audio output on port C6
 ENCODER_ENABLE = no
 ENCODER_ENABLE = no
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE

+ 2 - 2
keyboards/handwired/fruity60/rules.mk

@@ -22,8 +22,8 @@ NKRO_ENABLE = no            # USB Nkey Rollover
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 UNICODE_ENABLE = no         # Unicode
 UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 AUDIO_ENABLE = no           # Audio output on port C6
 AUDIO_ENABLE = no           # Audio output on port C6
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
 
 
 LAYOUTS = 60_tsangan_hhkb
 LAYOUTS = 60_tsangan_hhkb

+ 3 - 2
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
 BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality on B7 by default
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 UNICODE_ENABLE = no         # Unicode
 UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 AUDIO_ENABLE = no           # Audio output on port C6
 AUDIO_ENABLE = no           # Audio output on port C6
 NO_USB_STARTUP_CHECK = yes  # Disable initialization only when usb is plugged in
 NO_USB_STARTUP_CHECK = yes  # Disable initialization only when usb is plugged in
-BLUETOOTH = RN42
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = RN42
+

+ 3 - 1
keyboards/handwired/prkl30/feather/rules.mk

@@ -10,7 +10,6 @@ BOOTLOADER = caterina
 # Build Options
 # Build Options
 #   change yes to no to disable
 #   change yes to no to disable
 #
 #
-BLUETOOTH = AdafruitBLE
 BOOTMAGIC_ENABLE = lite     # Enable Bootmagic Lite
 BOOTMAGIC_ENABLE = lite     # Enable Bootmagic Lite
 ENCODER_ENABLE = yes
 ENCODER_ENABLE = yes
 MOUSEKEY_ENABLE  = no       # Mouse keys
 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
 BACKLIGHT_ENABLE  = no
 AUDIO_ENABLE  = no          # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
 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.
 RGBLIGHT_ENABLE  = no       # This can be enabled if a ws2812 strip is connected to the expansion port.
+
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE

+ 0 - 2
keyboards/handwired/promethium/keymaps/default/rules.mk

@@ -15,11 +15,9 @@ MIDI_ENABLE = no            # MIDI controls
 AUDIO_ENABLE = no           # Audio output on port C6
 AUDIO_ENABLE = no           # Audio output on port C6
 UNICODE_ENABLE = no         # Unicode
 UNICODE_ENABLE = no         # Unicode
 UNICODEMAP_ENABLE = yes
 UNICODEMAP_ENABLE = yes
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 PS2_MOUSE_ENABLE = yes
 PS2_MOUSE_ENABLE = yes
 PS2_USE_INT = yes
 PS2_USE_INT = yes
-BLUETOOTH = AdafruitBLE
 
 
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend

+ 0 - 2
keyboards/handwired/promethium/keymaps/priyadi/rules.mk

@@ -15,11 +15,9 @@ MIDI_ENABLE = no            # MIDI controls
 AUDIO_ENABLE = no           # Audio output on port C6
 AUDIO_ENABLE = no           # Audio output on port C6
 UNICODE_ENABLE = no         # Unicode
 UNICODE_ENABLE = no         # Unicode
 UNICODEMAP_ENABLE = yes
 UNICODEMAP_ENABLE = yes
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 PS2_MOUSE_ENABLE = yes
 PS2_MOUSE_ENABLE = yes
 PS2_USE_INT = yes
 PS2_USE_INT = yes
-BLUETOOTH = AdafruitBLE
 
 
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend

+ 2 - 2
keyboards/handwired/promethium/rules.mk

@@ -21,12 +21,12 @@ BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 AUDIO_ENABLE = no           # Audio output on port C6
 AUDIO_ENABLE = no           # Audio output on port C6
 UNICODE_ENABLE = no         # Unicode
 UNICODE_ENABLE = no         # Unicode
 UNICODEMAP_ENABLE = yes
 UNICODEMAP_ENABLE = yes
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 PS2_MOUSE_ENABLE = yes
 PS2_MOUSE_ENABLE = yes
 PS2_USE_INT = yes
 PS2_USE_INT = yes
 CUSTOM_MATRIX = 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
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend

+ 2 - 2
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
 NKRO_ENABLE = yes           # USB Nkey Rollover
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no       # Enable Bluetooth
 AUDIO_ENABLE = no           # Audio output
 AUDIO_ENABLE = no           # Audio output
-BLUETOOTH = AdafruitBLE
 UNICODE_ENABLE = yes
 UNICODE_ENABLE = yes
 CUSTOM_MATRIX = yes
 CUSTOM_MATRIX = yes
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
 
 
 SRC += matrix.c
 SRC += matrix.c
 QUANTUM_LIB_SRC += i2c_master.c
 QUANTUM_LIB_SRC += i2c_master.c

+ 2 - 2
keyboards/handwired/slash/rules.mk

@@ -22,6 +22,6 @@ NKRO_ENABLE = no            # USB Nkey Rollover
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 UNICODE_ENABLE = no         # Unicode
 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
 AUDIO_ENABLE = no           # Audio output on port C6
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE

+ 2 - 2
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
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 
 
-BLUETOOTH_ENABLE = no       # Legacy bluetooth support
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE

+ 2 - 2
keyboards/latin47ble/rules.mk

@@ -21,8 +21,8 @@ SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 NKRO_ENABLE = no            # USB Nkey Rollover
 NKRO_ENABLE = no            # USB Nkey Rollover
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no       # Enable Bluetooth
 AUDIO_ENABLE = no           # Audio output
 AUDIO_ENABLE = no           # Audio output
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
 
 
 LAYOUTS = planck_mit
 LAYOUTS = planck_mit

+ 2 - 2
keyboards/latin64ble/rules.mk

@@ -21,6 +21,6 @@ SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 NKRO_ENABLE = no            # USB Nkey Rollover
 NKRO_ENABLE = no            # USB Nkey Rollover
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no       # Enable Bluetooth
 AUDIO_ENABLE = no           # Audio output
 AUDIO_ENABLE = no           # Audio output
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE

+ 2 - 2
keyboards/latinpadble/rules.mk

@@ -21,10 +21,10 @@ SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 NKRO_ENABLE = no            # USB Nkey Rollover
 NKRO_ENABLE = no            # USB Nkey Rollover
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no       # Enable Bluetooth
 AUDIO_ENABLE = no           # Audio output
 AUDIO_ENABLE = no           # Audio output
 
 
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
 OLED_ENABLE = yes
 OLED_ENABLE = yes
 OLED_DRIVER = SSD1306
 OLED_DRIVER = SSD1306
 ENCODER_ENABLE = yes
 ENCODER_ENABLE = yes

+ 1 - 1
keyboards/meira/featherble/rules.mk

@@ -2,4 +2,4 @@
 F_CPU = 8000000
 F_CPU = 8000000
 
 
 BLUETOOTH_ENABLE = yes
 BLUETOOTH_ENABLE = yes
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_DRIVER = AdafruitBLE

+ 2 - 2
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
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality on B7 by default
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 UNICODE_ENABLE = no         # Unicode
 UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = yes      # Enable Bluetooth with the Adafruit EZ-Key HID
 AUDIO_ENABLE = no           # Audio output on port C6
 AUDIO_ENABLE = no           # Audio output on port C6
 CUSTOM_MATRIX = yes
 CUSTOM_MATRIX = yes
 DEBUG_ENABLE = yes
 DEBUG_ENABLE = yes
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE
 
 
 SRC += matrix.c mcp23017.c
 SRC += matrix.c mcp23017.c

+ 2 - 1
keyboards/spaceman/pancake/rev1/feather/rules.mk

@@ -10,7 +10,6 @@ BOOTLOADER = caterina
 # Build Options
 # Build Options
 #   comment out to disable the options.
 #   comment out to disable the options.
 #
 #
-BLUETOOTH = AdafruitBLE
 BOOTMAGIC_ENABLE = lite     # Enable Bootmagic Lite
 BOOTMAGIC_ENABLE = lite     # Enable Bootmagic Lite
 MOUSEKEY_ENABLE  = no	# Mouse keys
 MOUSEKEY_ENABLE  = no	# Mouse keys
 EXTRAKEY_ENABLE  = yes	# Audio control and System control
 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
 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
 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.
 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
 LAYOUTS = ortho_4x12 planck_mit
 
 

+ 2 - 2
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
 NKRO_ENABLE = no            # USB Nkey Rollover
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no       # Enable Bluetooth
 AUDIO_ENABLE = no           # Audio output
 AUDIO_ENABLE = no           # Audio output
-BLUETOOTH = AdafruitBLE
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = AdafruitBLE

+ 1 - 1
show_options.mk

@@ -25,6 +25,7 @@ HARDWARE_OPTION_NAMES = \
   CIE1931_CURVE \
   CIE1931_CURVE \
   MIDI_ENABLE \
   MIDI_ENABLE \
   BLUETOOTH_ENABLE \
   BLUETOOTH_ENABLE \
+  BLUETOOTH_DRIVER \
   AUDIO_ENABLE \
   AUDIO_ENABLE \
   HD44780_ENABLE \
   HD44780_ENABLE \
   ENCODER_ENABLE \
   ENCODER_ENABLE \
@@ -57,7 +58,6 @@ OTHER_OPTION_NAMES = \
   LED_ANIMATIONS \
   LED_ANIMATIONS \
   IOS_DEVICE_ENABLE \
   IOS_DEVICE_ENABLE \
   HELIX ZINC \
   HELIX ZINC \
-  ADAFRUIT_BLE_ENABLE \
   AUTOLOG_ENABLE \
   AUTOLOG_ENABLE \
   DEBUG_ENABLE \
   DEBUG_ENABLE \
   ENCODER_ENABLE_CUSTOM \
   ENCODER_ENABLE_CUSTOM \

+ 0 - 19
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.)
         $(info NKRO is not currently supported on V-USB, and has been disabled.)
     else ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
     else ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
         $(info NKRO is not currently supported with Bluetooth, and has been disabled.)
         $(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
     else
         TMK_COMMON_DEFS += -DNKRO_ENABLE
         TMK_COMMON_DEFS += -DNKRO_ENABLE
         SHARED_EP_ENABLE = yes
         SHARED_EP_ENABLE = yes
@@ -77,23 +75,6 @@ ifeq ($(strip $(NO_SUSPEND_POWER_DOWN)), yes)
     TMK_COMMON_DEFS += -DNO_SUSPEND_POWER_DOWN
     TMK_COMMON_DEFS += -DNO_SUSPEND_POWER_DOWN
 endif
 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)
 ifeq ($(strip $(SWAP_HANDS_ENABLE)), yes)
     TMK_COMMON_DEFS += -DSWAP_HANDS_ENABLE
     TMK_COMMON_DEFS += -DSWAP_HANDS_ENABLE
 endif
 endif

+ 0 - 27
tmk_core/protocol/lufa.mk

@@ -3,7 +3,6 @@ LUFA_DIR = protocol/lufa
 # Path to the LUFA library
 # Path to the LUFA library
 LUFA_PATH = $(LIB_PATH)/lufa
 LUFA_PATH = $(LIB_PATH)/lufa
 
 
-
 # Create the LUFA source path variables by including the LUFA makefile
 # Create the LUFA source path variables by including the LUFA makefile
 ifneq (, $(wildcard $(LUFA_PATH)/LUFA/Build/lufa_sources.mk))
 ifneq (, $(wildcard $(LUFA_PATH)/LUFA/Build/lufa_sources.mk))
     # New build system from 20120730
     # New build system from 20120730
@@ -22,23 +21,6 @@ ifeq ($(strip $(MIDI_ENABLE)), yes)
 	include $(TMK_PATH)/protocol/midi.mk
 	include $(TMK_PATH)/protocol/midi.mk
 endif
 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)
 ifeq ($(strip $(VIRTSER_ENABLE)), yes)
 	LUFA_SRC += $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c
 	LUFA_SRC += $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c
 endif
 endif
@@ -50,19 +32,10 @@ SRC += $(LUFA_DIR)/usb_util.c
 VPATH += $(TMK_PATH)/$(LUFA_DIR)
 VPATH += $(TMK_PATH)/$(LUFA_DIR)
 VPATH += $(LUFA_PATH)
 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 library compile-time options and predefined tokens
 LUFA_OPTS  = -DUSB_DEVICE_ONLY
 LUFA_OPTS  = -DUSB_DEVICE_ONLY
 LUFA_OPTS += -DUSE_FLASH_DESCRIPTORS
 LUFA_OPTS += -DUSE_FLASH_DESCRIPTORS
 LUFA_OPTS += -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
 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_CONTROL_ENDPOINT_SIZE=8
 LUFA_OPTS += -DFIXED_NUM_CONFIGURATIONS=1
 LUFA_OPTS += -DFIXED_NUM_CONFIGURATIONS=1
 
 

+ 2 - 2
users/wanleg/rules.mk

@@ -21,8 +21,8 @@ ifeq ($(strip $(BT)), yes)
   #opt_defs for alternate pin usage
   #opt_defs for alternate pin usage
   OPT_DEFS += -DBLUEFRUIT
   OPT_DEFS += -DBLUEFRUIT
   #Adafruit Bluefruit controller settings
   #Adafruit Bluefruit controller settings
-  BLUETOOTH = AdafruitBLE
   BLUETOOTH_ENABLE = yes
   BLUETOOTH_ENABLE = yes
+  BLUETOOTH_DRIVER = AdafruitBLE
   F_CPU = 8000000
   F_CPU = 8000000
   CONSOLE_ENABLE = no 		# Console for debug(+400)
   CONSOLE_ENABLE = no 		# Console for debug(+400)
   COMMAND_ENABLE = no 		# Commands for debug and configuration
   COMMAND_ENABLE = no 		# Commands for debug and configuration
@@ -42,4 +42,4 @@ endif
 #example usage: make gherkin:wanleg flip=yes
 #example usage: make gherkin:wanleg flip=yes
 ifeq ($(strip $(flip)), yes)
 ifeq ($(strip $(flip)), yes)
 	OPT_DEFS += -DFLIP
 	OPT_DEFS += -DFLIP
-endif
+endif