diff options
Diffstat (limited to 'common_features.mk')
-rw-r--r-- | common_features.mk | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/common_features.mk b/common_features.mk index b9cd084d29..fa92a8482f 100644 --- a/common_features.mk +++ b/common_features.mk @@ -156,18 +156,38 @@ else endif endif +RGBLIGHT_ENABLE ?= no +VALID_RGBLIGHT_TYPES := WS2812 APA102 custom + +ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes) + RGBLIGHT_DRIVER ?= custom +endif + ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) - POST_CONFIG_H += $(QUANTUM_DIR)/rgblight_post_config.h - OPT_DEFS += -DRGBLIGHT_ENABLE - SRC += $(QUANTUM_DIR)/color.c - SRC += $(QUANTUM_DIR)/rgblight.c - CIE1931_CURVE := yes - RGB_KEYCODES_ENABLE := yes - ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes) - OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER + RGBLIGHT_DRIVER ?= WS2812 + + ifeq ($(filter $(RGBLIGHT_DRIVER),$(VALID_RGBLIGHT_TYPES)),) + $(error RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type) else + POST_CONFIG_H += $(QUANTUM_DIR)/rgblight_post_config.h + OPT_DEFS += -DRGBLIGHT_ENABLE + SRC += $(QUANTUM_DIR)/color.c + SRC += $(QUANTUM_DIR)/rgblight.c + CIE1931_CURVE := yes + RGB_KEYCODES_ENABLE := yes + endif + + ifeq ($(strip $(RGBLIGHT_DRIVER)), WS2812) WS2812_DRIVER_REQUIRED := yes endif + + ifeq ($(strip $(RGBLIGHT_DRIVER)), APA102) + APA102_DRIVER_REQUIRED := yes + endif + + ifeq ($(strip $(RGBLIGHT_DRIVER)), custom) + OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER + endif endif @@ -245,6 +265,11 @@ endif WS2812_DRIVER_REQUIRED := yes endif + ifeq ($(strip $(RGB_MATRIX_DRIVER)), APA102) + OPT_DEFS += -DAPA102 + APA102_DRIVER_REQUIRED := yes + endif + ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes) OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB endif @@ -347,6 +372,11 @@ ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) endif endif +ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes) + COMMON_VPATH += $(DRIVER_PATH)/apa102 + SRC += apa102.c +endif + ifeq ($(strip $(VISUALIZER_ENABLE)), yes) CIE1931_CURVE := yes endif |