X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Fvisualizer%2Fvisualizer.mk;h=3bf3f7de6c084d08615a19766dc62451ffc9e597;hb=371922ad61a8fe7a3fc591949a1ad81f63be02c8;hp=6f97603bd89a25622b3b39b4cf428beb8fd64a75;hpb=a916f4e8b897b6b8925d7113d84f9eac7e7b67be;p=qmk_firmware.git diff --git a/quantum/visualizer/visualizer.mk b/quantum/visualizer/visualizer.mk index 6f97603bd..3bf3f7de6 100644 --- a/quantum/visualizer/visualizer.mk +++ b/quantum/visualizer/visualizer.mk @@ -20,6 +20,30 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +define ADD_DRIVER + $(1)_DRIVER:=$(strip $($(1)_DRIVER)) + $(1)_WIDTH:=$(strip $($(1)_WIDTH)) + $(1)_HEIGHT:=$(strip $($(1)_HEIGHT)) + ifeq ($($(1)_DRIVER),) + $$(error $(1)_DRIVER is not defined) + endif + ifeq ($($(1)_WIDTH),) + $$(error $(1)_WIDTH is not defined) + endif + ifeq ($($(1)_HEIGHT),) + $$(error $(1)_HEIGHT is not defined) + endif + OPT_DEFS+=-D$(1)_WIDTH=$($(1)_WIDTH) + OPT_DEFS+=-D$(1)_HEIGHT=$($(1)_HEIGHT) + GFXDEFS+=-D$(1)_WIDTH=$($(1)_WIDTH) + GFXDEFS+=-D$(1)_HEIGHT=$($(1)_HEIGHT) + $(1)_DISPLAY_NUMBER:=$$(words $$(GDISP_DRIVER_LIST)) + OPT_DEFS+=-D$(1)_DISPLAY_NUMBER=$$($(1)_DISPLAY_NUMBER) + include $(TOP_DIR)/drivers/ugfx/gdisp/$($(1)_DRIVER)/driver.mk +endef + +GDISP_DRIVER_LIST:= + SRC += $(VISUALIZER_DIR)/visualizer.c \ $(VISUALIZER_DIR)/visualizer_keyframes.c EXTRAINCDIRS += $(GFXINC) $(VISUALIZER_DIR) @@ -40,30 +64,58 @@ SRC += $(VISUALIZER_DIR)/lcd_backlight_keyframes.c # Note, that the linker will strip out any resources that are not actually in use SRC += $(VISUALIZER_DIR)/resources/lcd_logo.c OPT_DEFS += -DLCD_BACKLIGHT_ENABLE +$(eval $(call ADD_DRIVER,LCD)) endif ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) -SRC += $(VISUALIZER_DIR)/led_keyframes.c +SRC += $(VISUALIZER_DIR)/led_backlight_keyframes.c +$(eval $(call ADD_DRIVER,LED)) endif +SRC += $(VISUALIZER_DIR)/default_animations.c + include $(GFXLIB)/gfx.mk +# For the common_gfxconf.h +GFXINC += quantum/visualizer + GFXSRC := $(patsubst $(TOP_DIR)/%,%,$(GFXSRC)) GFXDEFS := $(patsubst %,-D%,$(patsubst -D%,%,$(GFXDEFS))) +GDISP_LIST_COMMA=, +GDISP_LIST_EMPTY= +GDISP_LIST_SPACE=$(GDISP_LIST_EMPTY) $(GDISP_LIST_EMPTY) + +GDISP_DRIVER_LIST := $(strip $(GDISP_DRIVER_LIST)) +GDISP_DRIVER_LIST := $(subst $(GDISP_LIST_SPACE),$(GDISP_LIST_COMMA),$(GDISP_DRIVER_LIST)) + +GFXDEFS +=-DGDISP_DRIVER_LIST="$(GDISP_DRIVER_LIST)" + ifneq ("$(wildcard $(KEYMAP_PATH)/visualizer.c)","") - SRC += keyboards/$(KEYBOARD)/keymaps/$(KEYMAP)/visualizer.c + SRC += $(KEYMAP_PATH)/visualizer.c else - ifeq ("$(wildcard $(SUBPROJECT_PATH)/keymaps/$(KEYMAP)/visualizer.c)","") - ifeq ("$(wildcard $(SUBPROJECT_PATH)/visualizer.c)","") -$(error "$(KEYMAP_PATH)/visualizer.c" does not exist) - else - SRC += keyboards/$(KEYBOARD)/$(SUBPROJECT)/visualizer.c - endif - else - SRC += keyboards/$(KEYBOARD)/$(SUBPROJECT)/keymaps/$(KEYMAP)/visualizer.c - endif + VISUALIZER_1 := $(KEYBOARD_PATH_1)/visualizer.c + VISUALIZER_2 := $(KEYBOARD_PATH_2)/visualizer.c + VISUALIZER_3 := $(KEYBOARD_PATH_3)/visualizer.c + VISUALIZER_4 := $(KEYBOARD_PATH_4)/visualizer.c + VISUALIZER_5 := $(KEYBOARD_PATH_5)/visualizer.c + + ifneq ("$(wildcard $(VISUALIZER_5))","") + SRC += $(VISUALIZER_5) + endif + ifneq ("$(wildcard $(VISUALIZER_4))","") + SRC += $(VISUALIZER_4) + endif + ifneq ("$(wildcard $(VISUALIZER_3))","") + SRC += $(VISUALIZER_3) + endif + ifneq ("$(wildcard $(VISUALIZER_2))","") + SRC += $(VISUALIZER_2) + endif + ifneq ("$(wildcard $(VISUALIZER_1))","") + SRC += $(VISUALIZER_1) + endif endif ifdef EMULATOR UINCDIR += $(TMK_DIR)/common -endif \ No newline at end of file +endif