Skip to content

Commit

Permalink
Bluetooth: driver naming cleanups (qmk#21624)
Browse files Browse the repository at this point in the history
  • Loading branch information
fauxpark authored and autoferrit committed Dec 6, 2023
1 parent 5d8a7a3 commit 4f5e300
Show file tree
Hide file tree
Showing 55 changed files with 88 additions and 43 deletions.
6 changes: 3 additions & 3 deletions builddefs/common_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -903,7 +903,7 @@ ifeq ($(strip $(USBPD_ENABLE)), yes)
endif

BLUETOOTH_ENABLE ?= no
VALID_BLUETOOTH_DRIVER_TYPES := BluefruitLE RN42 custom
VALID_BLUETOOTH_DRIVER_TYPES := bluefruit_le custom rn42
ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
ifeq ($(filter $(strip $(BLUETOOTH_DRIVER)),$(VALID_BLUETOOTH_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid BLUETOOTH_DRIVER,BLUETOOTH_DRIVER="$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type)
Expand All @@ -913,15 +913,15 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
COMMON_VPATH += $(DRIVER_PATH)/bluetooth
SRC += outputselect.c

ifeq ($(strip $(BLUETOOTH_DRIVER)), BluefruitLE)
ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le)
OPT_DEFS += -DBLUETOOTH_BLUEFRUIT_LE -DHAL_USE_SPI=TRUE
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp
QUANTUM_LIB_SRC += analog.c
QUANTUM_LIB_SRC += spi_master.c
endif

ifeq ($(strip $(BLUETOOTH_DRIVER)), RN42)
ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42)
OPT_DEFS += -DBLUETOOTH_RN42 -DHAL_USE_SERIAL=TRUE
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
SRC += $(DRIVER_PATH)/bluetooth/rn42.c
Expand Down
1 change: 0 additions & 1 deletion builddefs/show_options.mk
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ OTHER_OPTION_NAMES = \
ENCODER_ENABLE_CUSTOM \
GERMAN_ENABLE \
HAPTIC_ENABLE \
HHKB_RN42_ENABLE \
ISSI_ENABLE \
KEYLOGGER_ENABLE \
LCD_BACKLIGHT_ENABLE \
Expand Down
2 changes: 1 addition & 1 deletion data/schemas/keyboard.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@
"properties": {
"driver": {
"type": "string",
"enum": ["BluefruitLE", "RN42", "custom"]
"enum": ["bluefruit_le", "custom", "rn42"]
}
}
},
Expand Down
2 changes: 1 addition & 1 deletion docs/config_options.md
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,7 @@ Use these to enable or disable building certain features. The more you have enab
* `UNICODE_ENABLE`
* Unicode
* `BLUETOOTH_ENABLE`
* Current options are BluefruitLE, RN42
* Current options are bluefruit_le, rn42
* `SPLIT_KEYBOARD`
* Enables split keyboard support (dual MCU like the let's split and bakingpy's boards) and includes all necessary files located at quantum/split_common
* `CUSTOM_MATRIX`
Expand Down
10 changes: 5 additions & 5 deletions docs/feature_bluetooth.md
Original file line number Diff line number Diff line change
Expand Up @@ -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_DRIVER = RN42` |RN-42 |
|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = BluefruitLE`|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 = bluefruit_le`|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)
Expand All @@ -32,7 +32,7 @@ Add the following to your `rules.mk`:

```make
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE # or RN42
BLUETOOTH_DRIVER = bluefruit_le # or rn42
```
## Bluetooth Keycodes
Expand Down
3 changes: 3 additions & 0 deletions keyboards/10bleoledhub/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"pid": "0x7C99",
"device_version": "0.0.1"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"rgblight": {
"led_count": 4
},
Expand Down
1 change: 0 additions & 1 deletion keyboards/10bleoledhub/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
ENCODER_ENABLE = yes
2 changes: 1 addition & 1 deletion keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ F_CPU = 8000000
# change yes to no to disable
#
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
BLUETOOTH_DRIVER = bluefruit_le
BACKLIGHT_ENABLE = no
5 changes: 4 additions & 1 deletion keyboards/atreus/feather/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,8 @@
},
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "caterina"
"bootloader": "caterina",
"bluetooth": {
"driver": "bluefruit_le"
}
}
1 change: 0 additions & 1 deletion keyboards/atreus/feather/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,4 @@ F_CPU = 8000000
# change yes to no to disable
#
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
CONSOLE_ENABLE = no
3 changes: 3 additions & 0 deletions keyboards/bioi/g60/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
"ws2812": {
"pin": "B1"
},
"bluetooth": {
"driver": "custom"
},
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
"layouts": {
Expand Down
1 change: 0 additions & 1 deletion keyboards/bioi/g60/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes # Reduce firmware size
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = custom

VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first.

Expand Down
3 changes: 3 additions & 0 deletions keyboards/bioi/g60ble/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
"ws2812": {
"pin": "B1"
},
"bluetooth": {
"driver": "custom"
},
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
"community_layouts": ["60_ansi", "60_iso", "60_hhkb", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"],
Expand Down
1 change: 0 additions & 1 deletion keyboards/bioi/g60ble/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ LTO_ENABLE = yes

# these lines are all for bluetooth
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = custom
SRC += usart.c ble.c
OPT_DEFS += -DUART_RX1_BUFFER_SIZE=16 -DUART_TX1_BUFFER_SIZE=16
OPT_DEFS += -DUSART1_ENABLED
3 changes: 3 additions & 0 deletions keyboards/bioi/morgan65/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
"ws2812": {
"pin": "B1"
},
"bluetooth": {
"driver": "custom"
},
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
"community_layouts": [
Expand Down
1 change: 0 additions & 1 deletion keyboards/bioi/morgan65/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes # Reduce firmware size
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = custom

VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first.

Expand Down
2 changes: 1 addition & 1 deletion keyboards/converter/m0110_usb/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This is a port of the original M0110 converter from TMK to QMK. The original con

## Enabling Bluetooth for the Adafruit Feather 32U4 BLE

Simply add `BLUETOOTH = BluefruitLE` to your `rules.mk` file. This enables code specifically for the Adafruit Feather 32U4 BLE. If enabled, the device will use the `PRODUCT` value from `config.h` for the device name displayed by the Feather on host devices. You can simply change these values to change the device name.
Simply add `BLUETOOTH = bluefruit_le` to your `rules.mk` file. This enables code specifically for the Adafruit Feather 32U4 BLE. If enabled, the device will use the `PRODUCT` value from `config.h` for the device name displayed by the Feather on host devices. You can simply change these values to change the device name.


## Pins
Expand Down
5 changes: 4 additions & 1 deletion keyboards/converter/usb_usb/ble/info.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
{
"bootloader": "caterina"
"bootloader": "caterina",
"bluetooth": {
"driver": "bluefruit_le"
}
}
1 change: 0 additions & 1 deletion keyboards/converter/usb_usb/ble/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,4 @@ F_CPU = 8000000

EXTRAKEY_ENABLE = no
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
LTO_ENABLE = yes
3 changes: 3 additions & 0 deletions keyboards/dtisaac/dosa40rgb/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"pid": "0x4973",
"device_version": "0.0.4"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"ws2812": {
"pin": "D0"
},
Expand Down
1 change: 0 additions & 1 deletion keyboards/dtisaac/dosa40rgb/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
BLUETOOTH_ENABLE = yes # Enable Bluetooth
BLUETOOTH_DRIVER = BluefruitLE
RGB_MATRIX_ENABLE = yes

LTO_ENABLE = yes
3 changes: 3 additions & 0 deletions keyboards/handwired/42/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"pid": "0x0000",
"device_version": "0.0.3"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"tapping": {
"term": 100
},
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/42/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
3 changes: 3 additions & 0 deletions keyboards/handwired/bdn9_ble/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"pid": "0x1134",
"device_version": "1.0.0"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"backlight": {
"driver": "timer",
"pin": "F6",
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/bdn9_ble/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = no
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
3 changes: 3 additions & 0 deletions keyboards/handwired/fruity60/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"pid": "0xB170",
"device_version": "0.0.1"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "B7", "D6", "C7"],
"rows": ["B6", "B5", "D7", "C6", "D0", "D1"]
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/fruity60/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
3 changes: 3 additions & 0 deletions keyboards/handwired/hacked_motospeed/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"pid": "0x0690",
"device_version": "0.0.1"
},
"bluetooth": {
"driver": "rn42"
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "F4", "F3", "F2", "E0", "E1", "C0", "C1", "C2", "C3"],
"rows": ["B3", "B4", "F1", "B5", "B6", "D5", "D4", "D6", "D7", "C4"]
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/hacked_motospeed/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = RN42
3 changes: 3 additions & 0 deletions keyboards/handwired/osborne1/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
"mousekey": false,
"nkro": false
},
"bluetooth": {
"driver": "bluefruit_le"
},
"matrix_pins": {
"cols": ["D3", "D2", "F0", "F1", "F4", "F5", "F6", "F7"],
"rows": ["D0", "B7", "B5", "C6", "D1", "B6", "D7", "D6"]
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/osborne1/rules.mk
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
3 changes: 3 additions & 0 deletions keyboards/handwired/prkl30/feather/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
"ws2812": {
"pin": "D1"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"matrix_pins": {
"cols": ["D3", "D1", "B7", "D6", "C7", "B6", "B5", "D7", "C6", "D0"],
"rows": ["F4", "F1", "F0", "D2"]
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/prkl30/feather/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,3 @@ AUDIO_ENABLE = no # This can be enabled if a speaker is connected to t
RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.

BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
3 changes: 3 additions & 0 deletions keyboards/handwired/promethium/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
"ws2812": {
"pin": "B5"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"processor": "atmega32u4",
"bootloader": "caterina",
"layouts": {
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/promethium/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ PS2_ENABLE = yes
PS2_DRIVER = interrupt
CUSTOM_MATRIX = yes
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
WS2812_DRIVER_REQUIRED = yes

SRC += rgbsps.c
Expand Down
3 changes: 3 additions & 0 deletions keyboards/handwired/pterodactyl/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
"tapping": {
"toggle": 1
},
"bluetooth": {
"driver": "bluefruit_le"
},
"layouts": {
"LAYOUT_pterodactyl": {
"layout": [
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/pterodactyl/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = yes
CUSTOM_MATRIX = yes
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE

SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
3 changes: 3 additions & 0 deletions keyboards/handwired/slash/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"pid": "0x0000",
"device_version": "0.0.1"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"matrix_pins": {
"cols": ["D2", "F0", "F1", "F4", "F5", "F6", "F7", "D3"],
"rows": ["C7", "D6", "B7", "B6", "B5", "D7", "C6", "D0"]
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/slash/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
3 changes: 3 additions & 0 deletions keyboards/hhkb/yang/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
"indicators": {
"caps_lock": "F4"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"processor": "atmega32u4",
"bootloader": "lufa-ms",
"debounce": 0,
Expand Down
3 changes: 0 additions & 3 deletions keyboards/hhkb/yang/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # USB Nkey Rollover

# Disable bluetooth until the UART code is merged
BLUETOOTH_DRIVER = BluefruitLE

# Custom matrix file for the HHKB
CUSTOM_MATRIX = lite
SRC += matrix.c
3 changes: 3 additions & 0 deletions keyboards/latincompass/latin47ble/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
"tapping": {
"term": 250
},
"bluetooth": {
"driver": "bluefruit_le"
},
"ws2812": {
"pin": "B7"
},
Expand Down
1 change: 0 additions & 1 deletion keyboards/latincompass/latin47ble/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = BluefruitLE
3 changes: 3 additions & 0 deletions keyboards/latincompass/latin64ble/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"pid": "0x6C71",
"device_version": "0.0.1"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"rgblight": {
"brightness_steps": 25,
"led_count": 2
Expand Down
Loading

0 comments on commit 4f5e300

Please sign in to comment.