Open-source keyboard firmware for Atmel AVR and Arm USB families https://qmk.fm
Go to file
Stefan Kerkmann ef92c9ee2c
Add CRC8 calculation subsystem to quantum (#12641)
* Intended usage is data validation in split transport code.
* Default space efficient algorithm.
* Opt-in fast table based algorithmn with #define CRC8_USE_TABLE switch.
* Define switches for size and speed optimized versions, the default is size
  optimized by using uint_least8_t as datatype for calculations.
  * #define CRC8_OPTIMIZE_SPEED uses uint_fast8_t as datatype for
    calculations, this only affects 32-bit Archs like ARM and RISC-V.
* Placeholder crc_init() function for hardware backed crc calculation,
  not implemented yet.
2021-06-18 00:09:43 +01:00
.github 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
.vscode vscode: specify yapf as the formatting provider (#13206) 2021-06-13 17:52:31 -07:00
api_data Generate api data on each push (#10609) 2020-10-25 14:48:44 -07:00
bin Ensure that safe_commands always run (#13199) 2021-06-14 16:51:58 -07:00
data Add STM32L433 and L443 support (#12063) 2021-04-26 13:07:15 +10:00
docs Merge remote-tracking branch 'upstream/master' into develop 2021-06-17 17:22:01 +10:00
drivers Merge remote-tracking branch 'upstream/master' into develop 2021-06-17 17:22:01 +10:00
keyboards Merge remote-tracking branch 'origin/master' into develop 2021-06-17 17:05:15 +00:00
layouts Fix RGB/LED Suspend defines (#13146) 2021-06-09 22:59:19 -07:00
lib Merge remote-tracking branch 'origin/master' into develop 2021-06-14 23:52:31 +00:00
nix [nix] Use niv and poetry2nix to more easily manage dependencies (#11181) 2021-04-03 08:05:46 -07:00
platforms/chibios core: wire up flash make target for Teensy 4.x (#13077) 2021-06-17 04:15:45 +10:00
quantum Add CRC8 calculation subsystem to quantum (#12641) 2021-06-18 00:09:43 +01:00
tests Missed a couple more #pragma onces (#11351) 2020-12-30 15:44:53 +00:00
tmk_core Add CRC8 calculation subsystem to quantum (#12641) 2021-06-18 00:09:43 +01:00
users Fix RGB/LED Suspend defines (#13146) 2021-06-09 22:59:19 -07:00
util ChibiOS SVN mirror script. (#13070) 2021-06-18 00:04:17 +01:00
.clang-format fix indent size 2019-06-11 01:51:40 -07:00
.editorconfig QMK CLI and JSON keymap support (#6176) 2019-07-15 12:14:27 -07:00
.gitattributes [nix] Use niv and poetry2nix to more easily manage dependencies (#11181) 2021-04-03 08:05:46 -07:00
.gitignore 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
.gitmodules 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
.travis.yml CI: Add workflow for codebase formatting (#7382) 2020-12-10 17:01:51 +00:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04:00
bootloader.mk Change Lufa-MS size (#13183) 2021-06-15 21:28:17 -07:00
build_full_test.mk Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
build_json.mk 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
build_keyboard.mk 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
build_layout.mk Allow for building layouts from keymap.json files. 2020-07-07 07:27:39 -07:00
build_test.mk Avoid 8-bit timer overflows in debounce algorithms (#12240) 2021-06-09 17:23:21 +10:00
CODE_OF_CONDUCT.md updates the coc 2019-08-24 12:43:39 -04:00
common_features.mk Add CRC8 calculation subsystem to quantum (#12641) 2021-06-18 00:09:43 +01:00
common.mk 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
disable_features.mk Add a <FEATURE>_SUPPORTED flag (#9058) 2021-01-30 13:08:58 -08:00
Dockerfile Update docker util script and travis to use new base container 2019-07-14 21:01:38 -07:00
Doxyfile Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04:00
doxygen-todo Remove iWRAP protocol (#9284) 2020-08-29 14:30:02 -07:00
LICENSE add an explicit lisence file for github to pickup 2017-11-13 20:50:54 -05:00
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 Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
Makefile Add support for producing UF2-format binaries. (#12435) 2021-04-06 16:39:15 +10:00
message.mk Make atmel-dfu and chibios-dfu flashing behave more like caterina flashing. (#12552) 2021-06-16 14:20:44 +10:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
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 update building for .hex, secrets moving 2017-08-21 21:57:46 -04:00
setup.cfg Use the schema to eliminate custom code (#11108) 2021-01-09 13:34:14 -08:00
shell.nix [nix] Use niv and poetry2nix to more easily manage dependencies (#11181) 2021-04-03 08:05:46 -07:00
show_options.mk add OLED_DRIVER_ENABLE into show_options.mk (#12121) 2021-03-05 20:26:26 +00:00
testlist.mk Avoid 8-bit timer overflows in debounce algorithms (#12240) 2021-06-09 17:23:21 +10:00
Vagrantfile Remove broken example from Makefile (#9159) 2020-05-21 20:33:20 +01:00

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.