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 |