summaryrefslogtreecommitdiff
path: root/keyboards/bpiphany/frosty_flake/frosty_flake.h
AgeCommit message (Collapse)Author
2020-03-02Rewrite the Bathroom Epiphanies Frosty Flake matrix and LED handling (#8243)Dustin L. Howett
* 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 42d6270f2) Matrix+Debounce Size (bytes) --------------- ------------ original 17740 new + sym_g 17284 new + eager_pr 18106 new + eager_pk 18204 I expect that there are some scanning speed benefits as well. * Keyboard: update frosty_flake's UNUSED_PINS * Keyboard: Remove meaningless weak redefinitions from frosty These are not necessary (and all of them already live somewhere in Quantum).
2018-12-14Keyboard: Bpiphany Frosty Flake Refactor, Configurator support and readme ↵noroadsleft
cleanup (#4648) * Frosty Flake: layout macro refactor - frosty_flake.h updated to use #pragma once - KEYMAP renamed to LAYOUT - KEYMAP_TKL renamed to LAYOUT_tkl * Frosty Flake: keymap refactor - config.h files updated to #pragma once - deleted deprecated build script rules from rules.mk - keymap.c files: - #include QMK_KEYBOARD_H - updated layout macro name - white space changes for readability * Frosty Flake: Configurator support * Frosty Flake: readme cleanup - Fixed Hardware Availability link (old link was 404) - tiny grammar fix (colon missing on compile-and-flash instructions)
2018-09-19Keyboard: Move Bathroom Epiphany boards into its own directory (#3936)MechMerlin
* make bpiphany directory with simple readme file * move unloved_bastard to bpiphany directory * move frosty_flake to bpiphany directory * move pegasushoof to bpiphany directory * move tiger_lily to bpiphany directory * add a little more info to readme * move kitten_paw to bpiphany directory * update make instructions * update intro text * add missing routines to matrix.c of unloved_bastard * add missing routines