Go to file
Simon Arlott 0a1bf7f6aa
Support using a timer for wait_us() on ChibiOS-based boards (#12211)
* Support using a timer for wait_us() on ChibiOS-based boards (#12198)

There are spare GPT timers that can be used to get a more accurate
wait_ms() time. This is required for the matrix scan unselect delay (30µs)
to be shorter than the system tick rate of 100µs.

This is limited to the maximum GPT duration of 65535 so values above that
will automatically use the previous implementation based on the system
tick.

Using a specific timer means it can't be shared by another thread at the
same time so when wait_us() is called from anything other than the main
thread it will use the system tick implementation too.

* Update tmk_core/common/chibios/wait.c

* Update tmk_core/common/chibios/wait.c

Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-20 00:31:23 +01:00
.github CLI/Docs: Fix the format commands' name (#13668) 2021-07-23 21:41:33 +01: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 Add config.h and rules.mk support for data driven keymaps (#12859) 2021-08-18 21:52:41 +01:00
docs Added right vs left specific pin assignments for dip switch (#13074) 2021-08-19 18:39:15 +01:00
drivers [Core] Speed up pimoroni trackball driver (#13823) 2021-08-19 11:58:17 -07:00
keyboards move volcano660 to ilumkb folder (#13550) 2021-08-19 20:02:07 +01:00
layouts Merge remote-tracking branch 'upstream/master' into develop 2021-08-19 11:32:23 -07:00
lib Add config.h and rules.mk support for data driven keymaps (#12859) 2021-08-18 21:52:41 +01:00
nix Update Python dependencies for Nix (#12855) 2021-06-20 14:30:16 +01:00
platforms Move chibios board files to allow tmk_core platform migration (#13777) 2021-08-18 00:04:15 +01:00
quantum Added right vs left specific pin assignments for dip switch (#13074) 2021-08-19 18:39:15 +01:00
tests Allow output of logging when running unit tests (#13556) 2021-07-25 17:18:09 +01:00
tmk_core Support using a timer for wait_us() on ChibiOS-based boards (#12211) 2021-08-20 00:31:23 +01:00
users Merge remote-tracking branch 'upstream/master' into develop 2021-08-19 11:32:23 -07:00
util Merge remote-tracking branch 'origin/master' into develop 2021-08-19 16:12:04 +00: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 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
.travis.yml
CODE_OF_CONDUCT.md updates the coc 2019-08-24 12:43:39 -04:00
Dockerfile
Doxyfile
LICENSE
Makefile Merge remote-tracking branch 'origin/master' into develop 2021-07-28 11:02:58 +00: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 Update LUFA (18-07-2021) and add QMK-HID Bootloader support (#13588) 2021-07-24 23:00:57 -07:00
build_full_test.mk
build_json.mk Add config.h and rules.mk support for data driven keymaps (#12859) 2021-08-18 21:52:41 +01:00
build_keyboard.mk Add config.h and rules.mk support for data driven keymaps (#12859) 2021-08-18 21:52:41 +01:00
build_layout.mk Add config.h and rules.mk support for data driven keymaps (#12859) 2021-08-18 21:52:41 +01:00
build_test.mk Move print/debug files to quantum (#12069) 2021-08-03 18:49:33 +01:00
common.mk Relocate platform specific drivers (#13894) 2021-08-17 23:43:09 +01:00
common_features.mk Various fixes from reorg of files (#14051) 2021-08-18 09:54:41 +10:00
disable_features.mk
doxygen-todo Various fixes from reorg of files (#14051) 2021-08-18 09:54:41 +10:00
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
message.mk `--parallel` improvements (#13800) 2021-08-18 08:46:59 +10:00
nose2.cfg
readme.md
requirements-dev.txt Move hid and pyusb to requirements.txt (#13134) 2021-06-07 16:30:55 -07:00
requirements.txt switch to qmk-dotty-dict (#13460) 2021-07-14 09:08:48 -07:00
secrets.tar.enc
setup.cfg
shell.nix Update Python dependencies for Nix (#12855) 2021-06-20 14:30:16 +01:00
show_options.mk Remove ONEHAND_ENABLE (#13920) 2021-08-09 19:46:03 +01: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.