Dustin L. Howett
b72a1aa3fe
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).
2020-03-02 05:17:09 +00:00
..
2020-02-05 14:51:58 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-19 14:11:57 +11:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-02-17 11:08:13 -08:00
2020-01-29 12:51:25 -05:00
2020-02-29 11:59:30 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-02-23 21:18:14 -08:00
2020-02-05 12:42:22 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-07 17:26:04 -08:00
2020-01-07 21:36:43 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-02-29 11:59:30 -08:00
2020-01-29 12:51:25 -05:00
2020-01-31 10:44:40 +11:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-23 19:24:10 -08:00
2019-11-20 11:21:19 +11:00
2019-11-19 22:06:16 -08:00
2020-01-29 12:51:25 -05:00
2020-02-29 11:59:30 -08:00
2020-01-29 12:51:25 -05:00
2020-02-05 08:53:28 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-23 19:24:10 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-19 14:11:57 +11:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-11 23:11:06 -08:00
2020-02-10 17:14:19 -08:00
2019-11-21 22:40:29 -08:00
2020-03-02 05:17:09 +00:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-02-29 11:59:30 -08:00
2020-03-01 21:30:01 +00:00
2020-01-29 12:51:25 -05:00
2020-02-18 13:04:43 +11:00
2020-02-29 11:59:30 -08:00
2020-02-16 11:29:36 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-30 01:45:27 -08:00
2020-03-01 17:56:50 +11:00
2020-02-29 11:59:30 -08:00
2020-01-29 12:51:25 -05:00
2020-03-01 17:56:50 +11:00
2020-01-29 12:51:25 -05:00
2020-02-29 11:59:30 -08:00
2020-01-29 12:51:25 -05:00
2020-02-13 22:22:30 -08:00
2020-01-21 18:21:47 -08:00
2020-01-29 12:51:25 -05:00
2020-03-01 17:56:50 +11:00
2020-01-29 12:51:25 -05:00
2020-01-31 10:44:40 +11:00
2020-01-29 12:51:25 -05:00
2020-01-25 12:43:43 -08:00
2020-01-23 19:24:10 -08:00
2020-01-29 12:51:25 -05:00
2020-02-04 18:59:20 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2019-12-28 00:06:42 -08:00
2020-01-29 12:51:25 -05:00
2020-01-19 23:05:51 -08:00
2020-02-16 11:45:42 -08:00
2020-02-11 10:07:06 -08:00
2020-01-29 12:51:25 -05:00
2020-02-10 12:58:55 -08:00
2020-02-16 11:42:03 -08:00
2020-01-29 12:51:25 -05:00
2020-01-05 00:18:36 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-02-08 19:54:10 -08:00
2020-01-29 12:51:25 -05:00
2020-02-07 18:52:02 -08:00
2020-02-29 11:59:30 -08:00
2020-02-29 11:59:30 -08:00
2020-01-29 12:51:25 -05:00
2020-02-06 13:38:41 +00:00
2020-01-30 02:48:30 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-23 19:24:10 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-23 19:24:10 -08:00
2020-01-23 19:24:10 -08:00
2020-02-02 13:11:17 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-19 23:05:51 -08:00
2020-01-27 17:05:29 -08:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-29 12:51:25 -05:00
2020-01-23 19:24:10 -08:00
2019-12-12 11:45:56 -08:00
2020-01-30 13:47:48 -05:00
2020-03-01 17:56:50 +11:00
2020-01-30 02:48:30 -08:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-02-24 11:25:18 +11:00
2020-02-29 11:59:30 -08:00
2020-02-12 15:33:29 +11:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-03-01 22:36:17 +00:00
2020-01-30 13:47:48 -05:00
2019-11-26 16:51:32 -08:00
2020-03-01 17:56:50 +11:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-02-24 12:04:40 -08:00
2020-01-30 13:47:48 -05:00
2020-02-17 01:30:03 -08:00
2020-02-29 11:59:30 -08:00
2020-02-24 14:14:09 +00:00
2020-01-12 10:50:52 -08:00
2020-02-11 12:44:09 -08:00
2020-01-30 13:47:48 -05:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-01-23 19:24:10 -08:00
2019-12-03 16:49:31 +00:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-02-29 11:59:30 -08:00
2020-02-07 02:13:53 -08:00
2020-01-30 13:47:48 -05:00
2020-01-18 23:00:32 -08:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-02-14 00:42:57 -08:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-02-29 11:59:30 -08:00
2020-02-27 13:19:34 +11:00
2020-01-30 13:47:48 -05:00
2020-02-19 01:12:52 -08:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-31 10:44:40 +11:00
2020-01-31 10:44:40 +11:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-17 19:56:13 -08:00
2020-02-17 01:30:03 -08:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-31 10:44:40 +11:00
2020-01-02 17:45:41 +11:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-02-04 18:41:19 -08:00
2020-03-01 17:56:50 +11:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-02-16 11:45:42 -08:00
2020-02-05 09:14:00 -08:00
2020-01-30 13:47:48 -05:00
2020-02-29 11:59:30 -08:00
2020-01-30 13:47:48 -05:00
2020-02-07 18:54:41 -08:00
2020-01-25 23:05:22 -08:00
2020-01-30 13:47:48 -05:00
2020-02-05 09:12:53 -08:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-29 17:33:15 -05:00
2020-02-07 13:58:55 +00:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-21 18:18:18 -08:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-01-30 13:47:48 -05:00
2020-02-18 14:05:22 +11:00
2020-01-19 14:11:57 +11:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2019-12-08 22:31:30 -08:00
2020-02-05 12:56:50 +11:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2019-11-08 20:15:16 -08:00
2020-02-29 11:59:30 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-31 12:33:08 -08:00
2020-01-24 19:33:04 -08:00
2020-01-30 01:18:44 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-03-01 17:56:50 +11:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-02-16 12:14:19 -08:00
2020-01-23 19:24:10 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-23 19:24:10 -08:00
2020-02-29 11:59:30 -08:00
2020-02-01 00:42:42 -08:00
2020-01-30 11:13:49 -08:00
2019-12-18 00:02:57 -08:00
2020-02-17 01:30:03 -08:00
2020-01-30 11:13:49 -08:00
2020-02-29 11:59:30 -08:00
2020-01-30 11:13:49 -08:00
2020-02-21 11:16:39 -05:00
2020-02-29 17:42:50 -08:00
2020-02-29 11:59:30 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-04 17:06:24 -08:00
2020-01-30 11:13:49 -08:00
2020-02-29 11:59:30 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-02-17 20:34:23 -08:00
2020-03-01 17:56:50 +11:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-02-29 11:59:30 -08:00
2020-01-19 14:11:57 +11:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-02-21 16:59:36 +11:00
2020-01-23 19:24:10 -08:00
2020-02-05 16:30:31 +11:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 11:13:49 -08:00
2020-01-30 21:14:19 -05:00
2020-01-30 11:13:49 -08:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-01-19 10:54:04 -08:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2019-11-14 10:52:55 -08:00
2020-01-23 19:24:10 -08:00
2019-11-20 22:31:36 +00:00
2019-11-20 13:16:38 -08:00
2020-02-29 11:59:30 -08:00
2020-01-31 09:10:23 +11:00
2020-01-23 19:28:25 -08:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2019-12-02 11:47:55 -08:00
2020-01-31 09:10:23 +11:00
2020-03-01 17:56:50 +11:00
2020-01-31 09:10:23 +11:00
2019-11-07 07:51:06 -08:00
2020-01-31 09:10:23 +11:00
2020-01-23 19:24:10 -08:00
2020-01-31 09:10:23 +11:00
2020-03-01 17:56:50 +11:00
2020-01-31 09:10:23 +11:00
2020-02-29 11:59:30 -08:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-02-07 19:42:29 -08:00
2020-01-31 09:10:23 +11:00
2020-02-29 11:59:30 -08:00
2020-02-29 11:59:30 -08:00
2020-01-31 09:10:23 +11:00
2020-01-30 11:37:00 -08:00
2020-02-11 15:02:18 +00:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-01-15 01:31:17 +00:00
2020-02-19 11:08:21 -08:00
2020-02-07 18:16:44 -08:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-02-06 13:33:43 +00:00
2020-02-29 11:59:30 -08:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-01-30 14:37:23 -08:00
2020-01-31 09:10:23 +11:00
2020-01-31 09:10:23 +11:00
2020-01-23 19:24:10 -08:00
2020-01-23 19:24:10 -08:00
2020-01-23 19:24:10 -08:00
2020-02-07 19:15:35 -08:00
2020-03-01 17:56:50 +11:00
2020-01-14 02:31:21 -08:00
2020-01-31 09:10:23 +11:00
2020-02-24 14:04:26 +11:00
2020-01-31 09:10:23 +11:00
2020-02-07 18:09:55 -08:00
2020-01-31 09:10:23 +11:00