Update Hungarian keymap and add sendstring LUT (#8220)
Remove "ugly hack in usb_main.c" comments (#8296)
Update encoder functions for Iris VIA keymap (#8295)
Reduce PROGMEM usage for sendstring LUT (#8109)
* Reduce PROGMEM usage for keycode map
Bit-pack the keycode bool array to gain back a small amount of flash space.
The trade-off is an increase in runtime instructions when running macros.
It does make the code a bit harder to read, as well as maintain.
For configs that use send_string() et al, it saves ~100 bytes.
* Switch to macro and common definition
Rewrite the array declarations so both the unpacked (original) and
packed LUT arrays can use the same value definitions. This is done by
defining a macro that "knows what to do".
This makes the code much easier to read and maintain.
* Fix macro typos and improve perf
Pack the bits in a more efficient order for extraction.
And also fix the copy/paste error in the macro...
* Switch fully to packed LUT
Some minor reformatting.
Compile tested all sendstring_xyz.h to make sure they were converted
properly. Also checked that an unconverted version would generate a
compile error.
* Apply whitespace suggestions from code review
Co-Authored-By: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
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).
Add onekey keymap for testing reset to bootloader. (#8288)
Get the direction right on the S75 encoder (#8287)
Prune out pure software pwm && custom driver && remove wrapping BACKLIGHT_PIN (#8041)
Make a fix to savage65 and tmov2 for via (#8286)
format code according to conventions [skip ci]
Short term fix for conflicting types for 'tfp_printf' (#8157)
Fix recent clang-format breaking quantum.c (#8282)
format code according to conventions [skip ci]
Remove duplicate BRTG case (#8277)
Clean up includes for glcdfont headers (#7745)
* Clean up includes for glcdfont headers
* Remove pragma once, most of these are not headers
* Missed these
Fix the Breaking Changes doc again
WHAT YEAR IS IT?!
[Docs] translated 'feature_tap_dance.md' to japanese. (#8137)
* complete translation.
* Update docs/ja/feature_tap_dance.md
Update the file based on the suggestions.
* Update docs/ja/feature_tap_dance.md
Update the file based on the suggestions.
* Apply suggestions from code review
Update the file based on the suggestions.
* Apply suggestions from code review
Update the file based on the suggestions (Part 2).
* Apply suggestions from code review
Update the file based on the suggestions (Part 3).
* Apply suggestions from code review
Update the file based on the suggestions (Part 3).
* Apply suggestions from code review
Update the file based on the suggestions (Part 4).
* Apply suggestions from code review
Update the file based on the suggestions (Part 5).
ご提案いただいた修正案は全て確認できました。
続いて、コメント行の調整、「打つ・叩く」の変更、その他の修正を行います。
* fixed typo.
* Update the file based on the suggestions (Part 6).
* Update the file based on the suggestions (Part 7).
* Fixed sentence.
* Update docs/ja/feature_tap_dance.md
Update the file based on the suggestions (Part 8).
* Update the file based on the suggestions (Part 9).
Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-Authored-By: shela <shelaf@users.noreply.github.com>
PWM DMA based RGB Underglow for STM32 (#7928)
* Add pwm ws2812 driver
* Add docs for pwm ws2812 driver
* Update ws2812_pwm for ChibiOS 19
Co-Authored-By: Nick Brassel <nick@tzarc.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Add VIA support to Prime_M. Clean up all files (#8247)
* Add VIA support for Prime_L
* Update keyboards/primekb/prime_l/v1/config.h
* Add prime_exl_plus keyboard
* Temporary removal of prime_exl_plus
* Add Prime_EXL Plus, including VIA support
* Update keyboards/handwired/prime_exl_plus/readme.md
* Update keyboards/handwired/prime_exl_plus/readme.md
* Update keyboards/handwired/prime_exl_plus/readme.md
* Update keyboards/handwired/prime_exl_plus/rules.mk
* Update keyboards/handwired/prime_exl_plus/info.json
* Update keyboards/handwired/prime_exl_plus/info.json
* Update keyboards/handwired/prime_exl_plus/info.json
* Update keymap.c
* correct spacing of keymaps and layout macro. move indicator logic from user space to keyboard space
* further corrections to keymaps and layout macro.
* Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c
* Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c
* Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c
* Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c
* Update prime_exl_plus.c
* small edit to prime_exl_plus.c
* Add via support to Prime_M and clean things up
* Update rules.mk
* Update keyboards/primekb/prime_m/readme.md
* Update keyboards/primekb/prime_m/readme.md
* Update keyboards/primekb/prime_m/config.h