summaryrefslogtreecommitdiffstats
path: root/common_features.mk
diff options
context:
space:
mode:
Diffstat (limited to 'common_features.mk')
-rw-r--r--common_features.mk46
1 files changed, 38 insertions, 8 deletions
diff --git a/common_features.mk b/common_features.mk
index 8ac53ec45a..95b59937cd 100644
--- a/common_features.mk
+++ b/common_features.mk
@@ -154,18 +154,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
@@ -243,6 +263,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
@@ -345,6 +370,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