diff options
| author | James Young <18669334+noroadsleft@users.noreply.github.com> | 2020-11-28 12:02:18 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-28 12:02:18 -0800 |
| commit | c66df1664497546f32662409778731143e45a552 (patch) | |
| tree | da73a2d532a27685a31d932b3a44a707d4a3af81 /common_features.mk | |
| parent | 15385d4113414d42bd062c60c9de5df797d3157f (diff) | |
| download | qmk_firmware-c66df1664497546f32662409778731143e45a552.tar.gz qmk_firmware-c66df1664497546f32662409778731143e45a552.zip | |
2020 November 28 Breaking Changes Update (#11053)
* Branch point for 2020 November 28 Breaking Change
* Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183)
* Add support for soft serial to ATmega32U2 (#10204)
* Change MIDI velocity implementation to allow direct control of velocity value (#9940)
* Add ability to build a subset of all keyboards based on platform.
* Actually use eeprom_driver_init().
* Make bootloader_jump weak for ChibiOS. (#10417)
* Joystick 16-bit support (#10439)
* Per-encoder resolutions (#10259)
* Share button state from mousekey to pointing_device (#10179)
* Add hotfix for chibios keyboards not wake (#10088)
* Add advanced/efficient RGB Matrix Indicators (#8564)
* Naming change.
* Support for STM32 GPIOF,G,H,I,J,K (#10206)
* Add milc as a dependency and remove the installed milc (#10563)
* ChibiOS upgrade: early init conversions (#10214)
* ChibiOS upgrade: configuration file migrator (#9952)
* Haptic and solenoid cleanup (#9700)
* XD75 cleanup (#10524)
* OLED display update interval support (#10388)
* Add definition based on currently-selected serial driver. (#10716)
* New feature: Retro Tapping per key (#10622)
* Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638)
* Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530)
* Rescale both ChibiOS and AVR backlighting.
* Reduce Helix keyboard build variation (#8669)
* Minor change to behavior allowing display updates to continue between task ticks (#10750)
* Some GPIO manipulations in matrix.c change to atomic. (#10491)
* qmk cformat (#10767)
* [Keyboard] Update the Speedo firmware for v3.0 (#10657)
* Maartenwut/Maarten namechange to evyd13/Evy (#10274)
* [quantum] combine repeated lines of code (#10837)
* Add step sequencer feature (#9703)
* aeboards/ext65 refactor (#10820)
* Refactor xelus/dawn60 for Rev2 later (#10584)
* add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824)
* [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549)
* update chibios os usb for the otg driver (#8893)
* Remove HD44780 References, Part 4 (#10735)
* [Keyboard] Add Valor FRL TKL (+refactor) (#10512)
* Fix cursor position bug in oled_write_raw functions (#10800)
* Fixup version.h writing when using SKIP_VERSION=yes (#10972)
* Allow for certain code in the codebase assuming length of string. (#10974)
* Add AT90USB support for serial.c (#10706)
* Auto shift: support repeats and early registration (#9826)
* Rename ledmatrix.h to match .c file (#7949)
* Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231)
* Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840)
* Merge point for 2020 Nov 28 Breaking Change
Diffstat (limited to 'common_features.mk')
| -rw-r--r-- | common_features.mk | 122 |
1 files changed, 68 insertions, 54 deletions
diff --git a/common_features.mk b/common_features.mk index ba66c5324..8ac53ec45 100644 --- a/common_features.mk +++ b/common_features.mk | |||
| @@ -21,6 +21,11 @@ QUANTUM_SRC += \ | |||
| 21 | $(QUANTUM_DIR)/keymap_common.c \ | 21 | $(QUANTUM_DIR)/keymap_common.c \ |
| 22 | $(QUANTUM_DIR)/keycode_config.c | 22 | $(QUANTUM_DIR)/keycode_config.c |
| 23 | 23 | ||
| 24 | ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes) | ||
| 25 | OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE | ||
| 26 | CONSOLE_ENABLE = yes | ||
| 27 | endif | ||
| 28 | |||
| 24 | ifeq ($(strip $(API_SYSEX_ENABLE)), yes) | 29 | ifeq ($(strip $(API_SYSEX_ENABLE)), yes) |
| 25 | OPT_DEFS += -DAPI_SYSEX_ENABLE | 30 | OPT_DEFS += -DAPI_SYSEX_ENABLE |
| 26 | OPT_DEFS += -DAPI_ENABLE | 31 | OPT_DEFS += -DAPI_ENABLE |
| @@ -39,6 +44,13 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes) | |||
| 39 | SRC += $(QUANTUM_DIR)/audio/luts.c | 44 | SRC += $(QUANTUM_DIR)/audio/luts.c |
| 40 | endif | 45 | endif |
| 41 | 46 | ||
| 47 | ifeq ($(strip $(SEQUENCER_ENABLE)), yes) | ||
| 48 | OPT_DEFS += -DSEQUENCER_ENABLE | ||
| 49 | MUSIC_ENABLE = yes | ||
| 50 | SRC += $(QUANTUM_DIR)/sequencer/sequencer.c | ||
| 51 | SRC += $(QUANTUM_DIR)/process_keycode/process_sequencer.c | ||
| 52 | endif | ||
| 53 | |||
| 42 | ifeq ($(strip $(MIDI_ENABLE)), yes) | 54 | ifeq ($(strip $(MIDI_ENABLE)), yes) |
| 43 | OPT_DEFS += -DMIDI_ENABLE | 55 | OPT_DEFS += -DMIDI_ENABLE |
| 44 | MUSIC_ENABLE = yes | 56 | MUSIC_ENABLE = yes |
| @@ -156,12 +168,14 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) | |||
| 156 | endif | 168 | endif |
| 157 | endif | 169 | endif |
| 158 | 170 | ||
| 159 | VALID_MATRIX_TYPES := yes IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 WS2812 custom | ||
| 160 | 171 | ||
| 161 | LED_MATRIX_ENABLE ?= no | 172 | LED_MATRIX_ENABLE ?= no |
| 162 | ifneq ($(strip $(LED_MATRIX_ENABLE)), no) | 173 | VALID_LED_MATRIX_TYPES := IS31FL3731 custom |
| 163 | ifeq ($(filter $(LED_MATRIX_ENABLE),$(VALID_MATRIX_TYPES)),) | 174 | # TODO: IS31FL3733 IS31FL3737 IS31FL3741 |
| 164 | $(error LED_MATRIX_ENABLE="$(LED_MATRIX_ENABLE)" is not a valid matrix type) | 175 | |
| 176 | ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) | ||
| 177 | ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),) | ||
| 178 | $(error LED_MATRIX_DRIVER="$(LED_MATRIX_DRIVER)" is not a valid matrix type) | ||
| 165 | else | 179 | else |
| 166 | BACKLIGHT_ENABLE = yes | 180 | BACKLIGHT_ENABLE = yes |
| 167 | BACKLIGHT_DRIVER = custom | 181 | BACKLIGHT_DRIVER = custom |
| @@ -169,21 +183,22 @@ ifneq ($(strip $(LED_MATRIX_ENABLE)), no) | |||
| 169 | SRC += $(QUANTUM_DIR)/led_matrix.c | 183 | SRC += $(QUANTUM_DIR)/led_matrix.c |
| 170 | SRC += $(QUANTUM_DIR)/led_matrix_drivers.c | 184 | SRC += $(QUANTUM_DIR)/led_matrix_drivers.c |
| 171 | endif | 185 | endif |
| 172 | endif | ||
| 173 | 186 | ||
| 174 | ifeq ($(strip $(LED_MATRIX_ENABLE)), IS31FL3731) | 187 | ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3731) |
| 175 | OPT_DEFS += -DIS31FL3731 | 188 | OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE |
| 176 | COMMON_VPATH += $(DRIVER_PATH)/issi | 189 | COMMON_VPATH += $(DRIVER_PATH)/issi |
| 177 | SRC += is31fl3731-simple.c | 190 | SRC += is31fl3731-simple.c |
| 178 | QUANTUM_LIB_SRC += i2c_master.c | 191 | QUANTUM_LIB_SRC += i2c_master.c |
| 192 | endif | ||
| 179 | endif | 193 | endif |
| 180 | 194 | ||
| 181 | RGB_MATRIX_ENABLE ?= no | 195 | RGB_MATRIX_ENABLE ?= no |
| 196 | VALID_RGB_MATRIX_TYPES := IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 WS2812 custom | ||
| 182 | 197 | ||
| 183 | ifneq ($(strip $(RGB_MATRIX_ENABLE)), no) | 198 | ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) |
| 184 | ifeq ($(filter $(RGB_MATRIX_ENABLE),$(VALID_MATRIX_TYPES)),) | 199 | ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) |
| 185 | $(error RGB_MATRIX_ENABLE="$(RGB_MATRIX_ENABLE)" is not a valid matrix type) | 200 | $(error "$(RGB_MATRIX_DRIVER)" is not a valid matrix type) |
| 186 | endif | 201 | endif |
| 187 | OPT_DEFS += -DRGB_MATRIX_ENABLE | 202 | OPT_DEFS += -DRGB_MATRIX_ENABLE |
| 188 | ifneq (,$(filter $(MCU), atmega16u2 atmega32u2)) | 203 | ifneq (,$(filter $(MCU), atmega16u2 atmega32u2)) |
| 189 | # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines | 204 | # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines |
| @@ -194,51 +209,47 @@ endif | |||
| 194 | SRC += $(QUANTUM_DIR)/rgb_matrix_drivers.c | 209 | SRC += $(QUANTUM_DIR)/rgb_matrix_drivers.c |
| 195 | CIE1931_CURVE := yes | 210 | CIE1931_CURVE := yes |
| 196 | RGB_KEYCODES_ENABLE := yes | 211 | RGB_KEYCODES_ENABLE := yes |
| 197 | endif | ||
| 198 | |||
| 199 | ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) | ||
| 200 | RGB_MATRIX_ENABLE := IS31FL3731 | ||
| 201 | endif | ||
| 202 | 212 | ||
| 203 | ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3731) | 213 | ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3731) |
| 204 | OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE | 214 | OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE |
| 205 | COMMON_VPATH += $(DRIVER_PATH)/issi | 215 | COMMON_VPATH += $(DRIVER_PATH)/issi |
| 206 | SRC += is31fl3731.c | 216 | SRC += is31fl3731.c |
| 207 | QUANTUM_LIB_SRC += i2c_master.c | 217 | QUANTUM_LIB_SRC += i2c_master.c |
| 208 | endif | 218 | endif |
| 209 | 219 | ||
| 210 | ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3733) | 220 | ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3733) |
| 211 | OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE | 221 | OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE |
| 212 | COMMON_VPATH += $(DRIVER_PATH)/issi | 222 | COMMON_VPATH += $(DRIVER_PATH)/issi |
| 213 | SRC += is31fl3733.c | 223 | SRC += is31fl3733.c |
| 214 | QUANTUM_LIB_SRC += i2c_master.c | 224 | QUANTUM_LIB_SRC += i2c_master.c |
| 215 | endif | 225 | endif |
| 216 | 226 | ||
| 217 | ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3737) | 227 | ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3737) |
| 218 | OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE | 228 | OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE |
| 219 | COMMON_VPATH += $(DRIVER_PATH)/issi | 229 | COMMON_VPATH += $(DRIVER_PATH)/issi |
| 220 | SRC += is31fl3737.c | 230 | SRC += is31fl3737.c |
| 221 | QUANTUM_LIB_SRC += i2c_master.c | 231 | QUANTUM_LIB_SRC += i2c_master.c |
| 222 | endif | 232 | endif |
| 223 | 233 | ||
| 224 | ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3741) | 234 | ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3741) |
| 225 | OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE | 235 | OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE |
| 226 | COMMON_VPATH += $(DRIVER_PATH)/issi | 236 | COMMON_VPATH += $(DRIVER_PATH)/issi |
| 227 | SRC += is31fl3741.c | 237 | SRC += is31fl3741.c |
| 228 | QUANTUM_LIB_SRC += i2c_master.c | 238 | QUANTUM_LIB_SRC += i2c_master.c |
| 229 | endif | 239 | endif |
| 230 | 240 | ||
| 231 | ifeq ($(strip $(RGB_MATRIX_ENABLE)), WS2812) | 241 | ifeq ($(strip $(RGB_MATRIX_DRIVER)), WS2812) |
| 232 | OPT_DEFS += -DWS2812 | 242 | OPT_DEFS += -DWS2812 |
| 233 | WS2812_DRIVER_REQUIRED := yes | 243 | WS2812_DRIVER_REQUIRED := yes |
| 234 | endif | 244 | endif |
| 235 | 245 | ||
| 236 | ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes) | 246 | ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes) |
| 237 | OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB | 247 | OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB |
| 238 | endif | 248 | endif |
| 239 | 249 | ||
| 240 | ifeq ($(strip $(RGB_MATRIX_CUSTOM_USER)), yes) | 250 | ifeq ($(strip $(RGB_MATRIX_CUSTOM_USER)), yes) |
| 241 | OPT_DEFS += -DRGB_MATRIX_CUSTOM_USER | 251 | OPT_DEFS += -DRGB_MATRIX_CUSTOM_USER |
| 252 | endif | ||
| 242 | endif | 253 | endif |
| 243 | 254 | ||
| 244 | ifeq ($(strip $(RGB_KEYCODES_ENABLE)), yes) | 255 | ifeq ($(strip $(RGB_KEYCODES_ENABLE)), yes) |
| @@ -444,11 +455,14 @@ ifeq ($(strip $(SPLIT_KEYBOARD)), yes) | |||
| 444 | # Functions added via QUANTUM_LIB_SRC are only included in the final binary if they're called. | 455 | # Functions added via QUANTUM_LIB_SRC are only included in the final binary if they're called. |
| 445 | # Unused functions are pruned away, which is why we can add multiple drivers here without bloat. | 456 | # Unused functions are pruned away, which is why we can add multiple drivers here without bloat. |
| 446 | ifeq ($(PLATFORM),AVR) | 457 | ifeq ($(PLATFORM),AVR) |
| 447 | QUANTUM_LIB_SRC += i2c_master.c \ | 458 | ifneq ($(NO_I2C),yes) |
| 448 | i2c_slave.c | 459 | QUANTUM_LIB_SRC += i2c_master.c \ |
| 460 | i2c_slave.c | ||
| 461 | endif | ||
| 449 | endif | 462 | endif |
| 450 | 463 | ||
| 451 | SERIAL_DRIVER ?= bitbang | 464 | SERIAL_DRIVER ?= bitbang |
| 465 | OPT_DEFS += -DSERIAL_DRIVER_$(strip $(shell echo $(SERIAL_DRIVER) | tr '[:lower:]' '[:upper:]')) | ||
| 452 | ifeq ($(strip $(SERIAL_DRIVER)), bitbang) | 466 | ifeq ($(strip $(SERIAL_DRIVER)), bitbang) |
| 453 | QUANTUM_LIB_SRC += serial.c | 467 | QUANTUM_LIB_SRC += serial.c |
| 454 | else | 468 | else |
