Go to file
Thomas Weißschuh a535d24ecf
core: chibios: bootloader: use integer pointers as volatile (#13450)
This prevents gcc from incorrectly trying to validate array bounds.

```
tmk_core/common/chibios/bootloader.c: error: '__builtin_memcpy' offset [0, 21] is out of the bounds [0, 0] [-Werror=array-bounds]
  107 |     __builtin_memcpy((void *) VBAT, (const void *)sys_reset_to_loader_magic, sizeof(sys_reset_to_loader_magic));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578#c16
Fixes #12925
2021-07-06 00:24:48 +01:00
.github 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
.vscode do not automatically format json (#13320) 2021-06-25 22:47:48 -07:00
api_data
bin Ensure that safe_commands always run (#13199) 2021-06-14 16:51:58 -07:00
data Adds support for STM32L412xB, STM32L422xB. (#13383) 2021-06-30 10:07:40 +10:00
docs Merge remote-tracking branch 'origin/master' into develop 2021-07-05 00:34:58 +00:00
drivers AW20216 use register increment for framebuffer flushes (#13430) 2021-07-03 08:01:23 -07:00
keyboards Migrate SHIFT_ESC and RGB `fn_actions` to Grave Escape and RGB keycodes (#13360) 2021-07-06 09:08:08 +10:00
layouts `keymap_extras`: Remove deprecated defines (#12949) 2021-07-06 09:05:11 +10:00
lib Adds support for STM32L412xB, STM32L422xB. (#13383) 2021-06-30 10:07:40 +10:00
nix Update Python dependencies for Nix (#12855) 2021-06-20 14:30:16 +01:00
platforms/chibios [Core] Unite half-duplex and full-duplex serial drivers (#13081) 2021-07-02 08:24:08 +10:00
quantum `keymap_extras`: Remove deprecated defines (#12949) 2021-07-06 09:05:11 +10:00
tests Missed a couple more `#pragma once`s (#11351) 2020-12-30 15:44:53 +00:00
tmk_core core: chibios: bootloader: use integer pointers as volatile (#13450) 2021-07-06 00:24:48 +01:00
users `keymap_extras`: Remove deprecated defines (#12949) 2021-07-06 09:05:11 +10:00
util ChibiOS SVN mirror script. (#13070) 2021-06-18 00:04:17 +01:00
.clang-format
.editorconfig
.gitattributes [nix] Use niv and poetry2nix to more easily manage dependencies (#11181) 2021-04-03 08:05:46 -07:00
.gitignore Cleanup gitignore (#13390) 2021-07-02 16:08:34 +10:00
.gitmodules
.travis.yml
CODE_OF_CONDUCT.md updates the coc 2019-08-24 12:43:39 -04:00
Dockerfile
Doxyfile
LICENSE
Makefile CLI: Add subcommand to generate version.h (#13151) 2021-06-27 02:29:02 +10:00
Vagrantfile Upgrades Vagrant box to Debian 10 to fix Docker build error on Debian 9. (#13236) 2021-06-19 13:52:34 +01:00
book.json
bootloader.mk Change Lufa-MS size (#13183) 2021-06-15 21:28:17 -07:00
build_full_test.mk
build_json.mk Fixing incorrect keymap build when switching between multiple keymap.jsons (#12632) 2021-06-19 15:30:23 -07:00
build_keyboard.mk [Core] Unite half-duplex and full-duplex serial drivers (#13081) 2021-07-02 08:24:08 +10:00
build_layout.mk Fix building layouts from JSON (#13310) 2021-06-27 12:52:38 +10:00
build_test.mk Avoid 8-bit timer overflows in debounce algorithms (#12240) 2021-06-09 17:23:21 +10:00
common.mk
common_features.mk Add rgblight to RGB Matrix VPATH (#13371) 2021-07-02 16:08:45 +10:00
disable_features.mk Add a <FEATURE>_SUPPORTED flag (#9058) 2021-01-30 13:08:58 -08:00
doxygen-todo
license_GPLv2.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_GPLv3.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_Modified_BSD.md
message.mk Add "Ctrl+C to cancel" to "waiting for bootloader" messages (#13424) 2021-07-03 16:34:22 +10:00
nose2.cfg
readme.md 2021 February 27 Breaking Changes Changelog (#11975) 2021-02-27 12:10:23 -08:00
requirements-dev.txt Move hid and pyusb to requirements.txt (#13134) 2021-06-07 16:30:55 -07:00
requirements.txt Update requirements.txt (#13135) 2021-06-08 00:37:58 +01:00
secrets.tar.enc
setup.cfg Use the schema to eliminate custom code (#11108) 2021-01-09 13:34:14 -08:00
shell.nix Update Python dependencies for Nix (#12855) 2021-06-20 14:30:16 +01:00
show_options.mk Improve 'show_build_options' target (#13425) 2021-07-03 07:43:49 -07:00
testlist.mk Avoid 8-bit timer overflows in debounce algorithms (#12240) 2021-06-09 17:23:21 +10:00

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.