Go to file
Sergey Vlasov 680cc1fab4
Fix firmware size check with avr-libc 1:2.0.0+Atmel3.6.2-1.1 (Debian bullseye) (#12951)
Debian bullseye (testing at the moment, but seems close to release) has
avr-libc 1:2.0.0+Atmel3.6.2-1.1 with some changes taken from the
Atmel-distributed toolchain.  In particular, the <avr/io.h> header for
ATmega32A (avr/iom32a.h) now defines the FLASHEND constant as `0x7FFFU`,
and that `U` suffix breaks the firmware size check code, because the
shell arithmetic expansion that is used to calculate `MAX_SIZE` does not
support those C-specific suffixes.

As a workaround, add `-D__ASSEMBLER__` to the C preprocessor invocation
that is used to expand those macros; in this case avr/iom32a.h defines
`FLASHEND` without the `U` suffix, and everything works as it did before
with older avr-libc versions.

The exact same code is present in two places; they are both changed,
even though the code in `tmk_core/avr.mk` is actually never used for
ATmega32A (and the header for ATmega32U4 does not add that `U` suffix to
`FLASHEND` for some reason).
2021-06-06 22:42:08 -07:00
.github
.vscode
api_data
bin
data
docs Merge remote-tracking branch 'origin/master' into develop 2021-06-05 18:37:16 +00:00
drivers Tidy up spi_master includes (#13053) 2021-06-03 16:26:41 +10:00
keyboards [Keymap] RGB Matrix working for Sofle RGB (#12861) 2021-06-06 22:30:48 -07:00
layouts [Keymap] Update bcat's split_3x6_3 for Crkbd legacy removal (#13097) 2021-06-03 11:39:48 -07:00
lib Merge remote-tracking branch 'origin/master' into develop 2021-06-03 15:53:38 +00:00
nix
platforms/chibios
quantum
tests
tmk_core Fix firmware size check with avr-libc 1:2.0.0+Atmel3.6.2-1.1 (Debian bullseye) (#12951) 2021-06-06 22:42:08 -07:00
users Update noroadsleft userspace and keymaps (2021-06-02) (#13086) 2021-06-02 23:06:30 -07:00
util
.clang-format
.editorconfig
.gitattributes
.gitignore
.gitmodules
.travis.yml
CODE_OF_CONDUCT.md
Dockerfile
Doxyfile
LICENSE
Makefile
Vagrantfile
book.json
bootloader.mk
build_full_test.mk
build_json.mk
build_keyboard.mk
build_layout.mk
build_test.mk
common.mk
common_features.mk
disable_features.mk
doxygen-todo
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
message.mk
nose2.cfg
readme.md
requirements-dev.txt
requirements.txt
secrets.tar.enc
setup.cfg
shell.nix
show_options.mk
testlist.mk

readme.md

Quantum Mechanical Keyboard Firmware

Current Version Build Status Discord Docs Status GitHub contributors GitHub forks

This is a keyboard firmware based on the tmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line.

Documentation

The docs are powered by Docsify and hosted on GitHub. They are also viewable offline; see Previewing the Documentation for more details.

You can request changes by making a fork and opening a pull request, or by clicking the "Edit this page" link at the bottom of any page.

Supported Keyboards

The project also includes community support for lots of other keyboards.

Maintainers

QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The OLKB product firmwares are maintained by Jack Humbert, the Ergodox EZ by ZSA Technology Labs, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.

Official Website

qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.