aboutsummaryrefslogtreecommitdiff
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 f4f79000b..92e119d35 100644
--- a/common_features.mk
+++ b/common_features.mk
@@ -745,3 +745,26 @@ ifeq ($(strip $(USBPD_ENABLE)), yes)
745 endif 745 endif
746 endif 746 endif
747endif 747endif
748
749BLUETOOTH_ENABLE ?= no
750VALID_BLUETOOTH_DRIVER_TYPES = AdafruitBLE RN42 custom
751ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
752 ifeq ($(filter $(strip $(BLUETOOTH_DRIVER)),$(VALID_BLUETOOTH_DRIVER_TYPES)),)
753 $(error "$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type)
754 endif
755 OPT_DEFS += -DBLUETOOTH_ENABLE
756 NO_USB_STARTUP_CHECK := yes
757 SRC += outputselect.c
758
759 ifeq ($(strip $(BLUETOOTH_DRIVER)), AdafruitBLE)
760 OPT_DEFS += -DMODULE_ADAFRUIT_BLE
761 SRC += analog.c
762 SRC += $(LUFA_DIR)/adafruit_ble.cpp
763 QUANTUM_LIB_SRC += spi_master.c
764 endif
765
766 ifeq ($(strip $(BLUETOOTH_DRIVER)), RN42)
767 OPT_DEFS += DMODULE_RN42
768 SRC += $(TMK_DIR)/protocol/serial_uart.c
769 endif
770endif
diff --git a/disable_features.mk b/disable_features.mk
index 84d8316ea..eeae68885 100644
--- a/disable_features.mk
+++ b/disable_features.mk
@@ -1,7 +1,6 @@
1# Unconditionally disable features that a keyboard advertises it doesn't support 1# Unconditionally disable features that a keyboard advertises it doesn't support
2 2
3FEATURE_NAMES := 3FEATURE_NAMES :=
4FEATURE_NAMES += ADAFRUIT_BLE
5FEATURE_NAMES += AUDIO 4FEATURE_NAMES += AUDIO
6FEATURE_NAMES += BACKLIGHT 5FEATURE_NAMES += BACKLIGHT
7FEATURE_NAMES += BLUETOOTH 6FEATURE_NAMES += BLUETOOTH
diff --git a/docs/feature_bluetooth.md b/docs/feature_bluetooth.md
index 08e5f24ac..7860ad547 100644
--- a/docs/feature_bluetooth.md
+++ b/docs/feature_bluetooth.md
@@ -4,10 +4,10 @@
4 4
5Currently 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. 5Currently 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.
6 6
7|Board |Bluetooth Protocol |Connection Type |rules.mk |Bluetooth Chip| 7|Board |Bluetooth Protocol |Connection Type|rules.mk |Bluetooth Chip|
8|----------------------------------------------------------------|----------------------------|----------------|---------------------------|--------------| 8|----------------------------------------------------------------|--------------------|---------------|--------------------------------|--------------|
9|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic | UART |`BLUETOOTH = RN42` | RN-42 | 9|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic |UART |`BLUETOOTH_DRIVER = RN42` |RN-42 |
10|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy | SPI |`BLUETOOTH = AdafruitBLE` | nRF51822 | 10|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = AdafruitBLE`|nRF51822 |
11 11
12Not Supported Yet but possible: 12Not Supported Yet but possible:
13* [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479). [Possible tmk implementation found in](https://github.com/tmk/tmk_keyboard/issues/514) 13* [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
23 23
24A 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. 24A 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.
25 25
26
27<!-- FIXME: Document bluetooth support more completely. --> 26<!-- FIXME: Document bluetooth support more completely. -->
28## Bluetooth Rules.mk Options 27## Bluetooth Rules.mk Options
29 28
30The 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`. 29The 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`.
31 30
32Use only one of these to enable Bluetooth: 31Add the following to your `rules.mk`:
33* BLUETOOTH_ENABLE = yes (Legacy Option) 32
34* BLUETOOTH = RN42 33```makefile
35* BLUETOOTH = AdafruitBLE 34BLUETOOTH_ENABLE = yes
35BLUETOOTH_DRIVER = AdafruitBLE # or RN42
36```
36 37
37## Bluetooth Keycodes 38## Bluetooth Keycodes
38 39
diff --git a/keyboards/10bleoledhub/rules.mk b/keyboards/10bleoledhub/rules.mk
index 1e036e660..700f7e8f7 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
21NKRO_ENABLE = no # USB Nkey Rollover 21NKRO_ENABLE = no # USB Nkey Rollover
22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
24BLUETOOTH_ENABLE = no # Enable Bluetooth
25AUDIO_ENABLE = no # Audio output 24AUDIO_ENABLE = no # Audio output
26BLUETOOTH = AdafruitBLE 25BLUETOOTH_ENABLE = yes
26BLUETOOTH_DRIVER = AdafruitBLE
27OLED_ENABLE = yes 27OLED_ENABLE = yes
28OLED_DRIVER = SSD1306 28OLED_DRIVER = SSD1306
29ENCODER_ENABLE = yes 29ENCODER_ENABLE = yes
diff --git a/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk b/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk
index 2a4ff658c..160b3684b 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
4# Build Options 4# Build Options
5# change yes to no to disable 5# change yes to no to disable
6# 6#
7BLUETOOTH = AdafruitBLE 7BLUETOOTH_ENABLE = yes
8BLUETOOTH_DRIVER = AdafruitBLE
8BACKLIGHT_ENABLE = no 9BACKLIGHT_ENABLE = no
diff --git a/keyboards/atreus/feather/rules.mk b/keyboards/atreus/feather/rules.mk
index 35d743153..ad0b4a504 100644
--- a/keyboards/atreus/feather/rules.mk
+++ b/keyboards/atreus/feather/rules.mk
@@ -10,5 +10,6 @@ BOOTLOADER = caterina
10# Build Options 10# Build Options
11# change yes to no to disable 11# change yes to no to disable
12# 12#
13BLUETOOTH = AdafruitBLE 13BLUETOOTH_ENABLE = yes
14BLUETOOTH_DRIVER = AdafruitBLE
14CONSOLE_ENABLE = no 15CONSOLE_ENABLE = no
diff --git a/keyboards/converter/adb_usb/rules.mk b/keyboards/converter/adb_usb/rules.mk
index 56967770b..7c861e270 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
16EXTRAKEY_ENABLE = yes 16EXTRAKEY_ENABLE = yes
17USB_HID_ENABLE = yes 17USB_HID_ENABLE = yes
18BACKLIGHT_ENABLE = no 18BACKLIGHT_ENABLE = no
19#BLUETOOTH = AdafruitBLE # For Adafruit Feather 32U4 BLE support, uncomment this line
20CUSTOM_MATRIX = yes 19CUSTOM_MATRIX = yes
21 20
22SRC = matrix.c adb.c led.c 21SRC = matrix.c adb.c led.c
diff --git a/keyboards/converter/m0110_usb/rules.mk b/keyboards/converter/m0110_usb/rules.mk
index f59530ce4..288b1729f 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
19EXTRAKEY_ENABLE = yes 19EXTRAKEY_ENABLE = yes
20USB_HID_ENABLE = yes 20USB_HID_ENABLE = yes
21BACKLIGHT_ENABLE = no 21BACKLIGHT_ENABLE = no
22#BLUETOOTH = AdafruitBLE # For Adafruit Feather 32U4 BLE support, uncomment this line
23CUSTOM_MATRIX = yes 22CUSTOM_MATRIX = yes
24 23
25SRC = matrix.c m0110.c 24SRC = matrix.c m0110.c
diff --git a/keyboards/converter/usb_usb/ble/rules.mk b/keyboards/converter/usb_usb/ble/rules.mk
index 76af3e1fa..0a6496ba4 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
13BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default 13BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
14RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 14RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
15UNICODE_ENABLE = no # Unicode 15UNICODE_ENABLE = no # Unicode
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
17AUDIO_ENABLE = no # Audio output on port C6 16AUDIO_ENABLE = no # Audio output on port C6
18BLUETOOTH = AdafruitBLE 17
19ADAFRUIT_BLE_ENABLE = yes 18BLUETOOTH_ENABLE = yes
19BLUETOOTH_DRIVER = AdafruitBLE
20 20
21EXTRAFLAGS += -flto 21EXTRAFLAGS += -flto
diff --git a/keyboards/handwired/42/rules.mk b/keyboards/handwired/42/rules.mk
index a61114628..b5764728b 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
26UNICODE_ENABLE = no # Unicode 26UNICODE_ENABLE = no # Unicode
27UNICODEMAP_ENABLE = no # ^^ 27UNICODEMAP_ENABLE = no # ^^
28UCIS_ENABLE = no # ^^ 28UCIS_ENABLE = no # ^^
29BLUETOOTH = AdafruitBLE 29BLUETOOTH_ENABLE = yes
30BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/handwired/bdn9_ble/rules.mk b/keyboards/handwired/bdn9_ble/rules.mk
index c3518e645..03e354b9d 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
22BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
24UNICODE_ENABLE = no # Unicode 24UNICODE_ENABLE = no # Unicode
25BLUETOOTH = AdafruitBLE # Enable Bluetooth
26AUDIO_ENABLE = no # Audio output on port C6 25AUDIO_ENABLE = no # Audio output on port C6
27ENCODER_ENABLE = no 26ENCODER_ENABLE = no
27BLUETOOTH_ENABLE = yes
28BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/handwired/fruity60/rules.mk b/keyboards/handwired/fruity60/rules.mk
index 1dfc9007a..37f8de998 100644
--- a/keyboards/handwired/fruity60/rules.mk
+++ b/keyboards/handwired/fruity60/rules.mk
@@ -22,8 +22,8 @@ NKRO_ENABLE = no # USB Nkey Rollover
22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
24UNICODE_ENABLE = no # Unicode 24UNICODE_ENABLE = no # Unicode
25BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
26AUDIO_ENABLE = no # Audio output on port C6 25AUDIO_ENABLE = no # Audio output on port C6
27BLUETOOTH = AdafruitBLE 26BLUETOOTH_ENABLE = yes
27BLUETOOTH_DRIVER = AdafruitBLE
28 28
29LAYOUTS = 60_tsangan_hhkb 29LAYOUTS = 60_tsangan_hhkb
diff --git a/keyboards/handwired/hacked_motospeed/rules.mk b/keyboards/handwired/hacked_motospeed/rules.mk
index 7ba6a3af7..0228be52c 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
19BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default 19BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21UNICODE_ENABLE = no # Unicode 21UNICODE_ENABLE = no # Unicode
22BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
23AUDIO_ENABLE = no # Audio output on port C6 22AUDIO_ENABLE = no # Audio output on port C6
24NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in 23NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in
25BLUETOOTH = RN42 24BLUETOOTH_ENABLE = yes
25BLUETOOTH_DRIVER = RN42
26
diff --git a/keyboards/handwired/prkl30/feather/rules.mk b/keyboards/handwired/prkl30/feather/rules.mk
index 635701512..df2aa7f1d 100644
--- a/keyboards/handwired/prkl30/feather/rules.mk
+++ b/keyboards/handwired/prkl30/feather/rules.mk
@@ -10,7 +10,6 @@ BOOTLOADER = caterina
10# Build Options 10# Build Options
11# change yes to no to disable 11# change yes to no to disable
12# 12#
13BLUETOOTH = AdafruitBLE
14BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 13BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
15ENCODER_ENABLE = yes 14ENCODER_ENABLE = yes
16MOUSEKEY_ENABLE = no # Mouse keys 15MOUSEKEY_ENABLE = no # Mouse keys
@@ -22,3 +21,6 @@ NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here
22BACKLIGHT_ENABLE = no 21BACKLIGHT_ENABLE = no
23AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below 22AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
24RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port. 23RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
24
25BLUETOOTH_ENABLE = yes
26BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/handwired/promethium/keymaps/default/rules.mk b/keyboards/handwired/promethium/keymaps/default/rules.mk
index 4fd9b656b..96db4fcbb 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
15AUDIO_ENABLE = no # Audio output on port C6 15AUDIO_ENABLE = no # Audio output on port C6
16UNICODE_ENABLE = no # Unicode 16UNICODE_ENABLE = no # Unicode
17UNICODEMAP_ENABLE = yes 17UNICODEMAP_ENABLE = yes
18BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
19RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 18RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
20PS2_MOUSE_ENABLE = yes 19PS2_MOUSE_ENABLE = yes
21PS2_USE_INT = yes 20PS2_USE_INT = yes
22BLUETOOTH = AdafruitBLE
23 21
24# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
25SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 23SLEEP_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 4fd9b656b..96db4fcbb 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
15AUDIO_ENABLE = no # Audio output on port C6 15AUDIO_ENABLE = no # Audio output on port C6
16UNICODE_ENABLE = no # Unicode 16UNICODE_ENABLE = no # Unicode
17UNICODEMAP_ENABLE = yes 17UNICODEMAP_ENABLE = yes
18BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
19RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 18RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
20PS2_MOUSE_ENABLE = yes 19PS2_MOUSE_ENABLE = yes
21PS2_USE_INT = yes 20PS2_USE_INT = yes
22BLUETOOTH = AdafruitBLE
23 21
24# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
25SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk
index 960d63781..aa5a13457 100644
--- a/keyboards/handwired/promethium/rules.mk
+++ b/keyboards/handwired/promethium/rules.mk
@@ -21,12 +21,12 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
21AUDIO_ENABLE = no # Audio output on port C6 21AUDIO_ENABLE = no # Audio output on port C6
22UNICODE_ENABLE = no # Unicode 22UNICODE_ENABLE = no # Unicode
23UNICODEMAP_ENABLE = yes 23UNICODEMAP_ENABLE = yes
24BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
25RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 24RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
26PS2_MOUSE_ENABLE = yes 25PS2_MOUSE_ENABLE = yes
27PS2_USE_INT = yes 26PS2_USE_INT = yes
28CUSTOM_MATRIX = yes 27CUSTOM_MATRIX = yes
29BLUETOOTH = AdafruitBLE 28BLUETOOTH_ENABLE = yes
29BLUETOOTH_DRIVER = AdafruitBLE
30 30
31# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 31# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
32SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 32SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/pterodactyl/rules.mk b/keyboards/handwired/pterodactyl/rules.mk
index 56f83265d..7c8e3c338 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
21NKRO_ENABLE = yes # USB Nkey Rollover 21NKRO_ENABLE = yes # USB Nkey Rollover
22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
24BLUETOOTH_ENABLE = no # Enable Bluetooth
25AUDIO_ENABLE = no # Audio output 24AUDIO_ENABLE = no # Audio output
26BLUETOOTH = AdafruitBLE
27UNICODE_ENABLE = yes 25UNICODE_ENABLE = yes
28CUSTOM_MATRIX = yes 26CUSTOM_MATRIX = yes
27BLUETOOTH_ENABLE = yes
28BLUETOOTH_DRIVER = AdafruitBLE
29 29
30SRC += matrix.c 30SRC += matrix.c
31QUANTUM_LIB_SRC += i2c_master.c 31QUANTUM_LIB_SRC += i2c_master.c
diff --git a/keyboards/handwired/slash/rules.mk b/keyboards/handwired/slash/rules.mk
index e2e8c93e3..8974ac785 100644
--- a/keyboards/handwired/slash/rules.mk
+++ b/keyboards/handwired/slash/rules.mk
@@ -22,6 +22,6 @@ NKRO_ENABLE = no # USB Nkey Rollover
22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
24UNICODE_ENABLE = no # Unicode 24UNICODE_ENABLE = no # Unicode
25#BLUETOOTH_ENABLE = Yes # Enable Bluetooth with the Adafruit EZ-Key HID
26BLUETOOTH = AdafruitBLE
27AUDIO_ENABLE = no # Audio output on port C6 25AUDIO_ENABLE = no # Audio output on port C6
26BLUETOOTH_ENABLE = yes
27BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/laptreus/rules.mk b/keyboards/laptreus/rules.mk
index 5810f98a5..ba916ec13 100644
--- a/keyboards/laptreus/rules.mk
+++ b/keyboards/laptreus/rules.mk
@@ -25,5 +25,5 @@ TAP_DANCE_ENABLE = no
25# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 25# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
26SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 26SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
27 27
28BLUETOOTH_ENABLE = no # Legacy bluetooth support 28BLUETOOTH_ENABLE = yes
29BLUETOOTH = AdafruitBLE 29BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/latin47ble/rules.mk b/keyboards/latin47ble/rules.mk
index 5a3f1069a..61d3be26e 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
21NKRO_ENABLE = no # USB Nkey Rollover 21NKRO_ENABLE = no # USB Nkey Rollover
22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
24BLUETOOTH_ENABLE = no # Enable Bluetooth
25AUDIO_ENABLE = no # Audio output 24AUDIO_ENABLE = no # Audio output
26BLUETOOTH = AdafruitBLE 25BLUETOOTH_ENABLE = yes
26BLUETOOTH_DRIVER = AdafruitBLE
27 27
28LAYOUTS = planck_mit 28LAYOUTS = planck_mit
diff --git a/keyboards/latin64ble/rules.mk b/keyboards/latin64ble/rules.mk
index b4d726a60..ba3f75011 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
21NKRO_ENABLE = no # USB Nkey Rollover 21NKRO_ENABLE = no # USB Nkey Rollover
22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
24BLUETOOTH_ENABLE = no # Enable Bluetooth
25AUDIO_ENABLE = no # Audio output 24AUDIO_ENABLE = no # Audio output
26BLUETOOTH = AdafruitBLE 25BLUETOOTH_ENABLE = yes
26BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/latinpadble/rules.mk b/keyboards/latinpadble/rules.mk
index b36d9a88c..eca33fc0a 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
21NKRO_ENABLE = no # USB Nkey Rollover 21NKRO_ENABLE = no # USB Nkey Rollover
22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
24BLUETOOTH_ENABLE = no # Enable Bluetooth
25AUDIO_ENABLE = no # Audio output 24AUDIO_ENABLE = no # Audio output
26 25
27BLUETOOTH = AdafruitBLE 26BLUETOOTH_ENABLE = yes
27BLUETOOTH_DRIVER = AdafruitBLE
28OLED_ENABLE = yes 28OLED_ENABLE = yes
29OLED_DRIVER = SSD1306 29OLED_DRIVER = SSD1306
30ENCODER_ENABLE = yes 30ENCODER_ENABLE = yes
diff --git a/keyboards/meira/featherble/rules.mk b/keyboards/meira/featherble/rules.mk
index b0295ced7..d3e985e8c 100644
--- a/keyboards/meira/featherble/rules.mk
+++ b/keyboards/meira/featherble/rules.mk
@@ -2,4 +2,4 @@
2F_CPU = 8000000 2F_CPU = 8000000
3 3
4BLUETOOTH_ENABLE = yes 4BLUETOOTH_ENABLE = yes
5BLUETOOTH = AdafruitBLE 5BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/nek_type_a/rules.mk b/keyboards/nek_type_a/rules.mk
index 0f13c245f..d8e2234ba 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
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default 19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21UNICODE_ENABLE = no # Unicode 21UNICODE_ENABLE = no # Unicode
22BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
23AUDIO_ENABLE = no # Audio output on port C6 22AUDIO_ENABLE = no # Audio output on port C6
24CUSTOM_MATRIX = yes 23CUSTOM_MATRIX = yes
25DEBUG_ENABLE = yes 24DEBUG_ENABLE = yes
26BLUETOOTH = AdafruitBLE 25BLUETOOTH_ENABLE = yes
26BLUETOOTH_DRIVER = AdafruitBLE
27 27
28SRC += matrix.c mcp23017.c 28SRC += matrix.c mcp23017.c
diff --git a/keyboards/spaceman/pancake/rev1/feather/rules.mk b/keyboards/spaceman/pancake/rev1/feather/rules.mk
index b749dc232..a2ddd81a9 100644
--- a/keyboards/spaceman/pancake/rev1/feather/rules.mk
+++ b/keyboards/spaceman/pancake/rev1/feather/rules.mk
@@ -10,7 +10,6 @@ BOOTLOADER = caterina
10# Build Options 10# Build Options
11# comment out to disable the options. 11# comment out to disable the options.
12# 12#
13BLUETOOTH = AdafruitBLE
14BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 13BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
15MOUSEKEY_ENABLE = no # Mouse keys 14MOUSEKEY_ENABLE = no # Mouse keys
16EXTRAKEY_ENABLE = yes # Audio control and System control 15EXTRAKEY_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:
21BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled 20BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled
22AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below 21AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
23RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port. 22RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
23BLUETOOTH_ENABLE = yes
24BLUETOOTH_DRIVER = AdafruitBLE
24 25
25LAYOUTS = ortho_4x12 planck_mit 26LAYOUTS = ortho_4x12 planck_mit
26 27
diff --git a/keyboards/tokyokeyboard/alix40/rules.mk b/keyboards/tokyokeyboard/alix40/rules.mk
index 5fedaed83..7f44c1325 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
21NKRO_ENABLE = no # USB Nkey Rollover 21NKRO_ENABLE = no # USB Nkey Rollover
22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 22BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 23RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
24BLUETOOTH_ENABLE = no # Enable Bluetooth
25AUDIO_ENABLE = no # Audio output 24AUDIO_ENABLE = no # Audio output
26BLUETOOTH = AdafruitBLE 25BLUETOOTH_ENABLE = yes
26BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/show_options.mk b/show_options.mk
index ce2f9c063..cb3a32d39 100644
--- a/show_options.mk
+++ b/show_options.mk
@@ -25,6 +25,7 @@ HARDWARE_OPTION_NAMES = \
25 CIE1931_CURVE \ 25 CIE1931_CURVE \
26 MIDI_ENABLE \ 26 MIDI_ENABLE \
27 BLUETOOTH_ENABLE \ 27 BLUETOOTH_ENABLE \
28 BLUETOOTH_DRIVER \
28 AUDIO_ENABLE \ 29 AUDIO_ENABLE \
29 HD44780_ENABLE \ 30 HD44780_ENABLE \
30 ENCODER_ENABLE \ 31 ENCODER_ENABLE \
@@ -57,7 +58,6 @@ OTHER_OPTION_NAMES = \
57 LED_ANIMATIONS \ 58 LED_ANIMATIONS \
58 IOS_DEVICE_ENABLE \ 59 IOS_DEVICE_ENABLE \
59 HELIX ZINC \ 60 HELIX ZINC \
60 ADAFRUIT_BLE_ENABLE \
61 AUTOLOG_ENABLE \ 61 AUTOLOG_ENABLE \
62 DEBUG_ENABLE \ 62 DEBUG_ENABLE \
63 ENCODER_ENABLE_CUSTOM \ 63 ENCODER_ENABLE_CUSTOM \
diff --git a/tmk_core/common.mk b/tmk_core/common.mk
index 7f7420059..e5eced56f 100644
--- a/tmk_core/common.mk
+++ b/tmk_core/common.mk
@@ -55,8 +55,6 @@ ifeq ($(strip $(NKRO_ENABLE)), yes)
55 $(info NKRO is not currently supported on V-USB, and has been disabled.) 55 $(info NKRO is not currently supported on V-USB, and has been disabled.)
56 else ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) 56 else ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
57 $(info NKRO is not currently supported with Bluetooth, and has been disabled.) 57 $(info NKRO is not currently supported with Bluetooth, and has been disabled.)
58 else ifneq ($(BLUETOOTH),)
59 $(info NKRO is not currently supported with Bluetooth, and has been disabled.)
60 else 58 else
61 TMK_COMMON_DEFS += -DNKRO_ENABLE 59 TMK_COMMON_DEFS += -DNKRO_ENABLE
62 SHARED_EP_ENABLE = yes 60 SHARED_EP_ENABLE = yes
@@ -77,23 +75,6 @@ ifeq ($(strip $(NO_SUSPEND_POWER_DOWN)), yes)
77 TMK_COMMON_DEFS += -DNO_SUSPEND_POWER_DOWN 75 TMK_COMMON_DEFS += -DNO_SUSPEND_POWER_DOWN
78endif 76endif
79 77
80ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
81 TMK_COMMON_DEFS += -DBLUETOOTH_ENABLE
82 TMK_COMMON_DEFS += -DNO_USB_STARTUP_CHECK
83endif
84
85ifeq ($(strip $(BLUETOOTH)), AdafruitBLE)
86 TMK_COMMON_DEFS += -DBLUETOOTH_ENABLE
87 TMK_COMMON_DEFS += -DMODULE_ADAFRUIT_BLE
88 TMK_COMMON_DEFS += -DNO_USB_STARTUP_CHECK
89endif
90
91ifeq ($(strip $(BLUETOOTH)), RN42)
92 TMK_COMMON_DEFS += -DBLUETOOTH_ENABLE
93 TMK_COMMON_DEFS += -DMODULE_RN42
94 TMK_COMMON_DEFS += -DNO_USB_STARTUP_CHECK
95endif
96
97ifeq ($(strip $(SWAP_HANDS_ENABLE)), yes) 78ifeq ($(strip $(SWAP_HANDS_ENABLE)), yes)
98 TMK_COMMON_DEFS += -DSWAP_HANDS_ENABLE 79 TMK_COMMON_DEFS += -DSWAP_HANDS_ENABLE
99endif 80endif
diff --git a/tmk_core/protocol/lufa.mk b/tmk_core/protocol/lufa.mk
index c8935dacb..00fec478a 100644
--- a/tmk_core/protocol/lufa.mk
+++ b/tmk_core/protocol/lufa.mk
@@ -3,7 +3,6 @@ LUFA_DIR = protocol/lufa
3# Path to the LUFA library 3# Path to the LUFA library
4LUFA_PATH = $(LIB_PATH)/lufa 4LUFA_PATH = $(LIB_PATH)/lufa
5 5
6
7# Create the LUFA source path variables by including the LUFA makefile 6# Create the LUFA source path variables by including the LUFA makefile
8ifneq (, $(wildcard $(LUFA_PATH)/LUFA/Build/lufa_sources.mk)) 7ifneq (, $(wildcard $(LUFA_PATH)/LUFA/Build/lufa_sources.mk))
9 # New build system from 20120730 8 # New build system from 20120730
@@ -22,23 +21,6 @@ ifeq ($(strip $(MIDI_ENABLE)), yes)
22 include $(TMK_PATH)/protocol/midi.mk 21 include $(TMK_PATH)/protocol/midi.mk
23endif 22endif
24 23
25ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
26 LUFA_SRC += outputselect.c \
27 $(TMK_DIR)/protocol/serial_uart.c
28endif
29
30ifeq ($(strip $(BLUETOOTH)), AdafruitBLE)
31 LUFA_SRC += spi_master.c \
32 analog.c \
33 outputselect.c \
34 $(LUFA_DIR)/adafruit_ble.cpp
35endif
36
37ifeq ($(strip $(BLUETOOTH)), RN42)
38 LUFA_SRC += outputselect.c \
39 $(TMK_DIR)/protocol/serial_uart.c
40endif
41
42ifeq ($(strip $(VIRTSER_ENABLE)), yes) 24ifeq ($(strip $(VIRTSER_ENABLE)), yes)
43 LUFA_SRC += $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c 25 LUFA_SRC += $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c
44endif 26endif
@@ -50,19 +32,10 @@ SRC += $(LUFA_DIR)/usb_util.c
50VPATH += $(TMK_PATH)/$(LUFA_DIR) 32VPATH += $(TMK_PATH)/$(LUFA_DIR)
51VPATH += $(LUFA_PATH) 33VPATH += $(LUFA_PATH)
52 34
53# Option modules
54#ifdef $(or MOUSEKEY_ENABLE, PS2_MOUSE_ENABLE)
55#endif
56
57#ifdef EXTRAKEY_ENABLE
58#endif
59
60# LUFA library compile-time options and predefined tokens 35# LUFA library compile-time options and predefined tokens
61LUFA_OPTS = -DUSB_DEVICE_ONLY 36LUFA_OPTS = -DUSB_DEVICE_ONLY
62LUFA_OPTS += -DUSE_FLASH_DESCRIPTORS 37LUFA_OPTS += -DUSE_FLASH_DESCRIPTORS
63LUFA_OPTS += -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" 38LUFA_OPTS += -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
64#LUFA_OPTS += -DINTERRUPT_CONTROL_ENDPOINT
65LUFA_OPTS += -DFIXED_CONTROL_ENDPOINT_SIZE=8
66LUFA_OPTS += -DFIXED_CONTROL_ENDPOINT_SIZE=8 39LUFA_OPTS += -DFIXED_CONTROL_ENDPOINT_SIZE=8
67LUFA_OPTS += -DFIXED_NUM_CONFIGURATIONS=1 40LUFA_OPTS += -DFIXED_NUM_CONFIGURATIONS=1
68 41
diff --git a/users/wanleg/rules.mk b/users/wanleg/rules.mk
index eb66a49e6..410803512 100644
--- a/users/wanleg/rules.mk
+++ b/users/wanleg/rules.mk
@@ -21,8 +21,8 @@ ifeq ($(strip $(BT)), yes)
21 #opt_defs for alternate pin usage 21 #opt_defs for alternate pin usage
22 OPT_DEFS += -DBLUEFRUIT 22 OPT_DEFS += -DBLUEFRUIT
23 #Adafruit Bluefruit controller settings 23 #Adafruit Bluefruit controller settings
24 BLUETOOTH = AdafruitBLE
25 BLUETOOTH_ENABLE = yes 24 BLUETOOTH_ENABLE = yes
25 BLUETOOTH_DRIVER = AdafruitBLE
26 F_CPU = 8000000 26 F_CPU = 8000000
27 CONSOLE_ENABLE = no # Console for debug(+400) 27 CONSOLE_ENABLE = no # Console for debug(+400)
28 COMMAND_ENABLE = no # Commands for debug and configuration 28 COMMAND_ENABLE = no # Commands for debug and configuration
@@ -42,4 +42,4 @@ endif
42#example usage: make gherkin:wanleg flip=yes 42#example usage: make gherkin:wanleg flip=yes
43ifeq ($(strip $(flip)), yes) 43ifeq ($(strip $(flip)), yes)
44 OPT_DEFS += -DFLIP 44 OPT_DEFS += -DFLIP
45endif \ No newline at end of file 45endif