From 06cec720dde5e4c9acfb476cbdf3e098a2172eee Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 12 Sep 2023 05:16:39 +0100 Subject: Remove 'Firmware size check does not yet support' message (#21977) --- builddefs/common_rules.mk | 26 +------------------------- builddefs/message.mk | 1 - 2 files changed, 1 insertion(+), 26 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index d20e9ad74d..261ab7da02 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -380,33 +380,9 @@ dump_vars: objs-size: for i in $(OBJ); do echo $$i; done | sort | xargs $(SIZE) -ifeq ($(findstring avr-gcc,$(CC)),avr-gcc) -SIZE_MARGIN = 1024 +# size check optionally implemented in its platform.mk check-size: - $(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) platforms/avr/bootloader_size.c 2> /dev/null | $(SED) -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0)) - $(eval CURRENT_SIZE=$(shell if [ -f $(BUILD_DIR)/$(TARGET).hex ]; then $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex | $(AWK) 'NR==2 {print $$4}'; else printf 0; fi)) - $(eval FREE_SIZE=$(shell expr $(MAX_SIZE) - $(CURRENT_SIZE))) - $(eval OVER_SIZE=$(shell expr $(CURRENT_SIZE) - $(MAX_SIZE))) - $(eval PERCENT_SIZE=$(shell expr $(CURRENT_SIZE) \* 100 / $(MAX_SIZE))) - if [ $(MAX_SIZE) -gt 0 ] && [ $(CURRENT_SIZE) -gt 0 ]; then \ - $(SILENT) || printf "$(MSG_CHECK_FILESIZE)" | $(AWK_CMD); \ - if [ $(CURRENT_SIZE) -gt $(MAX_SIZE) ]; then \ - $(REMOVE) $(TARGET).$(FIRMWARE_FORMAT); \ - $(REMOVE) $(BUILD_DIR)/$(TARGET).{hex,bin,uf2}; \ - printf "\n * $(MSG_FILE_TOO_BIG)"; $(PRINT_ERROR_PLAIN); \ - else \ - if [ $(FREE_SIZE) -lt $(SIZE_MARGIN) ]; then \ - $(PRINT_WARNING_PLAIN); printf " * $(MSG_FILE_NEAR_LIMIT)"; \ - else \ - $(PRINT_OK); $(SILENT) || printf " * $(MSG_FILE_JUST_RIGHT)"; \ - fi ; \ - fi ; \ - fi -else -check-size: - $(SILENT) || echo "$(MSG_CHECK_FILESIZE_SKIPPED)" -endif check-md5: $(MD5SUM) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) diff --git a/builddefs/message.mk b/builddefs/message.mk index bf39554dab..c7cc5171e7 100644 --- a/builddefs/message.mk +++ b/builddefs/message.mk @@ -91,7 +91,6 @@ MSG_AVAILABLE_KEYMAPS = $(eval $(call GENERATE_MSG_AVAILABLE_KEYMAPS))$(MSG_AVAI MSG_BOOTLOADER_NOT_FOUND_BASE = Bootloader not found. Make sure the board is in bootloader mode. See https://docs.qmk.fm/\#/newbs_flashing\n MSG_CHECK_FILESIZE = Checking file size of $(TARGET).$(FIRMWARE_FORMAT) -MSG_CHECK_FILESIZE_SKIPPED = (Firmware size check does not yet support $(MCU_ORIG); skipping) MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n MSG_FILE_JUST_RIGHT = The firmware size is fine - $(CURRENT_SIZE)/$(MAX_SIZE) ($(PERCENT_SIZE)%%, $(FREE_SIZE) bytes free)\n -- cgit v1.2.3 From a0aebe5cd586bb464105a8ce6eddf926372c6146 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 13 Sep 2023 22:45:17 +1000 Subject: aw20216: driver naming cleanups (#21891) --- builddefs/common_features.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 094eda6fef..18f8b0bbfc 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -416,7 +416,7 @@ endif RGB_MATRIX_ENABLE ?= no -VALID_RGB_MATRIX_TYPES := aw20216 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 ws2812 custom +VALID_RGB_MATRIX_TYPES := aw20216s is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 ws2812 custom ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) @@ -437,10 +437,10 @@ endif CIE1931_CURVE := yes RGB_KEYCODES_ENABLE := yes - ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216) - OPT_DEFS += -DAW20216 -DSTM32_SPI -DHAL_USE_SPI=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216s) + OPT_DEFS += -DAW20216S -DSTM32_SPI -DHAL_USE_SPI=TRUE COMMON_VPATH += $(DRIVER_PATH)/led - SRC += aw20216.c + SRC += aw20216s.c QUANTUM_LIB_SRC += spi_master.c endif -- cgit v1.2.3 From 615ca78567736c262a9e4defe479cd9b42506b8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Sun, 17 Sep 2023 06:25:46 +0200 Subject: directly use object files when linking ELF (#22025) --- builddefs/common_rules.mk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'builddefs') diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index 261ab7da02..52dccbe475 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -12,6 +12,9 @@ vpath %.hpp $(VPATH_SRC) vpath %.S $(VPATH_SRC) VPATH := +# Helper to return the distinct elements of a list +uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))) + # Convert all SRC to OBJ define OBJ_FROM_SRC $(patsubst %.c,$1/%.o,$(patsubst %.cpp,$1/%.o,$(patsubst %.cc,$1/%.o,$(patsubst %.S,$1/%.o,$(patsubst %.clib,$1/%.a,$($1_SRC)))))) @@ -264,7 +267,7 @@ BEGIN = gccversion sizebefore # Note the obj.txt depeendency is there to force linking if a source file is deleted %.elf: $(OBJ) $(MASTER_OUTPUT)/cflags.txt $(MASTER_OUTPUT)/ldflags.txt $(MASTER_OUTPUT)/obj.txt | $(BEGIN) @$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD) - $(eval CMD=MAKE=$(MAKE) $(CC) $(ALL_CFLAGS) $(filter-out %.txt,$^) --output $@ $(LDFLAGS)) + $(eval CMD=MAKE=$(MAKE) $(CC) $(ALL_CFLAGS) $(call uniq,$(OBJ)) --output $@ $(LDFLAGS)) @$(BUILD_CMD) -- cgit v1.2.3 From 1ea54a2d8da9e64e5a2c1fd882a13058523b50bc Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 17 Sep 2023 22:11:16 +1000 Subject: Complete RGB Matrix support for IS31FL3218 (#22004) --- builddefs/common_features.mk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 18f8b0bbfc..1597022d63 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -416,7 +416,7 @@ endif RGB_MATRIX_ENABLE ?= no -VALID_RGB_MATRIX_TYPES := aw20216s is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 ws2812 custom +VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 ws2812 custom ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) @@ -444,6 +444,13 @@ endif QUANTUM_LIB_SRC += spi_master.c endif + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3218) + OPT_DEFS += -DIS31FL3218 -DSTM32_I2C -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3218.c + QUANTUM_LIB_SRC += i2c_master.c + endif + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731) OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi -- cgit v1.2.3 From 4b26d9b62b299f15ce517e3fb7c9bfbe8eaf88b8 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 20 Sep 2023 20:50:52 +1000 Subject: Update AW20216S LED type (#22072) * Update AW20216S LED type * Remove mattgauf keymap --- builddefs/common_features.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 1597022d63..58017ad1dd 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -347,6 +347,11 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) endif endif +# Deprecated driver names - do not use +ifeq ($(strip $(LED_MATRIX_DRIVER)), aw20216) +LED_MATRIX_DRIVER := aw20216s +endif + LED_MATRIX_ENABLE ?= no VALID_LED_MATRIX_TYPES := is31fl3731 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom # TODO: is31fl3733 is31fl3737 is31fl3741 @@ -414,6 +419,11 @@ endif endif +# Deprecated driver names - do not use +ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216) +RGB_MATRIX_DRIVER := aw20216s +endif + RGB_MATRIX_ENABLE ?= no VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 ws2812 custom -- cgit v1.2.3 From db68a95caea7ee65c6b91603ad6b11928a579953 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 21 Sep 2023 12:16:17 +1000 Subject: LED/RGB Matrix: prefix driver defines (#22088) --- builddefs/common_features.mk | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 58017ad1dd..2dd759973d 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -361,6 +361,7 @@ ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) $(call CATASTROPHIC_ERROR,Invalid LED_MATRIX_DRIVER,LED_MATRIX_DRIVER="$(LED_MATRIX_DRIVER)" is not a valid matrix type) endif OPT_DEFS += -DLED_MATRIX_ENABLE + OPT_DEFS += -DLED_MATRIX_$(strip $(shell echo $(LED_MATRIX_DRIVER) | tr '[:lower:]' '[:upper:]')) ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines OPT_DEFS += -DLIB8_ATTINY @@ -376,42 +377,42 @@ endif CIE1931_CURVE := yes ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3731) - OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731-simple.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), ckled2001) - OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led SRC += ckled2001-simple.c QUANTUM_LIB_SRC += i2c_master.c @@ -432,6 +433,7 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) endif OPT_DEFS += -DRGB_MATRIX_ENABLE + OPT_DEFS += -DRGB_MATRIX_$(strip $(shell echo $(RGB_MATRIX_DRIVER) | tr '[:lower:]' '[:upper:]')) ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines OPT_DEFS += -DLIB8_ATTINY @@ -448,96 +450,94 @@ endif RGB_KEYCODES_ENABLE := yes ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216s) - OPT_DEFS += -DAW20216S -DSTM32_SPI -DHAL_USE_SPI=TRUE + OPT_DEFS += -DHAL_USE_SPI=TRUE COMMON_VPATH += $(DRIVER_PATH)/led SRC += aw20216s.c QUANTUM_LIB_SRC += spi_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3218) - OPT_DEFS += -DIS31FL3218 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3218.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731) - OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3733) - OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3733.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3736) - OPT_DEFS += -DIS31FL3736 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3736.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3737) - OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3737.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3741) - OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3741.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), ckled2001) - OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE + OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led SRC += ckled2001.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), ws2812) - OPT_DEFS += -DWS2812 WS2812_DRIVER_REQUIRED := yes endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), apa102) - OPT_DEFS += -DAPA102 APA102_DRIVER_REQUIRED := yes endif -- cgit v1.2.3 From f8cea06be3f364e35b5f33c13cf025f010ab158f Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 21 Sep 2023 15:50:01 +1000 Subject: RGBLight/Backlight: add prefixed driver defines (#22089) --- builddefs/common_features.mk | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 2dd759973d..a594e2b1d5 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -328,6 +328,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) COMMON_VPATH += $(QUANTUM_DIR)/rgblight POST_CONFIG_H += $(QUANTUM_DIR)/rgblight/rgblight_post_config.h OPT_DEFS += -DRGBLIGHT_ENABLE + OPT_DEFS += -DRGBLIGHT_$(strip $(shell echo $(RGBLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]')) SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/rgblight/rgblight.c CIE1931_CURVE := yes @@ -341,10 +342,6 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) ifeq ($(strip $(RGBLIGHT_DRIVER)), apa102) APA102_DRIVER_REQUIRED := yes endif - - ifeq ($(strip $(RGBLIGHT_DRIVER)), custom) - OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER - endif endif # Deprecated driver names - do not use @@ -584,6 +581,7 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) SRC += $(QUANTUM_DIR)/backlight/backlight.c SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c OPT_DEFS += -DBACKLIGHT_ENABLE + OPT_DEFS += -DBACKLIGHT_$(strip $(shell echo $(BACKLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]')) ifneq ($(strip $(BACKLIGHT_DRIVER)), custom) SRC += $(QUANTUM_DIR)/backlight/backlight_driver_common.c -- cgit v1.2.3 From dd94877ec6d2ee5c4cdb0e71287abd76585b0268 Mon Sep 17 00:00:00 2001 From: Isaac Elenbaas Date: Sun, 24 Sep 2023 22:45:49 -0400 Subject: Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases (#15889) --- builddefs/build_full_test.mk | 8 ++++---- builddefs/build_test.mk | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'builddefs') diff --git a/builddefs/build_full_test.mk b/builddefs/build_full_test.mk index 85ee0898ec..63f9fea915 100644 --- a/builddefs/build_full_test.mk +++ b/builddefs/build_full_test.mk @@ -13,10 +13,10 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -$(TEST)_INC := \ +$(TEST_OUTPUT)_INC := \ tests/test_common/common_config.h -$(TEST)_SRC := \ +$(TEST_OUTPUT)_SRC := \ $(QUANTUM_SRC) \ $(SRC) \ $(QUANTUM_PATH)/keymap_introspection.c \ @@ -30,8 +30,8 @@ $(TEST)_SRC := \ tests/test_common/test_logger.cpp \ $(patsubst $(ROOTDIR)/%,%,$(wildcard $(TEST_PATH)/*.cpp)) -$(TEST)_DEFS := $(OPT_DEFS) "-DKEYMAP_C=\"keymap.c\"" +$(TEST_OUTPUT)_DEFS := $(OPT_DEFS) "-DKEYMAP_C=\"keymap.c\"" -$(TEST)_CONFIG := $(TEST_PATH)/config.h +$(TEST_OUTPUT)_CONFIG := $(TEST_PATH)/config.h VPATH += $(TOP_DIR)/tests/test_common diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk index 9eead77bea..2cc1134da5 100644 --- a/builddefs/build_test.mk +++ b/builddefs/build_test.mk @@ -9,13 +9,13 @@ OPT = g include paths.mk include $(BUILDDEFS_PATH)/message.mk -TARGET=test/$(TEST) +TARGET=test/$(TEST_OUTPUT) GTEST_OUTPUT = $(BUILD_DIR)/gtest TEST_OBJ = $(BUILD_DIR)/test_obj -OUTPUTS := $(TEST_OBJ)/$(TEST) $(GTEST_OUTPUT) +OUTPUTS := $(TEST_OBJ)/$(TEST_OUTPUT) $(GTEST_OUTPUT) GTEST_INC := \ $(LIB_PATH)/googletest/googletest/include \ @@ -71,18 +71,18 @@ ifneq ($(filter $(FULL_TESTS),$(TEST)),) include $(BUILDDEFS_PATH)/build_full_test.mk endif -$(TEST)_SRC += \ +$(TEST_OUTPUT)_SRC += \ tests/test_common/main.cpp \ $(QUANTUM_PATH)/logging/print.c ifneq ($(strip $(INTROSPECTION_KEYMAP_C)),) -$(TEST)_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\" +$(TEST_OUTPUT)_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\" endif -$(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC) -$(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC) -$(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS) -$(TEST_OBJ)/$(TEST)_CONFIG := $($(TEST)_CONFIG) +$(TEST_OBJ)/$(TEST_OUTPUT)_SRC := $($(TEST_OUTPUT)_SRC) +$(TEST_OBJ)/$(TEST_OUTPUT)_INC := $($(TEST_OUTPUT)_INC) $(VPATH) $(GTEST_INC) +$(TEST_OBJ)/$(TEST_OUTPUT)_DEFS := $($(TEST_OUTPUT)_DEFS) +$(TEST_OBJ)/$(TEST_OUTPUT)_CONFIG := $($(TEST_OUTPUT)_CONFIG) include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk include $(BUILDDEFS_PATH)/common_rules.mk -- cgit v1.2.3 From 21ed9b4575fd5c19b4879b90d4a15863aa731ba9 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 25 Sep 2023 13:06:42 +1000 Subject: Simplify more feature driver defines (#22090) --- builddefs/common_features.mk | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index a594e2b1d5..8e07c25c24 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -602,7 +602,7 @@ ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) $(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver) endif - OPT_DEFS += -DWS2812_DRIVER_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]')) + OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]')) SRC += ws2812_$(strip $(WS2812_DRIVER)).c @@ -739,17 +739,16 @@ ifeq ($(strip $(HAPTIC_ENABLE)),yes) ifeq ($(filter $(HAPTIC_DRIVER),$(VALID_HAPTIC_DRIVER_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid HAPTIC_DRIVER,HAPTIC_DRIVER="$(HAPTIC_DRIVER)" is not a valid Haptic driver) else + OPT_DEFS += -DHAPTIC_$(strip $(shell echo $(HAPTIC_DRIVER) | tr '[:lower:]' '[:upper:]')) COMMON_VPATH += $(DRIVER_PATH)/haptic ifeq ($(strip $(HAPTIC_DRIVER)), drv2605l) SRC += drv2605l.c QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DHAPTIC_DRV2605L endif ifeq ($(strip $(HAPTIC_DRIVER)), solenoid) SRC += solenoid.c - OPT_DEFS += -DHAPTIC_SOLENOID endif endif endif @@ -772,6 +771,7 @@ ifeq ($(strip $(OLED_ENABLE)), yes) $(call CATASTROPHIC_ERROR,Invalid OLED_TRANSPORT,OLED_TRANSPORT="$(OLED_TRANSPORT)" is not a valid OLED transport) else OPT_DEFS += -DOLED_ENABLE + OPT_DEFS += -DOLED_$(strip $(shell echo $(OLED_DRIVER) | tr '[:lower:]' '[:upper:]')) COMMON_VPATH += $(DRIVER_PATH)/oled ifneq ($(strip $(OLED_DRIVER)), custom) SRC += oled_driver.c @@ -924,12 +924,13 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) $(call CATASTROPHIC_ERROR,Invalid BLUETOOTH_DRIVER,BLUETOOTH_DRIVER="$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type) endif OPT_DEFS += -DBLUETOOTH_ENABLE + OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]')) NO_USB_STARTUP_CHECK := yes COMMON_VPATH += $(DRIVER_PATH)/bluetooth SRC += outputselect.c ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le) - OPT_DEFS += -DBLUETOOTH_BLUEFRUIT_LE -DHAL_USE_SPI=TRUE + OPT_DEFS += -DHAL_USE_SPI=TRUE SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp QUANTUM_LIB_SRC += analog.c @@ -937,7 +938,7 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) endif ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42) - OPT_DEFS += -DBLUETOOTH_RN42 -DHAL_USE_SERIAL=TRUE + OPT_DEFS += -DHAL_USE_SERIAL=TRUE SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/rn42.c QUANTUM_LIB_SRC += uart.c -- cgit v1.2.3 From 9b0887359bd6828a4071f7ce0dcd35eb0c8f98a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Mart=C3=ADnez?= <58857054+elpekenin@users.noreply.github.com> Date: Mon, 25 Sep 2023 06:17:50 +0200 Subject: [Feature] Compilation warning if both `keymap.json` and `keymap.c` exist (#19939) Co-authored-by: Nick Brassel --- builddefs/build_json.mk | 10 +++---- builddefs/build_keyboard.mk | 63 ++++++++++++++++++++++++--------------------- builddefs/message.mk | 4 +++ 3 files changed, 43 insertions(+), 34 deletions(-) (limited to 'builddefs') diff --git a/builddefs/build_json.mk b/builddefs/build_json.mk index 0c034eb2ae..e29d678e48 100644 --- a/builddefs/build_json.mk +++ b/builddefs/build_json.mk @@ -1,17 +1,17 @@ # Look for a json keymap file ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_5) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_4) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_3) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_2) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_1) endif diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index e93ab97cc1..b81e00b0d3 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -127,39 +127,44 @@ include $(INFO_RULES_MK) include $(BUILDDEFS_PATH)/build_json.mk # Pull in keymap level rules.mk -ifeq ("$(wildcard $(KEYMAP_PATH))", "") - # Look through the possible keymap folders until we find a matching keymap.c - ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_1)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_2)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_3)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_4)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_5)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) - else ifneq ($(LAYOUTS),) - # If we haven't found a keymap yet fall back to community layouts - include $(BUILDDEFS_PATH)/build_layout.mk - else - $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) - # this state should never be reached - endif +# Look through the possible keymap folders until we find a matching keymap.c +ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_1)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_2)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_3)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_4)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_5)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) +else ifneq ($(LAYOUTS),) + # If we haven't found a keymap yet fall back to community layouts + include $(BUILDDEFS_PATH)/build_layout.mk +# Not finding keymap.c is fine if we found a keymap.json +else ifeq ("$(wildcard $(KEYMAP_JSON_PATH))", "") + $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) + # this state should never be reached endif # Have we found a keymap.json? ifneq ("$(wildcard $(KEYMAP_JSON))", "") + ifneq ("$(wildcard $(KEYMAP_C))", "") + $(call WARNING_MESSAGE,Keymap is specified as both keymap.json and keymap.c -- keymap.json file wins.) + endif + + KEYMAP_PATH := $(KEYMAP_JSON_PATH) + KEYMAP_C := $(INTERMEDIATE_OUTPUT)/src/keymap.c KEYMAP_H := $(INTERMEDIATE_OUTPUT)/src/config.h diff --git a/builddefs/message.mk b/builddefs/message.mk index c7cc5171e7..7c8f87f990 100644 --- a/builddefs/message.mk +++ b/builddefs/message.mk @@ -103,6 +103,10 @@ MSG_BOOTLOADER_NOT_FOUND = $(ERROR_COLOR)ERROR:$(NO_COLOR) $(MSG_BOOTLOADER_NOT_ BOOTLOADER_RETRY_TIME ?= 0.5 MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY = $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again every $(BOOTLOADER_RETRY_TIME)s (Ctrl+C to cancel) +define WARNING_MESSAGE + $(shell printf "\n %-99s $(WARN_STRING)\n" "$1" >&2) +endef + define CATASTROPHIC_ERROR $(shell printf "\n * %-99s $(ERROR_STRING)\n" "$2" >&2) $(error $1) -- cgit v1.2.3 From 339bff63393cda8bd6e8358e09d04b50ff9ac010 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 25 Sep 2023 17:48:10 +0100 Subject: Move velocikey to within rgblight (#22123) --- builddefs/common_features.mk | 4 ++++ builddefs/generic_features.mk | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 8e07c25c24..973cfba394 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -342,6 +342,10 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) ifeq ($(strip $(RGBLIGHT_DRIVER)), apa102) APA102_DRIVER_REQUIRED := yes endif + + ifeq ($(strip $(VELOCIKEY_ENABLE)), yes) + OPT_DEFS += -DVELOCIKEY_ENABLE + endif endif # Deprecated driver names - do not use diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index 4e058dcd26..afd8bbd276 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -37,7 +37,6 @@ GENERIC_FEATURES = \ SPACE_CADET \ SWAP_HANDS \ TAP_DANCE \ - VELOCIKEY \ WPM \ DYNAMIC_TAPPING_TERM \ TRI_LAYER -- cgit v1.2.3 From 32de27bb20071e4e8614b0fd1f2d289e016ca5a1 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 27 Sep 2023 10:18:07 +1000 Subject: is31fl3736: extract single-color API (#22133) --- builddefs/common_features.mk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 973cfba394..edc6f30d64 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -354,7 +354,7 @@ LED_MATRIX_DRIVER := aw20216s endif LED_MATRIX_ENABLE ?= no -VALID_LED_MATRIX_TYPES := is31fl3731 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom +VALID_LED_MATRIX_TYPES := is31fl3731 is31fl3736 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom # TODO: is31fl3733 is31fl3737 is31fl3741 ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) @@ -384,6 +384,13 @@ endif QUANTUM_LIB_SRC += i2c_master.c endif + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3736) + OPT_DEFS += -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3736-simple.c + QUANTUM_LIB_SRC += i2c_master.c + endif + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi -- cgit v1.2.3 From 288c2313fe3b705a07166971210e91a33bb1add4 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 27 Sep 2023 14:37:06 +1000 Subject: is31fl3218: Add LED Matrix support (#22126) Co-authored-by: Joel Challis --- builddefs/common_features.mk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index edc6f30d64..c20c8be8bd 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -354,7 +354,7 @@ LED_MATRIX_DRIVER := aw20216s endif LED_MATRIX_ENABLE ?= no -VALID_LED_MATRIX_TYPES := is31fl3731 is31fl3736 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom +VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3731 is31fl3736 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom # TODO: is31fl3733 is31fl3737 is31fl3741 ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) @@ -377,6 +377,13 @@ endif SRC += $(LIB_PATH)/lib8tion/lib8tion.c CIE1931_CURVE := yes + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3218) + OPT_DEFS += -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3218-simple.c + QUANTUM_LIB_SRC += i2c_master.c + endif + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3731) OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi -- cgit v1.2.3 From d58f85e09e7e1048beb4ccb6e678adad866f96fb Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 27 Sep 2023 16:11:28 +1000 Subject: is31fl3733: complete LED Matrix support (#22149) --- builddefs/common_features.mk | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index c20c8be8bd..8be4e40d33 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -354,8 +354,8 @@ LED_MATRIX_DRIVER := aw20216s endif LED_MATRIX_ENABLE ?= no -VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3731 is31fl3736 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom -# TODO: is31fl3733 is31fl3737 is31fl3741 +VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom +# TODO: is31fl3737 is31fl3741 ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),) @@ -391,6 +391,13 @@ endif QUANTUM_LIB_SRC += i2c_master.c endif + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3733) + OPT_DEFS += -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3733-simple.c + QUANTUM_LIB_SRC += i2c_master.c + endif + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3736) OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi @@ -398,35 +405,35 @@ endif QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a) + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a) + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745) + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a) + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), ckled2001) + ifeq ($(strip $(LED_MATRIX_DRIVER)), ckled2001) OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led SRC += ckled2001-simple.c @@ -513,28 +520,28 @@ endif QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c -- cgit v1.2.3 From bd5860de4ed50ee306cee2ef54c7ff4f751a6168 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 3 Oct 2023 01:09:20 +1100 Subject: is31fl3737/3741: add LED Matrix support (#22163) --- builddefs/common_features.mk | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 8be4e40d33..5ac392c6a9 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -354,8 +354,7 @@ LED_MATRIX_DRIVER := aw20216s endif LED_MATRIX_ENABLE ?= no -VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom -# TODO: is31fl3737 is31fl3741 +VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),) @@ -405,6 +404,20 @@ endif QUANTUM_LIB_SRC += i2c_master.c endif + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3737) + OPT_DEFS += -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3737-simple.c + QUANTUM_LIB_SRC += i2c_master.c + endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3741) + OPT_DEFS += -DHAL_USE_I2C=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3741-simple.c + QUANTUM_LIB_SRC += i2c_master.c + endif + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a) OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi -- cgit v1.2.3 From c0f16be50fec33cdb30386ac512efb900f3f7470 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 4 Oct 2023 20:10:05 +1100 Subject: Rename CKLED2001 driver to SNLED27351 (#22071) --- builddefs/common_features.mk | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 5ac392c6a9..d08b3751fc 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -352,9 +352,12 @@ endif ifeq ($(strip $(LED_MATRIX_DRIVER)), aw20216) LED_MATRIX_DRIVER := aw20216s endif +ifeq ($(strip $(LED_MATRIX_DRIVER)), ckled2001) +LED_MATRIX_DRIVER := snled27351 +endif LED_MATRIX_ENABLE ?= no -VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom +VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),) @@ -446,10 +449,10 @@ endif QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), ckled2001) + ifeq ($(strip $(LED_MATRIX_DRIVER)), snled27351) OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led - SRC += ckled2001-simple.c + SRC += snled27351-simple.c QUANTUM_LIB_SRC += i2c_master.c endif @@ -459,10 +462,13 @@ endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216) RGB_MATRIX_DRIVER := aw20216s endif +ifeq ($(strip $(RGB_MATRIX_DRIVER)), ckled2001) +RGB_MATRIX_DRIVER := snled27351 +endif RGB_MATRIX_ENABLE ?= no -VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 ws2812 custom +VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) @@ -561,10 +567,10 @@ endif QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), ckled2001) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), snled27351) OPT_DEFS += -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led - SRC += ckled2001.c + SRC += snled27351.c QUANTUM_LIB_SRC += i2c_master.c endif -- cgit v1.2.3 From c157c19b81fbd8b516de0eb5e854d278669cff1a Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 13 Oct 2023 17:25:32 +1100 Subject: Dedupe I2C, SPI, UART driver inclusions (#22253) --- builddefs/common_features.mk | 185 +++++++++++++++++++++---------------------- 1 file changed, 89 insertions(+), 96 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index d08b3751fc..84a0300579 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -151,30 +151,25 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) endif OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(POINTING_DEVICE_DRIVER)) ifeq ($(strip $(POINTING_DEVICE_DRIVER)), adns9800) - OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE - QUANTUM_LIB_SRC += spi_master.c + SPI_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick) OPT_DEFS += -DSTM32_ADC -DHAL_USE_ADC=TRUE LIB_SRC += analog.c else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_i2c) - OPT_DEFS += -DSTM32_I2C -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes SRC += drivers/sensors/cirque_pinnacle.c SRC += drivers/sensors/cirque_pinnacle_gestures.c SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c - QUANTUM_LIB_SRC += i2c_master.c else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_spi) - OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE + SPI_DRIVER_REQUIRED = yes SRC += drivers/sensors/cirque_pinnacle.c SRC += drivers/sensors/cirque_pinnacle_gestures.c SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c - QUANTUM_LIB_SRC += spi_master.c else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pimoroni_trackball) - OPT_DEFS += -DSTM32_SPI -DHAL_USE_I2C=TRUE - QUANTUM_LIB_SRC += i2c_master.c + I2C_DRIVER_REQUIRED = yes else ifneq ($(filter $(strip $(POINTING_DEVICE_DRIVER)),pmw3360 pmw3389),) - OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE + SPI_DRIVER_REQUIRED = yes SRC += drivers/sensors/pmw33xx_common.c - QUANTUM_LIB_SRC += spi_master.c endif endif endif @@ -204,12 +199,12 @@ else else ifeq ($(strip $(EEPROM_DRIVER)), i2c) # External I2C EEPROM implementation OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C - QUANTUM_LIB_SRC += i2c_master.c + I2C_DRIVER_REQUIRED = yes SRC += eeprom_driver.c eeprom_i2c.c else ifeq ($(strip $(EEPROM_DRIVER)), spi) # External SPI EEPROM implementation OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI - QUANTUM_LIB_SRC += spi_master.c + SPI_DRIVER_REQUIRED = yes SRC += eeprom_driver.c eeprom_spi.c else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash) # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated) @@ -308,10 +303,10 @@ ifneq ($(strip $(FLASH_DRIVER)), none) else OPT_DEFS += -DFLASH_ENABLE ifeq ($(strip $(FLASH_DRIVER)),spi) + SPI_DRIVER_REQUIRED = yes OPT_DEFS += -DFLASH_DRIVER -DFLASH_SPI COMMON_VPATH += $(DRIVER_PATH)/flash SRC += flash_spi.c - QUANTUM_LIB_SRC += spi_master.c endif endif endif @@ -380,80 +375,73 @@ endif CIE1931_CURVE := yes ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3218) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3218-simple.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3731) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731-simple.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3733) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3733-simple.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3736) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3736-simple.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3737) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3737-simple.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3741) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3741-simple.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a) - OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a) - OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745) - OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a) - OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(LED_MATRIX_DRIVER)), snled27351) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led SRC += snled27351-simple.c - QUANTUM_LIB_SRC += i2c_master.c endif endif @@ -491,87 +479,79 @@ endif RGB_KEYCODES_ENABLE := yes ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216s) - OPT_DEFS += -DHAL_USE_SPI=TRUE + SPI_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led SRC += aw20216s.c - QUANTUM_LIB_SRC += spi_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3218) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3218.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3733) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3733.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3736) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3736.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3737) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3737.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3741) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3741.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a) - OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a) - OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745) - OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a) - OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), snled27351) - OPT_DEFS += -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led SRC += snled27351.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), ws2812) @@ -638,35 +618,6 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) endif endif -VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor - -WS2812_DRIVER ?= bitbang -ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) - ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),) - $(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver) - endif - - OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]')) - - SRC += ws2812_$(strip $(WS2812_DRIVER)).c - - ifeq ($(strip $(PLATFORM)), CHIBIOS) - ifeq ($(strip $(WS2812_DRIVER)), pwm) - OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE - endif - endif - - # add extra deps - ifeq ($(strip $(WS2812_DRIVER)), i2c) - QUANTUM_LIB_SRC += i2c_master.c - endif -endif - -ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes) - COMMON_VPATH += $(DRIVER_PATH)/led - SRC += apa102.c -endif - ifeq ($(strip $(CIE1931_CURVE)), yes) OPT_DEFS += -DUSE_CIE1931_CURVE LED_TABLES := yes @@ -787,8 +738,8 @@ ifeq ($(strip $(HAPTIC_ENABLE)),yes) COMMON_VPATH += $(DRIVER_PATH)/haptic ifeq ($(strip $(HAPTIC_DRIVER)), drv2605l) + I2C_DRIVER_REQUIRED = yes SRC += drv2605l.c - QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(HAPTIC_DRIVER)), solenoid) @@ -823,10 +774,10 @@ ifeq ($(strip $(OLED_ENABLE)), yes) OPT_DEFS += -DOLED_TRANSPORT_$(strip $(shell echo $(OLED_TRANSPORT) | tr '[:lower:]' '[:upper:]')) ifeq ($(strip $(OLED_TRANSPORT)), i2c) - QUANTUM_LIB_SRC += i2c_master.c + I2C_DRIVER_REQUIRED = yes endif ifeq ($(strip $(OLED_TRANSPORT)), spi) - QUANTUM_LIB_SRC += spi_master.c + SPI_DRIVER_REQUIRED = yes endif endif endif @@ -834,9 +785,9 @@ endif ifeq ($(strip $(ST7565_ENABLE)), yes) OPT_DEFS += -DST7565_ENABLE + SPI_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/oled # For glcdfont.h COMMON_VPATH += $(DRIVER_PATH)/lcd - QUANTUM_LIB_SRC += spi_master.c SRC += st7565.c endif @@ -974,18 +925,16 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) SRC += outputselect.c ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le) - OPT_DEFS += -DHAL_USE_SPI=TRUE + SPI_DRIVER_REQUIRED = yes 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) - OPT_DEFS += -DHAL_USE_SERIAL=TRUE + UART_DRIVER_REQUIRED = yes SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/rn42.c - QUANTUM_LIB_SRC += uart.c endif endif @@ -1004,3 +953,47 @@ ifeq ($(strip $(OS_DETECTION_ENABLE)), yes) OPT_DEFS += -DOS_DETECTION_DEBUG_ENABLE endif endif + +VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor + +WS2812_DRIVER ?= bitbang +ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) + ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),) + $(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver) + endif + + OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]')) + + SRC += ws2812_$(strip $(WS2812_DRIVER)).c + + ifeq ($(strip $(PLATFORM)), CHIBIOS) + ifeq ($(strip $(WS2812_DRIVER)), pwm) + OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE + endif + endif + + # add extra deps + ifeq ($(strip $(WS2812_DRIVER)), i2c) + I2C_DRIVER_REQUIRED = yes + endif +endif + +ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes) + COMMON_VPATH += $(DRIVER_PATH)/led + SRC += apa102.c +endif + +ifeq ($(strip $(I2C_DRIVER_REQUIRED)), yes) + OPT_DEFS += -DHAL_USE_I2C=TRUE + QUANTUM_LIB_SRC += i2c_master.c +endif + +ifeq ($(strip $(SPI_DRIVER_REQUIRED)), yes) + OPT_DEFS += -DHAL_USE_SPI=TRUE + QUANTUM_LIB_SRC += spi_master.c +endif + +ifeq ($(strip $(UART_DRIVER_REQUIRED)), yes) + OPT_DEFS += -DHAL_USE_SERIAL=TRUE + QUANTUM_LIB_SRC += uart.c +endif -- cgit v1.2.3 From 8e614250b4b44a14a6a8c93bea3a6d1fd02790cf Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sun, 22 Oct 2023 13:27:31 +1100 Subject: [QP] Add support for OLED, variable framebuffer bpp (#19997) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com> Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> Fixup delta frame coordinates after #20296. --- builddefs/build_keyboard.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'builddefs') diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index a1c1d5b976..12a8c5b67b 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -455,6 +455,7 @@ $(eval $(call add_qmk_prefix_defs,MCU_PORT_NAME,MCU_PORT_NAME)) $(eval $(call add_qmk_prefix_defs,MCU_FAMILY,MCU_FAMILY)) $(eval $(call add_qmk_prefix_defs,MCU_SERIES,MCU_SERIES)) $(eval $(call add_qmk_prefix_defs,BOARD,BOARD)) +$(eval $(call add_qmk_prefix_defs,OPT,OPT)) # Control whether intermediate file listings are generated # e.g.: -- cgit v1.2.3 From 3143a7597fc32dde3fefa484130dd9b33cac57bf Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 4 Nov 2023 20:33:52 +0000 Subject: Allow generic_features to handle subdirectories (#22400) --- builddefs/generic_features.mk | 2 ++ 1 file changed, 2 insertions(+) (limited to 'builddefs') diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index afd8bbd276..261da564b2 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -44,7 +44,9 @@ GENERIC_FEATURES = \ define HANDLE_GENERIC_FEATURE # $$(info "Processing: $1_ENABLE $2.c") SRC += $$(wildcard $$(QUANTUM_DIR)/process_keycode/process_$2.c) + SRC += $$(wildcard $$(QUANTUM_DIR)/$2/$2.c) SRC += $$(wildcard $$(QUANTUM_DIR)/$2.c) + VPATH += $$(wildcard $$(QUANTUM_DIR)/$2/) OPT_DEFS += -D$1_ENABLE endef -- cgit v1.2.3 From be66e5f2b4fb67b4d0adc18e27f5a91bdf50a429 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 8 Nov 2023 00:58:59 +1100 Subject: WT RGB cleanups (#22379) --- builddefs/show_options.mk | 1 - 1 file changed, 1 deletion(-) (limited to 'builddefs') diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index 563d089880..44e40e1f41 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -60,7 +60,6 @@ OTHER_OPTION_NAMES = \ ENCODER_ENABLE_CUSTOM \ GERMAN_ENABLE \ HAPTIC_ENABLE \ - ISSI_ENABLE \ KEYLOGGER_ENABLE \ LCD_BACKLIGHT_ENABLE \ MACROS_ENABLED \ -- cgit v1.2.3 From 147865cf57feaf9dfb59aeeffa8b1d541c064d93 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 9 Nov 2023 02:01:44 +0000 Subject: Migrate some common features to generic (#22403) --- builddefs/common_features.mk | 72 ++++++++----------------------------------- builddefs/generic_features.mk | 18 +++++++++-- builddefs/show_options.mk | 1 - 3 files changed, 27 insertions(+), 64 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 84a0300579..b6f888d30d 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -75,10 +75,7 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes) endif ifeq ($(strip $(SEQUENCER_ENABLE)), yes) - OPT_DEFS += -DSEQUENCER_ENABLE MUSIC_ENABLE = yes - SRC += $(QUANTUM_DIR)/sequencer/sequencer.c - SRC += $(QUANTUM_DIR)/process_keycode/process_sequencer.c endif ifeq ($(strip $(MIDI_ENABLE)), yes) @@ -94,11 +91,6 @@ ifeq ($(strip $(MIDI_ENABLE)), yes) SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c endif -MUSIC_ENABLE ?= no -ifeq ($(MUSIC_ENABLE), yes) - SRC += $(QUANTUM_DIR)/process_keycode/process_music.c -endif - VALID_STENO_PROTOCOL_TYPES := geminipr txbolt all STENO_PROTOCOL ?= all ifeq ($(strip $(STENO_ENABLE)), yes) @@ -124,14 +116,8 @@ ifeq ($(strip $(STENO_ENABLE)), yes) endif endif -ifeq ($(strip $(VIRTSER_ENABLE)), yes) - OPT_DEFS += -DVIRTSER_ENABLE -endif - ifeq ($(strip $(MOUSEKEY_ENABLE)), yes) - OPT_DEFS += -DMOUSEKEY_ENABLE MOUSE_ENABLE := yes - SRC += $(QUANTUM_DIR)/mousekey.c endif VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_pinnacle_i2c cirque_pinnacle_spi paw3204 pmw3320 pmw3360 pmw3389 pimoroni_trackball custom @@ -360,10 +346,7 @@ ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) endif OPT_DEFS += -DLED_MATRIX_ENABLE OPT_DEFS += -DLED_MATRIX_$(strip $(shell echo $(LED_MATRIX_DRIVER) | tr '[:lower:]' '[:upper:]')) -ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) - # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines - OPT_DEFS += -DLIB8_ATTINY -endif + COMMON_VPATH += $(QUANTUM_DIR)/led_matrix COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations/runners @@ -371,7 +354,7 @@ endif SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c SRC += $(QUANTUM_DIR)/led_matrix/led_matrix.c SRC += $(QUANTUM_DIR)/led_matrix/led_matrix_drivers.c - SRC += $(LIB_PATH)/lib8tion/lib8tion.c + LIB8TION_ENABLE := yes CIE1931_CURVE := yes ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3218) @@ -463,10 +446,7 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) endif OPT_DEFS += -DRGB_MATRIX_ENABLE OPT_DEFS += -DRGB_MATRIX_$(strip $(shell echo $(RGB_MATRIX_DRIVER) | tr '[:lower:]' '[:upper:]')) -ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) - # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines - OPT_DEFS += -DLIB8_ATTINY -endif + COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations/runners @@ -474,7 +454,7 @@ endif SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix.c SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix_drivers.c - SRC += $(LIB_PATH)/lib8tion/lib8tion.c + LIB8TION_ENABLE := yes CIE1931_CURVE := yes RGB_KEYCODES_ENABLE := yes @@ -632,8 +612,6 @@ ifeq ($(strip $(VIA_ENABLE)), yes) RAW_ENABLE := yes BOOTMAGIC_ENABLE := yes TRI_LAYER_ENABLE := yes - SRC += $(QUANTUM_DIR)/via.c - OPT_DEFS += -DVIA_ENABLE endif VALID_MAGIC_TYPES := yes @@ -718,17 +696,20 @@ ifeq ($(strip $(SPLIT_KEYBOARD)), yes) COMMON_VPATH += $(QUANTUM_PATH)/split_common endif -ifeq ($(strip $(CRC_ENABLE)), yes) - OPT_DEFS += -DCRC_ENABLE - SRC += crc.c -endif - ifeq ($(strip $(FNV_ENABLE)), yes) OPT_DEFS += -DFNV_ENABLE VPATH += $(LIB_PATH)/fnv SRC += qmk_fnv_type_validation.c hash_32a.c hash_64a.c endif +ifeq ($(strip $(LIB8TION_ENABLE)), yes) + ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) + # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines + OPT_DEFS += -DLIB8_ATTINY + endif + SRC += $(LIB_PATH)/lib8tion/lib8tion.c +endif + VALID_HAPTIC_DRIVER_TYPES := drv2605l solenoid ifeq ($(strip $(HAPTIC_ENABLE)),yes) ifeq ($(filter $(HAPTIC_DRIVER),$(VALID_HAPTIC_DRIVER_TYPES)),) @@ -819,27 +800,6 @@ ifeq ($(strip $(UNICODE_COMMON)), yes) $(QUANTUM_DIR)/unicode/utf8.c endif -MAGIC_ENABLE ?= yes -ifeq ($(strip $(MAGIC_ENABLE)), yes) - SRC += $(QUANTUM_DIR)/process_keycode/process_magic.c - OPT_DEFS += -DMAGIC_KEYCODE_ENABLE -endif - -SEND_STRING_ENABLE ?= yes -ifeq ($(strip $(SEND_STRING_ENABLE)), yes) - OPT_DEFS += -DSEND_STRING_ENABLE - COMMON_VPATH += $(QUANTUM_DIR)/send_string - SRC += $(QUANTUM_DIR)/send_string/send_string.c -endif - -ifeq ($(strip $(AUTO_SHIFT_ENABLE)), yes) - SRC += $(QUANTUM_DIR)/process_keycode/process_auto_shift.c - OPT_DEFS += -DAUTO_SHIFT_ENABLE - ifeq ($(strip $(AUTO_SHIFT_MODIFIERS)), yes) - OPT_DEFS += -DAUTO_SHIFT_MODIFIERS - endif -endif - ifeq ($(strip $(PS2_MOUSE_ENABLE)), yes) PS2_ENABLE := yes MOUSE_ENABLE := yes @@ -946,14 +906,6 @@ ifeq ($(strip $(ENCODER_ENABLE)), yes) endif endif -ifeq ($(strip $(OS_DETECTION_ENABLE)), yes) - SRC += $(QUANTUM_DIR)/os_detection.c - OPT_DEFS += -DOS_DETECTION_ENABLE - ifeq ($(strip $(OS_DETECTION_DEBUG_ENABLE)), yes) - OPT_DEFS += -DOS_DETECTION_DEBUG_ENABLE - endif -endif - VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor WS2812_DRIVER ?= bitbang diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index 261da564b2..9c86958625 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -13,33 +13,45 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -SPACE_CADET_ENABLE ?= yes GRAVE_ESC_ENABLE ?= yes +MAGIC_ENABLE ?= yes +SEND_STRING_ENABLE ?= yes +SPACE_CADET_ENABLE ?= yes GENERIC_FEATURES = \ + AUTO_SHIFT \ AUTOCORRECT \ CAPS_WORD \ COMBO \ COMMAND \ + CRC \ DEFERRED_EXEC \ DIGITIZER \ DIP_SWITCH \ DYNAMIC_KEYMAP \ DYNAMIC_MACRO \ + DYNAMIC_TAPPING_TERM \ GRAVE_ESC \ HAPTIC \ KEY_LOCK \ KEY_OVERRIDE \ LEADER \ + MAGIC \ + MOUSEKEY \ + MUSIC \ + OS_DETECTION \ PROGRAMMABLE_BUTTON \ REPEAT_KEY \ SECURE \ + SEND_STRING \ + SEQUENCER \ SPACE_CADET \ SWAP_HANDS \ TAP_DANCE \ + TRI_LAYER \ + VIA \ + VIRTSER \ WPM \ - DYNAMIC_TAPPING_TERM \ - TRI_LAYER define HANDLE_GENERIC_FEATURE # $$(info "Processing: $1_ENABLE $2.c") diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index 44e40e1f41..81d8400a80 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -37,7 +37,6 @@ OTHER_OPTION_NAMES = \ UNICODEMAP_ENABLE \ UNICODE_COMMON \ AUTO_SHIFT_ENABLE \ - AUTO_SHIFT_MODIFIERS \ DYNAMIC_TAPPING_TERM_ENABLE \ COMBO_ENABLE \ KEY_LOCK_ENABLE \ -- cgit v1.2.3 From e884e42ce98ad8994477deef26e6ad27b8b3643c Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 12 Nov 2023 22:30:27 +0000 Subject: Generalise ADC driver source inclusion (#22448) --- builddefs/common_features.mk | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index b6f888d30d..fbaf087ad1 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -139,8 +139,7 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(strip $(POINTING_DEVICE_DRIVER)), adns9800) SPI_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick) - OPT_DEFS += -DSTM32_ADC -DHAL_USE_ADC=TRUE - LIB_SRC += analog.c + ANALOG_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_i2c) I2C_DRIVER_REQUIRED = yes SRC += drivers/sensors/cirque_pinnacle.c @@ -840,8 +839,8 @@ ifeq ($(strip $(JOYSTICK_ENABLE)), yes) SRC += $(QUANTUM_DIR)/joystick.c ifeq ($(strip $(JOYSTICK_DRIVER)), analog) + ANALOG_DRIVER_REQUIRED = yes OPT_DEFS += -DANALOG_JOYSTICK_ENABLE - SRC += analog.c endif ifeq ($(strip $(JOYSTICK_DRIVER)), digital) OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE @@ -886,9 +885,9 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le) SPI_DRIVER_REQUIRED = yes + ANALOG_DRIVER_REQUIRED = yes SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp - QUANTUM_LIB_SRC += analog.c endif ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42) @@ -935,6 +934,11 @@ ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes) SRC += apa102.c endif +ifeq ($(strip $(ANALOG_DRIVER_REQUIRED)), yes) + OPT_DEFS += -DHAL_USE_ADC=TRUE + QUANTUM_LIB_SRC += analog.c +endif + ifeq ($(strip $(I2C_DRIVER_REQUIRED)), yes) OPT_DEFS += -DHAL_USE_I2C=TRUE QUANTUM_LIB_SRC += i2c_master.c -- cgit v1.2.3 From de3c42125b661f62757f8ee4f6184c089340d3a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Mon, 13 Nov 2023 23:29:12 +0100 Subject: chibios: disable RWX segment warning on newer GNU lds (#22007) --- builddefs/common_rules.mk | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index 52dccbe475..ddd36409a7 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -15,6 +15,13 @@ VPATH := # Helper to return the distinct elements of a list uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))) +cc-option = $(shell \ + if $(CC) $(1) -shared -o /dev/null -xc /dev/null > /dev/null 2>&1; \ + then echo "$(1)"; else echo "$(2)"; fi) + +# helper to pass comma character to make functions +, := , + # Convert all SRC to OBJ define OBJ_FROM_SRC $(patsubst %.c,$1/%.o,$(patsubst %.cpp,$1/%.o,$(patsubst %.cc,$1/%.o,$(patsubst %.S,$1/%.o,$(patsubst %.clib,$1/%.a,$($1_SRC)))))) @@ -66,9 +73,7 @@ CFLAGS += $(CDEFS) CFLAGS += -O$(OPT) # add color ifeq ($(COLOR),true) -ifeq ("$(shell echo "int main(){}" | $(CC) -fdiagnostics-color -x c - -o /dev/null 2>&1)", "") - CFLAGS+= -fdiagnostics-color -endif + CFLAGS+= $(call cc-option, -fdiagnostics-color) endif CFLAGS += -Wall CFLAGS += -Wstrict-prototypes -- cgit v1.2.3 From 4c625d8286daba3540ce421cbb8100fac8d9e2c8 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 14 Nov 2023 09:41:12 +1100 Subject: Revert "chibios: disable RWX segment warning on newer GNU lds (#22007)" (#22469) This reverts commit de3c42125b661f62757f8ee4f6184c089340d3a0. --- builddefs/common_rules.mk | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'builddefs') diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index ddd36409a7..52dccbe475 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -15,13 +15,6 @@ VPATH := # Helper to return the distinct elements of a list uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))) -cc-option = $(shell \ - if $(CC) $(1) -shared -o /dev/null -xc /dev/null > /dev/null 2>&1; \ - then echo "$(1)"; else echo "$(2)"; fi) - -# helper to pass comma character to make functions -, := , - # Convert all SRC to OBJ define OBJ_FROM_SRC $(patsubst %.c,$1/%.o,$(patsubst %.cpp,$1/%.o,$(patsubst %.cc,$1/%.o,$(patsubst %.S,$1/%.o,$(patsubst %.clib,$1/%.a,$($1_SRC)))))) @@ -73,7 +66,9 @@ CFLAGS += $(CDEFS) CFLAGS += -O$(OPT) # add color ifeq ($(COLOR),true) - CFLAGS+= $(call cc-option, -fdiagnostics-color) +ifeq ("$(shell echo "int main(){}" | $(CC) -fdiagnostics-color -x c - -o /dev/null 2>&1)", "") + CFLAGS+= -fdiagnostics-color +endif endif CFLAGS += -Wall CFLAGS += -Wstrict-prototypes -- cgit v1.2.3 From 68722d35a3e7c0bd32eccf7da8ddddc6de7e2e57 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Mon, 20 Nov 2023 16:25:35 +0000 Subject: Azoteq IQS5xx support (#22280) --- builddefs/common_features.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'builddefs') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index fbaf087ad1..60f1cbd837 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -120,7 +120,7 @@ ifeq ($(strip $(MOUSEKEY_ENABLE)), yes) MOUSE_ENABLE := yes endif -VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_pinnacle_i2c cirque_pinnacle_spi paw3204 pmw3320 pmw3360 pmw3389 pimoroni_trackball custom +VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick azoteq_iqs5xx cirque_pinnacle_i2c cirque_pinnacle_spi paw3204 pmw3320 pmw3360 pmw3389 pimoroni_trackball custom ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(filter $(POINTING_DEVICE_DRIVER),$(VALID_POINTING_DEVICE_DRIVER_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid POINTING_DEVICE_DRIVER,POINTING_DEVICE_DRIVER="$(POINTING_DEVICE_DRIVER)" is not a valid pointing device type) @@ -140,6 +140,8 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) SPI_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick) ANALOG_DRIVER_REQUIRED = yes + else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), azoteq_iqs5xx) + I2C_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_i2c) I2C_DRIVER_REQUIRED = yes SRC += drivers/sensors/cirque_pinnacle.c -- cgit v1.2.3 From 5501e804ff8d41ce656061b91896c4ac8c681d78 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 28 Nov 2023 07:53:43 +1100 Subject: QMK Userspace (#22222) Co-authored-by: Duncan Sutherland --- builddefs/build_json.mk | 19 +++++++++ builddefs/build_keyboard.mk | 96 ++++++++++++++++++++++++++++++++------------- builddefs/build_layout.mk | 4 ++ builddefs/common_rules.mk | 11 +++++- 4 files changed, 101 insertions(+), 29 deletions(-) (limited to 'builddefs') diff --git a/builddefs/build_json.mk b/builddefs/build_json.mk index e29d678e48..e9d1420f36 100644 --- a/builddefs/build_json.mk +++ b/builddefs/build_json.mk @@ -15,3 +15,22 @@ else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_1) endif + +ifneq ($(QMK_USERSPACE),) + ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1) + endif +endif diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 12a8c5b67b..f17171fe20 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -127,34 +127,60 @@ include $(INFO_RULES_MK) include $(BUILDDEFS_PATH)/build_json.mk # Pull in keymap level rules.mk -# Look through the possible keymap folders until we find a matching keymap.c -ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_1)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) -else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_2)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) -else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_3)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) -else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_4)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) -else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_5)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) -else ifneq ($(LAYOUTS),) - # If we haven't found a keymap yet fall back to community layouts - include $(BUILDDEFS_PATH)/build_layout.mk -# Not finding keymap.c is fine if we found a keymap.json -else ifeq ("$(wildcard $(KEYMAP_JSON_PATH))", "") - $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) - # this state should never be reached +ifeq ("$(wildcard $(KEYMAP_PATH))", "") + # Look through the possible keymap folders until we find a matching keymap.c + ifneq ($(QMK_USERSPACE),) + ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5) + endif + endif + ifeq ($(KEYMAP_PATH),) + ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_1)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_2)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_3)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_4)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_5)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) + else ifneq ($(LAYOUTS),) + # If we haven't found a keymap yet fall back to community layouts + include $(BUILDDEFS_PATH)/build_layout.mk + else ifeq ("$(wildcard $(KEYMAP_JSON_PATH))", "") # Not finding keymap.c is fine if we found a keymap.json + $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) + # this state should never be reached + endif + endif endif # Have we found a keymap.json? @@ -364,6 +390,16 @@ ifeq ("$(USER_NAME)","") endif USER_PATH := users/$(USER_NAME) +# If we have userspace, then add it to the lookup VPATH +ifneq ($(wildcard $(QMK_USERSPACE)),) + VPATH += $(QMK_USERSPACE) +endif + +# If the equivalent users directory exists in userspace, use that in preference to anything currently in the main repo +ifneq ($(wildcard $(QMK_USERSPACE)/$(USER_PATH)),) + USER_PATH := $(QMK_USERSPACE)/$(USER_PATH) +endif + # Pull in user level rules.mk -include $(USER_PATH)/rules.mk ifneq ("$(wildcard $(USER_PATH)/config.h)","") @@ -404,6 +440,10 @@ ifneq ("$(KEYMAP_H)","") CONFIG_H += $(KEYMAP_H) endif +ifeq ($(KEYMAP_C),) + $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) +endif + OPT_DEFS += -DKEYMAP_C=\"$(KEYMAP_C)\" # If a keymap or userspace places their keymap array in another file instead, allow for it to be included diff --git a/builddefs/build_layout.mk b/builddefs/build_layout.mk index 6166bd847c..9ff99cc221 100644 --- a/builddefs/build_layout.mk +++ b/builddefs/build_layout.mk @@ -1,6 +1,10 @@ LAYOUTS_PATH := layouts LAYOUTS_REPOS := $(patsubst %/,%,$(sort $(dir $(wildcard $(LAYOUTS_PATH)/*/)))) +ifneq ($(QMK_USERSPACE),) + LAYOUTS_REPOS += $(patsubst %/,%,$(QMK_USERSPACE)/$(LAYOUTS_PATH)) +endif + define SEARCH_LAYOUTS_REPO LAYOUT_KEYMAP_PATH := $$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP) LAYOUT_KEYMAP_JSON := $$(LAYOUT_KEYMAP_PATH)/keymap.json diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index 52dccbe475..cfd261737c 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -191,7 +191,7 @@ DFU_SUFFIX_ARGS ?= elf: $(BUILD_DIR)/$(TARGET).elf hex: $(BUILD_DIR)/$(TARGET).hex uf2: $(BUILD_DIR)/$(TARGET).uf2 -cpfirmware: $(FIRMWARE_FORMAT) +cpfirmware_qmk: $(FIRMWARE_FORMAT) $(SILENT) || printf "Copying $(TARGET).$(FIRMWARE_FORMAT) to qmk_firmware folder" | $(AWK_CMD) $(COPY) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) $(TARGET).$(FIRMWARE_FORMAT) && $(PRINT_OK) eep: $(BUILD_DIR)/$(TARGET).eep @@ -200,6 +200,15 @@ sym: $(BUILD_DIR)/$(TARGET).sym LIBNAME=lib$(TARGET).a lib: $(LIBNAME) +cpfirmware: cpfirmware_qmk + +ifneq ($(QMK_USERSPACE),) +cpfirmware: cpfirmware_userspace +cpfirmware_userspace: cpfirmware_qmk + $(SILENT) || printf "Copying $(TARGET).$(FIRMWARE_FORMAT) to userspace folder" | $(AWK_CMD) + $(COPY) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) $(QMK_USERSPACE)/$(TARGET).$(FIRMWARE_FORMAT) && $(PRINT_OK) +endif + # Display size of file, modifying the output so people don't mistakenly grab the hex output BINARY_SIZE = $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex | $(SED) -e 's/\.build\/.*$$/$(TARGET).$(FIRMWARE_FORMAT)/g' -- cgit v1.2.3