mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-25 18:48:05 +06:00
b72a1aa3fe
* Keyboard: revamp frosty-flake leds
This commit transitions bpiphany/frosty_flake to led_update_{kb,user}
and rewrites the AVR bit twiddling logic to use the standard QMK GPIO
API.
* Keyboard: rewrite frosty_flake's matrix reader to be a lite custom matrix
This commit replaces frosty_flake's custom matrix and debounce logic
with a "lite" custom matrix. In addition to being somewhat clearer, this
allows a consumer of the flake board to choose their own debouncing
algorithm. The one closest to the implementation originally in use is
sym_g, but this opens us up to supporting eager_pk and eager_pr.
The original matrix code was 18 columns for 8 rows, but using a single
row read and unpacking the bits into individual columns. To simplify,
I've changed the key layout to be 8C 18R instead of 18C 8R: this lets us
use a single read directly into the matrix _and_ drop down to a uint8_t
instead of a uint32_t for matrix_row_t.
Since we're no longer implementing our own debouncing and row unpacking,
we save ~400 bytes on the final firmware image.
Fully tested against a CM Storm QFR hosting the flake -- this commit
message was written using the new matrix code.
Firmware Sizes (assuming stock configuration as of
|
||
---|---|---|
.. | ||
frosty_flake | ||
kitten_paw | ||
pegasushoof | ||
sixshooter | ||
tiger_lily | ||
unloved_bastard | ||
readme.md |
Bathroom Epiphanies
bpiphany is the owner and designer of Bathroom Epiphanies.
He is based in Sweden and creates several controller boards as a swappable component for some off the shelf keyboards.