Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rgblight: driver selection cleanups #21558

Merged
merged 1 commit into from
Aug 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions builddefs/common_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -317,14 +317,10 @@ ifneq ($(strip $(FLASH_DRIVER)), none)
endif

RGBLIGHT_ENABLE ?= no
VALID_RGBLIGHT_TYPES := WS2812 APA102 custom

ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes)
RGBLIGHT_DRIVER ?= custom
endif
VALID_RGBLIGHT_TYPES := ws2812 apa102 custom

ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
RGBLIGHT_DRIVER ?= WS2812
RGBLIGHT_DRIVER ?= ws2812

ifeq ($(filter $(RGBLIGHT_DRIVER),$(VALID_RGBLIGHT_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid RGBLIGHT_DRIVER,RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type)
Expand All @@ -338,11 +334,11 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
RGB_KEYCODES_ENABLE := yes
endif

ifeq ($(strip $(RGBLIGHT_DRIVER)), WS2812)
ifeq ($(strip $(RGBLIGHT_DRIVER)), ws2812)
WS2812_DRIVER_REQUIRED := yes
endif

ifeq ($(strip $(RGBLIGHT_DRIVER)), APA102)
ifeq ($(strip $(RGBLIGHT_DRIVER)), apa102)
APA102_DRIVER_REQUIRED := yes
endif

Expand Down
2 changes: 1 addition & 1 deletion builddefs/show_options.mk
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ HARDWARE_OPTION_NAMES = \
BACKLIGHT_ENABLE \
BACKLIGHT_DRIVER \
RGBLIGHT_ENABLE \
RGBLIGHT_CUSTOM_DRIVER \
RGBLIGHT_DRIVER \
RGB_MATRIX_ENABLE \
RGB_MATRIX_DRIVER \
CIE1931_CURVE \
Expand Down
1 change: 1 addition & 0 deletions data/mappings/info_rules.hjson
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"},
"PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},
"RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"},
"RGBLIGHT_DRIVER": {"info_key": "rgblight.driver"},
"SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
Expand Down
4 changes: 4 additions & 0 deletions data/schemas/keyboard.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,10 @@
}
},
"brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"driver": {
"type": "string",
"enum": ["apa102", "custom", "ws2812"]
},
"hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"layers": {
"type": "object",
Expand Down
2 changes: 1 addition & 1 deletion docs/feature_rgblight.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ For APA102 LEDs, add the following to your `rules.mk`:

```make
RGBLIGHT_ENABLE = yes
RGBLIGHT_DRIVER = APA102
RGBLIGHT_DRIVER = apa102
```

At minimum you must define the data pin your LED strip is connected to, and the number of LEDs in the strip, in your `config.h`. For APA102 LEDs, you must also define the clock pin. If your keyboard has onboard RGB LEDs, and you are simply creating a keymap, you usually won't need to modify these.
Expand Down
1 change: 1 addition & 0 deletions keyboards/capsunlocked/cu75/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"levels": 8
},
"rgblight": {
"driver": "custom",
"hue_steps": 10,
"led_count": 24
},
Expand Down
1 change: 0 additions & 1 deletion keyboards/capsunlocked/cu75/keymaps/default/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes # Disable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = yes # Disable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
Expand Down
1 change: 0 additions & 1 deletion keyboards/capsunlocked/cu75/keymaps/iso/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ NKRO_ENABLE = yes
# BACKLIGHT_ENABLE = no # Disable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Disable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = no # If the I2C pullup resistors aren't install this must be disabled
Expand Down
2 changes: 1 addition & 1 deletion keyboards/handwired/onekey/keymaps/apa102/rules.mk
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
RGBLIGHT_ENABLE = yes
RGBLIGHT_DRIVER = APA102
RGBLIGHT_DRIVER = apa102
1 change: 0 additions & 1 deletion keyboards/handwired/uthol/rev2/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,3 @@ EXTRAKEY_ENABLE = yes
NKRO_ENABLE = yes
LTO_ENABLE = yes
RGBLIGHT_ENABLE = yes
RGBLIGHT_DRIVER = WS2812
1 change: 0 additions & 1 deletion keyboards/handwired/uthol/rev3/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@ WPM_ENABLE = yes
EXTRAKEY_ENABLE = yes
ENCODER_ENABLE = yes
RGBLIGHT_ENABLE = yes
RGBLIGHT_DRIVER = WS2812
4 changes: 0 additions & 4 deletions keyboards/kprepublic/jj40/keymaps/fun40/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,5 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID

RGBLIGHT_ENABLE = yes
RGBLIGHT_CUSTOM_DRIVER = yes
DISABLE_WS2812 = yes


SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend

1 change: 0 additions & 1 deletion keyboards/kprepublic/jj40/keymaps/waples/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,4 @@ CONSOLE_ENABLE = no
COMMAND_ENABLE = yes
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
RGBLIGHT_CUSTOM_DRIVER = yes
KEY_LOCK_ENABLE = yes
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Disable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = no # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
TAP_DANCE_ENABLE = yes

Expand Down
1 change: 1 addition & 0 deletions keyboards/lfkeyboards/lfk78/revb/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"levels": 8
},
"rgblight": {
"driver": "custom",
"hue_steps": 10,
"led_count": 31
},
Expand Down
1 change: 1 addition & 0 deletions keyboards/lfkeyboards/lfk78/revc/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"levels": 8
},
"rgblight": {
"driver": "custom",
"hue_steps": 10,
"led_count": 27
},
Expand Down
1 change: 1 addition & 0 deletions keyboards/lfkeyboards/lfk78/revj/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"levels": 8
},
"rgblight": {
"driver": "custom",
"hue_steps": 10,
"led_count": 27
},
Expand Down
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/lfk78/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lfkeyboards, not qmk base
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
Expand Down
3 changes: 3 additions & 0 deletions keyboards/lfkeyboards/lfk87/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
"driver": "custom",
"levels": 10
},
"rgblight": {
"driver": "custom"
},
"ws2812": {
"pin": "F4"
},
Expand Down
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Disable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
TAP_DANCE_ENABLE = yes

Expand Down
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = yes # Enable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
Expand Down
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
Expand Down
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = yes # Enable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
Expand Down
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/lfk87/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = yes # Enable RGB underlight
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
Expand Down
1 change: 1 addition & 0 deletions keyboards/lfkeyboards/lfkpad/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"device_version": "0.0.1"
},
"rgblight": {
"driver": "custom",
"hue_steps": 10,
"led_count": 28
},
Expand Down
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/lfkpad/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lfkeyboards, not qmk base
AUDIO_ENABLE = no # Audio output
SLEEP_LED_ENABLE = yes

Expand Down
1 change: 1 addition & 0 deletions keyboards/lfkeyboards/mini1800/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"levels": 10
},
"rgblight": {
"driver": "custom",
"hue_steps": 10,
"led_count": 26
},
Expand Down
3 changes: 0 additions & 3 deletions keyboards/lfkeyboards/mini1800/reva/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = yes # Audio output

# RGB code is implemented in lfkeyboards, not WS2812
RGBLIGHT_CUSTOM_DRIVER = yes
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
Expand Down
3 changes: 0 additions & 3 deletions keyboards/lfkeyboards/mini1800/revc/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = yes # Audio output

# RGB code is implemented in lfkeyboards, not WS2812
RGBLIGHT_CUSTOM_DRIVER = yes
SLEEP_LED_ENABLE = yes

ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
Expand Down
1 change: 1 addition & 0 deletions keyboards/lfkeyboards/smk65/revb/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"levels": 8
},
"rgblight": {
"driver": "custom",
"hue_steps": 10,
"led_count": 20
},
Expand Down
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/smk65/revb/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
#
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
AUDIO_ENABLE = no # Audio output

# Extra source files for IS3731 lighting
Expand Down
1 change: 1 addition & 0 deletions keyboards/lfkeyboards/smk65/revf/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"processor": "atmega32u4",
"bootloader": "halfkay",
"rgblight": {
"driver": "custom",
"led_count": 28
},
"layouts": {
Expand Down
1 change: 0 additions & 1 deletion keyboards/lfkeyboards/smk65/revf/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@
# change yes to no to disable
#
RGBLIGHT_ENABLE = no # TODO: Enable keyboard RGB underglow
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
1 change: 1 addition & 0 deletions keyboards/matrix/noah/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"device_version": "0.0.1"
},
"rgblight": {
"driver": "custom",
"led_count": 7
},
"ws2812": {
Expand Down
1 change: 0 additions & 1 deletion keyboards/matrix/noah/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in
RGB_MATRIX_ENABLE = yes

RGBLIGHT_ENABLE = yes
RGBLIGHT_CUSTOM_DRIVER = yes
WS2812_DRIVER_REQUIRED = yes

CUSTOM_MATRIX = yes
Expand Down
1 change: 0 additions & 1 deletion keyboards/pearl/keymaps/cijanzen/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,5 @@ CONSOLE_ENABLE = no
COMMAND_ENABLE = yes
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
RGBLIGHT_CUSTOM_DRIVER = yes
# TAP_DANCE_ENABLE = yes
AUTO_SHIFT_ENABLE = yes
1 change: 0 additions & 1 deletion keyboards/prototypist/oceanographer/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,4 @@ OLED_DRIVER = SSD1306
AUDIO_ENABLE = yes
LTO_ENABLE = yes
RGBLIGHT_ENABLE = yes
RGBLIGHT_DRIVER = WS2812
ENCODER_ENABLE = yes
1 change: 1 addition & 0 deletions keyboards/v60_type_r/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"on_state": 0
},
"rgblight": {
"driver": "custom",
"led_count": 1
},
"processor": "atmega32u4",
Expand Down
2 changes: 1 addition & 1 deletion keyboards/v60_type_r/keymaps/ifohancroft/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- Layer 3: An empty layer in-case I need something on-the-fly so I can remap with VIA.
- Layer 4: An empty layer in-case I need something on-the-fly so I can remap with VIA.

This keymap also sets the polling rate of the keyboard to 1ms, disables the MOUSEKEY, EXTRAKEY, BACKLIGHT, RGBLIGHT and RGBLIGHT_CUSTOM_DRIVER features, and enables the following features:
This keymap also sets the polling rate of the keyboard to 1ms, disables the MOUSEKEY, EXTRAKEY, BACKLIGHT, and RGBLIGHT features, and enables the following features:

- NKRO (forced on)
- VIA
1 change: 0 additions & 1 deletion keyboards/v60_type_r/keymaps/ifohancroft/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@ MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = no
BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = no
RGBLIGHT_CUSTOM_DRIVER = no
NKRO_ENABLE = yes
VIA_ENABLE = yes
1 change: 0 additions & 1 deletion keyboards/v60_type_r/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable the RGB Underglow
RGBLIGHT_CUSTOM_DRIVER = yes
AUDIO_ENABLE = no # Audio output

LTO_ENABLE = yes
1 change: 0 additions & 1 deletion keyboards/yandrstudio/buff67v3/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,4 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
RGBLIGHT_DRIVER = WS2812 # RGB driver support
AUDIO_ENABLE = no # Audio output
2 changes: 1 addition & 1 deletion layouts/community/60_iso/unxmaal/rules.mk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Only enable RGBLIGHT on avr boards
ifeq ($(strip $(PLATFORM_KEY)),avr)
# ...that are at least prepared for it
ifdef RGBLIGHT_DRIVER
ifeq ($(strip $(RGBLIGHT_SUPPORTED)),yes)
RGBLIGHT_ENABLE = yes # Enable RGB Underglow
endif
endif