Ted M Lin 6f1f085b2d 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>
2020-03-24 16:04:05 +09:00
2020-01-09 08:57:11 +09:00
2019-09-17 11:39:43 +09:00
2020-02-26 10:15:12 +09:00
2020-01-09 08:57:11 +09:00
2016-08-27 18:37:28 +03:00
2017-08-19 08:31:54 -04:00
2018-08-01 15:20:02 -04:00
2020-02-26 10:15:12 +09:00
2019-09-26 10:08:39 +09:00
2019-04-15 17:26:03 -07:00

ZSA's fork of QMK Firmware

Current Version Build Status GitHub contributors GitHub forks

This purpose of this fork is maintain a clean repo that only contains the keyboard code that we need, and as little else as possible. This is to keep it lightweight, since we only need a couple of keyboards. This is the repo that the EZ Configurator will pull from.

Supported Keyboards

Maintainers

QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The ZSA branch is maintained by Drashna, ZSA's official QMK Liaison, and by Florian Didron, ZSA's lead developer, with input from Erez Zukerman (ZSA CEO).

Update Process

  1. Check out branch from ZSA's master branch:
    1. git remote add zsa https://github.com/ErgoDox-EZ/qmk_firmware.git
    2. git fetch --all
    3. git checkout -B branchname zsa/master
    4. git push -u zsa branchname
  2. Check for core changes:
  3. git cherry-pick the commits we want
    • git rm docs/* -r to remove the document updates when cherry picking. Repeat for any keyboard/keymap/etc that have changes that we aren't interested in
  4. Commit update
    • Include commit info in [changelog.md](http://changelog.md)
  5. Open Pull request, and include information about the commit

Strategy

To keep PRs small and easier to test, they should ideally be 1:1 with commits from QMK Firmware master. They should only group commits if/when it makes sense. Such as multiple commits for a specific feature (split RGB support, for instance)

Merging

Pull Requests should be merged/rebased, not squashed, so we can maintain a commit history that is close to QMK Firmware's, for ease of reference.

Description
No description provided
Readme 202 MiB
Languages
C 80.7%
C++ 13.5%
Python 3.4%
Makefile 1.9%
Shell 0.3%