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

2020 November 28 Breaking Changes Update #11053

Merged
merged 79 commits into from Nov 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
47fff74
Branch point for 2020 November 28 Breaking Change
noroadsleft Aug 29, 2020
53ad78b
Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183)
sigprof Aug 31, 2020
73d2075
Add support for soft serial to ATmega32U2 (#10204)
takai Sep 2, 2020
bf84d35
Change MIDI velocity implementation to allow direct control of veloci…
jakobkg Sep 20, 2020
b1b7696
Add ability to build a subset of all keyboards based on platform.
tzarc Sep 24, 2020
2f2432f
Actually use eeprom_driver_init().
tzarc Sep 25, 2020
9664723
Make bootloader_jump weak for ChibiOS. (#10417)
tzarc Sep 26, 2020
f728c24
Joystick 16-bit support (#10439)
seb-pau Oct 3, 2020
310662f
Per-encoder resolutions (#10259)
fauxpark Oct 3, 2020
eecedf0
Share button state from mousekey to pointing_device (#10179)
manna-harbour Oct 3, 2020
b1a6b16
Add hotfix for chibios keyboards not wake (#10088)
LSChyi Oct 3, 2020
08caa7a
Add advanced/efficient RGB Matrix Indicators (#8564)
drashna Oct 4, 2020
46869dd
Naming change.
tzarc Oct 4, 2020
53f2b5b
Support for STM32 GPIOF,G,H,I,J,K (#10206)
tzarc Oct 5, 2020
fa6bd5c
Add milc as a dependency and remove the installed milc (#10563)
skullydazed Oct 8, 2020
46d7b25
ChibiOS upgrade: early init conversions (#10214)
tzarc Oct 11, 2020
2e1232c
ChibiOS upgrade: configuration file migrator (#9952)
tzarc Oct 14, 2020
c904520
Haptic and solenoid cleanup (#9700)
purdeaandrei Oct 17, 2020
94fea35
XD75 cleanup (#10524)
fauxpark Oct 17, 2020
12be012
OLED display update interval support (#10388)
mtei Oct 19, 2020
c1295a3
Add definition based on currently-selected serial driver. (#10716)
tzarc Oct 22, 2020
daea43d
New feature: Retro Tapping per key (#10622)
ridingqwerty Oct 23, 2020
de4cbe3
Allow for modification of output RGB values when using rgblight/rgb_m…
tzarc Oct 23, 2020
c4ecae1
Add housekeeping task callbacks so that keyboards/keymaps are capable…
tzarc Oct 23, 2020
f22a61e
Rescale both ChibiOS and AVR backlighting.
tzarc Sep 7, 2020
3ede17e
Reduce Helix keyboard build variation (#8669)
MakotoKurauchi Oct 25, 2020
69d8bbf
Minor change to behavior allowing display updates to continue between…
XScorpion2 Oct 26, 2020
75a18e6
Some GPIO manipulations in matrix.c change to atomic. (#10491)
mtei Oct 26, 2020
991c750
qmk cformat (#10767)
tzarc Oct 26, 2020
c3221d4
[Keyboard] Update the Speedo firmware for v3.0 (#10657)
pcewing Oct 29, 2020
b968a53
Maartenwut/Maarten namechange to evyd13/Evy (#10274)
evyd13 Nov 1, 2020
4cdd300
[quantum] combine repeated lines of code (#10837)
myst729 Nov 2, 2020
38527f9
Add step sequencer feature (#9703)
rbelouin Nov 8, 2020
7d836cb
aeboards/ext65 refactor (#10820)
Xelus22 Nov 9, 2020
2098d98
Refactor xelus/dawn60 for Rev2 later (#10584)
Xelus22 Nov 9, 2020
28d6b9d
add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824)
mtei Nov 10, 2020
3dcb046
[Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549)
precondition Nov 10, 2020
55e2a42
update chibios os usb for the otg driver (#8893)
yulei Nov 10, 2020
e3a2407
Remove HD44780 References, Part 4 (#10735)
noroadsleft Nov 15, 2020
0bfec7b
[Keyboard] Add Valor FRL TKL (+refactor) (#10512)
Xelus22 Nov 15, 2020
f7ae095
Fix cursor position bug in oled_write_raw functions (#10800)
daveallie Nov 15, 2020
4ef4965
Fixup version.h writing when using SKIP_VERSION=yes (#10972)
tzarc Nov 18, 2020
f63e3e1
Allow for certain code in the codebase assuming length of string. (#1…
tzarc Nov 18, 2020
9e32e9b
Add AT90USB support for serial.c (#10706)
drashna Nov 19, 2020
ac3b7d7
Merge remote-tracking branch 'origin/master' into develop
skullydazed Nov 22, 2020
866f853
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 22, 2020
7d0c713
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 22, 2020
ddf1ade
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 22, 2020
b6bb2b8
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 23, 2020
50b4512
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 23, 2020
2b97c20
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 24, 2020
49b3aaf
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 24, 2020
f250c01
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 24, 2020
745e687
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
cc63130
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
a69d684
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
b839674
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
71a49df
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
537291a
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
37a2387
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
1180213
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
d2f965b
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
2d1a29b
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
b14e131
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
4b4fe1b
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
675caef
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
2076d1c
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 25, 2020
9e9b979
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 26, 2020
3a3571c
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 26, 2020
1528359
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 26, 2020
63a06fe
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 26, 2020
fd8f659
Auto shift: support repeats and early registration (#9826)
p00ya Nov 27, 2020
c9e2690
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 27, 2020
29e814e
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 28, 2020
8fc8a94
Merge remote-tracking branch 'origin/master' into develop
qmk-bot Nov 28, 2020
6b3e56b
Rename ledmatrix.h to match .c file (#7949)
fauxpark Nov 28, 2020
2e64269
Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231)
fauxpark Nov 28, 2020
7baa37c
Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840)
fauxpark Nov 28, 2020
9b851ea
Merge point for 2020 Nov 28 Breaking Change
noroadsleft Nov 26, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 20 additions & 4 deletions Makefile
Expand Up @@ -272,11 +272,24 @@ endef
define PARSE_RULE
RULE := $1
COMMANDS :=
REQUIRE_PLATFORM_KEY :=
# If the rule starts with all, then continue the parsing from
# PARSE_ALL_KEYBOARDS
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
KEYBOARD_RULE=all
$$(eval $$(call PARSE_ALL_KEYBOARDS))
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all-avr),true)
KEYBOARD_RULE=all
REQUIRE_PLATFORM_KEY := avr
$$(eval $$(call PARSE_ALL_KEYBOARDS))
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all-chibios),true)
KEYBOARD_RULE=all
REQUIRE_PLATFORM_KEY := chibios
$$(eval $$(call PARSE_ALL_KEYBOARDS))
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all-arm_atsam),true)
KEYBOARD_RULE=all
REQUIRE_PLATFORM_KEY := arm_atsam
$$(eval $$(call PARSE_ALL_KEYBOARDS))
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true)
$$(eval $$(call PARSE_TEST))
# If the rule starts with the name of a known keyboard, then continue
Expand Down Expand Up @@ -447,7 +460,7 @@ define PARSE_KEYMAP
# Format it in bold
KB_SP := $(BOLD)$$(KB_SP)$(NO_COLOR)
# Specify the variables that we are passing forward to submake
MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM)
MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM) REQUIRE_PLATFORM_KEY=$$(REQUIRE_PLATFORM_KEY)
# And the first part of the make command
MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_keyboard.mk $$(MAKE_TARGET)
# The message to display
Expand All @@ -466,6 +479,8 @@ define BUILD
LOG=$$$$($$(MAKE_CMD) $$(MAKE_VARS) SILENT=true 2>&1) ; \
if [ $$$$? -gt 0 ]; \
then $$(PRINT_ERROR_PLAIN); \
elif [ "$$$$LOG" = "skipped" ] ; \
then $$(PRINT_SKIPPED_PLAIN); \
elif [ "$$$$LOG" != "" ] ; \
then $$(PRINT_WARNING_PLAIN); \
else \
Expand Down Expand Up @@ -637,12 +652,13 @@ else
endif
ifndef SKIP_VERSION
BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S")
else
BUILD_DATE := 2020-01-01-00:00:00
endif

$(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h)
$(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h)
$(shell echo '#define CHIBIOS_VERSION "$(CHIBIOS_VERSION)"' >> $(ROOT_DIR)/quantum/version.h)
$(shell echo '#define CHIBIOS_CONTRIB_VERSION "$(CHIBIOS_CONTRIB_VERSION)"' >> $(ROOT_DIR)/quantum/version.h)
else
BUILD_DATE := NA
endif

include $(ROOT_DIR)/testlist.mk
13 changes: 13 additions & 0 deletions build_keyboard.mk
Expand Up @@ -317,6 +317,13 @@ SRC += $(TMK_COMMON_SRC)
OPT_DEFS += $(TMK_COMMON_DEFS)
EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS)

SKIP_COMPILE := no
ifneq ($(REQUIRE_PLATFORM_KEY),)
ifneq ($(REQUIRE_PLATFORM_KEY),$(PLATFORM_KEY))
SKIP_COMPILE := yes
endif
endif

include $(TMK_PATH)/$(PLATFORM_KEY).mk
ifneq ($(strip $(PROTOCOL)),)
include $(TMK_PATH)/protocol/$(strip $(shell echo $(PROTOCOL) | tr '[:upper:]' '[:lower:]')).mk
Expand Down Expand Up @@ -352,7 +359,13 @@ $(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) $(GFXINC)
$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG)

# Default target.
ifeq ($(SKIP_COMPILE),no)
all: build check-size
else
all:
echo "skipped" >&2
endif

build: elf cpfirmware
check-size: build
objs-size: build
Expand Down
1 change: 1 addition & 0 deletions build_test.mk
Expand Up @@ -49,6 +49,7 @@ endif

include common_features.mk
include $(TMK_PATH)/common.mk
include $(QUANTUM_PATH)/sequencer/tests/rules.mk
include $(QUANTUM_PATH)/serial_link/tests/rules.mk
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
include build_full_test.mk
Expand Down
1 change: 1 addition & 0 deletions common.mk
Expand Up @@ -21,4 +21,5 @@ COMMON_VPATH += $(QUANTUM_PATH)/keymap_extras
COMMON_VPATH += $(QUANTUM_PATH)/audio
COMMON_VPATH += $(QUANTUM_PATH)/process_keycode
COMMON_VPATH += $(QUANTUM_PATH)/api
COMMON_VPATH += $(QUANTUM_PATH)/sequencer
COMMON_VPATH += $(DRIVER_PATH)
122 changes: 68 additions & 54 deletions common_features.mk
Expand Up @@ -21,6 +21,11 @@ QUANTUM_SRC += \
$(QUANTUM_DIR)/keymap_common.c \
$(QUANTUM_DIR)/keycode_config.c

ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes)
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
CONSOLE_ENABLE = yes
endif

ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
OPT_DEFS += -DAPI_SYSEX_ENABLE
OPT_DEFS += -DAPI_ENABLE
Expand All @@ -39,6 +44,13 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/audio/luts.c
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)
OPT_DEFS += -DMIDI_ENABLE
MUSIC_ENABLE = yes
Expand Down Expand Up @@ -156,34 +168,37 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
endif
endif

VALID_MATRIX_TYPES := yes IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 WS2812 custom

LED_MATRIX_ENABLE ?= no
ifneq ($(strip $(LED_MATRIX_ENABLE)), no)
ifeq ($(filter $(LED_MATRIX_ENABLE),$(VALID_MATRIX_TYPES)),)
$(error LED_MATRIX_ENABLE="$(LED_MATRIX_ENABLE)" is not a valid matrix type)
VALID_LED_MATRIX_TYPES := IS31FL3731 custom
# TODO: IS31FL3733 IS31FL3737 IS31FL3741

ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),)
$(error LED_MATRIX_DRIVER="$(LED_MATRIX_DRIVER)" is not a valid matrix type)
else
BACKLIGHT_ENABLE = yes
BACKLIGHT_DRIVER = custom
OPT_DEFS += -DLED_MATRIX_ENABLE
SRC += $(QUANTUM_DIR)/led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix_drivers.c
endif
endif

ifeq ($(strip $(LED_MATRIX_ENABLE)), IS31FL3731)
OPT_DEFS += -DIS31FL3731
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3731-simple.c
QUANTUM_LIB_SRC += i2c_master.c
ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3731)
OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3731-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
endif

RGB_MATRIX_ENABLE ?= no
VALID_RGB_MATRIX_TYPES := IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 WS2812 custom

ifneq ($(strip $(RGB_MATRIX_ENABLE)), no)
ifeq ($(filter $(RGB_MATRIX_ENABLE),$(VALID_MATRIX_TYPES)),)
$(error RGB_MATRIX_ENABLE="$(RGB_MATRIX_ENABLE)" is not a valid matrix type)
endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),)
$(error "$(RGB_MATRIX_DRIVER)" is not a valid matrix type)
endif
OPT_DEFS += -DRGB_MATRIX_ENABLE
ifneq (,$(filter $(MCU), atmega16u2 atmega32u2))
# ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines
Expand All @@ -194,51 +209,47 @@ endif
SRC += $(QUANTUM_DIR)/rgb_matrix_drivers.c
CIE1931_CURVE := yes
RGB_KEYCODES_ENABLE := yes
endif

ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
RGB_MATRIX_ENABLE := IS31FL3731
endif

ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3731)
OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3731.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)/issi
SRC += is31fl3731.c
QUANTUM_LIB_SRC += i2c_master.c
endif

ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3733)
OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3733.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3733)
OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3733.c
QUANTUM_LIB_SRC += i2c_master.c
endif

ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3737)
OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3737.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3737)
OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3737.c
QUANTUM_LIB_SRC += i2c_master.c
endif

ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3741)
OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3741.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3741)
OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3741.c
QUANTUM_LIB_SRC += i2c_master.c
endif

ifeq ($(strip $(RGB_MATRIX_ENABLE)), WS2812)
OPT_DEFS += -DWS2812
WS2812_DRIVER_REQUIRED := yes
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), WS2812)
OPT_DEFS += -DWS2812
WS2812_DRIVER_REQUIRED := yes
endif

ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes)
OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB
endif
ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes)
OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB
endif

ifeq ($(strip $(RGB_MATRIX_CUSTOM_USER)), yes)
OPT_DEFS += -DRGB_MATRIX_CUSTOM_USER
ifeq ($(strip $(RGB_MATRIX_CUSTOM_USER)), yes)
OPT_DEFS += -DRGB_MATRIX_CUSTOM_USER
endif
endif

ifeq ($(strip $(RGB_KEYCODES_ENABLE)), yes)
Expand Down Expand Up @@ -444,11 +455,14 @@ ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
# Functions added via QUANTUM_LIB_SRC are only included in the final binary if they're called.
# Unused functions are pruned away, which is why we can add multiple drivers here without bloat.
ifeq ($(PLATFORM),AVR)
QUANTUM_LIB_SRC += i2c_master.c \
i2c_slave.c
ifneq ($(NO_I2C),yes)
QUANTUM_LIB_SRC += i2c_master.c \
i2c_slave.c
endif
endif

SERIAL_DRIVER ?= bitbang
OPT_DEFS += -DSERIAL_DRIVER_$(strip $(shell echo $(SERIAL_DRIVER) | tr '[:lower:]' '[:upper:]'))
ifeq ($(strip $(SERIAL_DRIVER)), bitbang)
QUANTUM_LIB_SRC += serial.c
else
Expand Down