mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-06 08:22:44 +00:00
Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
commit
5900caa877
@ -30,6 +30,19 @@ MAGIC_ENABLE = no
|
||||
These features are enabled by default, but may not be needed. Double check to make sure, though.
|
||||
Largest in size is "magic" -- the QMK magic keycodes -- which control things like NKRO toggling, GUI and ALT/CTRL swapping, etc. Disabling it will disable those functions.
|
||||
|
||||
If you use `sprintf` or `snprintf` functions you can save around ~400 Bytes by enabling this option.
|
||||
```make
|
||||
AVR_USE_MINIMAL_PRINTF = yes
|
||||
```
|
||||
|
||||
This will include smaller implementations from AVRs libc into your Firmware. They are [not fully featured](https://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#gaa3b98c0d17b35642c0f3e4649092b9f1), for instance zero padding and field width specifiers are not supported. So if you use `sprintf` or `snprintf` like this:
|
||||
```c
|
||||
sprintf(wpm_str, "%03d", get_current_wpm());
|
||||
snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c");
|
||||
```
|
||||
|
||||
you will still need the standard implementation.
|
||||
|
||||
## `config.h` Settings
|
||||
|
||||
If you've done all of that, and you don't want to disable features like RGB, Audio, OLEDs, etc, there are some additional options that you can add to your config.h that can help.
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit ff1c6ec90cfc250d81e6f29a0d60a4faf2afb46d
|
||||
Subproject commit 2a6b73ff51baf89083a220b6692a04ca2cae8750
|
@ -37,6 +37,15 @@ CXXFLAGS += -fno-exceptions -std=c++11
|
||||
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
|
||||
# Use AVR's libc minimal printf implementation which has less features
|
||||
# and thus can shave ~400 bytes. Usually we use the xprintf
|
||||
# implementation but keyboards that use s(n)printf automatically
|
||||
# pull in the AVR libc implementation, which is ~900 bytes heavy.
|
||||
AVR_USE_MINIMAL_PRINTF ?= no
|
||||
ifeq ($(strip $(AVR_USE_MINIMAL_PRINTF)), yes)
|
||||
LDFLAGS += -Wl,--whole-archive -lprintf_min -Wl,--no-whole-archive
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DF_CPU=$(F_CPU)UL
|
||||
|
||||
MCUFLAGS = -mmcu=$(MCU)
|
||||
|
Loading…
Reference in New Issue
Block a user