Last step: create pull request with these changes and previous changes to be merged into main QMK repo.
The goal is for these changes to be merged back to the main QMK repo.
Contains the following changes:
Removed LED instruction code from arm_atsam/led_matrix.c. Moved to keyboards/massdrop/led_instructions.c.
Added static color map, rgb_matrix_set_color(), and rgb_matrix_set_color_all() to arm_atsam/led_matrix.c. LED loop still processes 15 per loop. rgb_matrix_set_color functions are a simpler interface for other users to use if they don't want to use LED instructions.
Changed animation speed to be specified as period in milliseconds. Previously it was specified in approximately deciHertz.
Changed animation offset to be based on clock ms instead of disp frame.
Changed animation speed increase/decrease steps to be +/-10% regardless of current animation speed.
Allow animation speed to be specified per pattern. First instruction in a pattern can specify ms param. (Design here is a bit iffy...)
New effects:
Pattern axis/direction: right to left, top to bottom, bottom to top, X+Y axis together
Animate: in pattern direction, opposite of pattern direction, over time
Blends: add, multiply, divide, RGB permutations
Added array assocations for: Matrix row/col <-> LED ID <-> Keymap row/col (ALT and CTRL keyboards)
Allow built-in LED patterns to be overridden by equivalent file in user's keymap directory.
Keymap updates:
Added example keymaps showing (1) setting RGB without instructions, (2) reactive RGB layered on top of patterns, (3) overriding the built-in patterns.
Updated reywood's keymap to use the centralized matrix/LED/keymap arrays and to remove unused LED instructions/patterns.
From master merge
Maintained led_animation_orientation variable. It still swaps X and Y axes.
Do not merge
TODOs
The goal is for these changes to be merged back to the main QMK repo.
Contains the following changes:
arm_atsam/led_matrix.c
. Moved tokeyboards/massdrop/led_instructions.c
.rgb_matrix_set_color()
, andrgb_matrix_set_color_all()
toarm_atsam/led_matrix.c
. LED loop still processes 15 per loop. rgb_matrix_set_color functions are a simpler interface for other users to use if they don't want to use LED instructions.ms
param. (Design here is a bit iffy...)Keymap updates:
From master merge
led_animation_orientation
variable. It still swaps X and Y axes.