Open-source keyboard firmware for Atmel AVR and Arm USB families
Go to file
Stefan Kerkmann 3c58f98929
[Core] PMW33XX drivers overhaul (#17613)
* PMW33XX drivers overhaul

This combines the PMW3389 and PM3360 drivers as they only differ in the
firmware blobs and CPI get and set functions. The following changes have
been made:

* PMW3389 now gets the same multi-sensor feature that is already available on the
  PMW3360.

* Introduced a shared pmw33xx_report_t struct is now directly readable via SPI
  transactions instead of individual byte-sized reads, saving multiple
  copies and bitshift operations.

* pmw33(89/60)_get_report functions had unreachable branches in their motion
  detection logic these have been simplied as much as possible.

* The fast firmware upload option has been removed as this becomes obsolete by
  the newly introduced polled waiting functions for ChibiOS polled waiting

* PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options
  have been removed as they don't need to be configurable.

* All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix
  to reduce code duplication and make the defines interchangeable

* Adjust keyboards to PMW33XX naming scheme
2022-07-14 11:50:00 +02:00
.github
.vscode
builddefs [Core] PMW33XX drivers overhaul (#17613) 2022-07-14 11:50:00 +02:00
data Add kb2040 and sparkfun rp2040 converters (#17514) 2022-07-06 19:27:15 +01:00
docs [Core] PMW33XX drivers overhaul (#17613) 2022-07-14 11:50:00 +02:00
drivers [Core] PMW33XX drivers overhaul (#17613) 2022-07-14 11:50:00 +02:00
keyboards [Core] PMW33XX drivers overhaul (#17613) 2022-07-14 11:50:00 +02:00
layouts Merge remote-tracking branch 'origin/master' into develop 2022-07-04 20:49:23 +00:00
lib More DD encoder fixes (#17615) 2022-07-11 10:51:39 +01:00
platforms Post-bootloader EFL/SPI fixes. (#17661) 2022-07-14 00:41:08 +10:00
quantum [Core] PMW33XX drivers overhaul (#17613) 2022-07-14 11:50:00 +02:00
tests
tmk_core
users Allow for keymaps array to be implemented in a file other than $(KEYMAP_C) (#17559) 2022-07-05 08:58:35 +10:00
util
.clang-format
.editorconfig
.gitattributes
.gitignore
.gitmodules
Dockerfile
Doxyfile
doxygen-todo
LICENSE
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
Makefile
nose2.cfg
paths.mk
readme.md
requirements-dev.txt
requirements.txt
setup.cfg
shell.nix
Vagrantfile

This is the develop branch!

See the Breaking Changes document for more information.

Quantum Mechanical Keyboard Firmware

Current Version 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.