aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/bpiphany/frosty_flake/config.h
diff options
context:
space:
mode:
authorGravatar Dustin L. Howett <dustin@howett.net>2020-03-01 21:17:09 -0800
committerGravatar GitHub <noreply@github.com>2020-03-02 05:17:09 +0000
commitb72a1aa3fec986bfa7e439b68d6b7546ab1e280b (patch)
treed9d1de0e5f0893fc204dd712fd4b16b543c960e9 /keyboards/bpiphany/frosty_flake/config.h
parent78069d482634b3b727e5d09b526fa24c227cc4e2 (diff)
downloadqmk_firmware-b72a1aa3fec986bfa7e439b68d6b7546ab1e280b.tar.gz
Rewrite the Bathroom Epiphanies Frosty Flake matrix and LED handling (#8243)
* 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).
Diffstat (limited to 'keyboards/bpiphany/frosty_flake/config.h')
-rw-r--r--keyboards/bpiphany/frosty_flake/config.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/keyboards/bpiphany/frosty_flake/config.h b/keyboards/bpiphany/frosty_flake/config.h
index 250a1b775..79bc31aec 100644
--- a/keyboards/bpiphany/frosty_flake/config.h
+++ b/keyboards/bpiphany/frosty_flake/config.h
@@ -36,13 +36,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* key matrix size */
-#define MATRIX_ROWS 8 // Row0 - Row7 in the schematic
-#define MATRIX_COLS 18 // ColA - ColR in the schematic
+#define MATRIX_ROWS 18 // ColA - ColR in the schematic
+#define MATRIX_COLS 8 // Row0 - Row7 in the schematic
/*
* Keyboard Matrix Assignments
*/
-#define UNUSED_PINS { B0, C4, D3 }
+#define UNUSED_PINS { C0, C1, C2, C3, C4, D2, D7 }
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5