refactor: move default RGB/LED matrix #defines (#21938)

* refactor: move default RGB/LED matrix #defines

Moving the fallback definitions of macros like LED_MATRIX_VAL_STEP and
RGB_MATRIX_MAXIMUM_BRIGHTNESS to header files allows keyboards to
leverage these defaults without requiring #ifdef guards (and often
repeating said fallback definitions).

* style: use if(n)def for consistency

and remove redundant UINT8_MAX checks on maximum brightness

Co-authored-by: Joel Challis <git@zvecr.com>

* refactor: remove INDICATOR_MAX_BRIGHTNESS macro

Co-authored-by: Joel Challis <git@zvecr.com>

---------

Co-authored-by: Joel Challis <git@zvecr.com>
master
Less/Rikki 2023-09-28 06:51:18 -04:00 committed by GitHub
parent f4677c866e
commit 346b06d391
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 103 additions and 138 deletions

View File

@ -117,9 +117,6 @@ void matrix_init_kb(void) {
* Since K20x is stuck with a 32 byte EEPROM (see tmk_core/common/chibios/eeprom_teensy.c), * Since K20x is stuck with a 32 byte EEPROM (see tmk_core/common/chibios/eeprom_teensy.c),
* and neither led_matrix_eeconfig.speed or .flags fit in this boundary, just force their values to default on boot. * and neither led_matrix_eeconfig.speed or .flags fit in this boundary, just force their values to default on boot.
*/ */
# if !defined(LED_MATRIX_DEFAULT_SPD)
# define LED_MATRIX_DEFAULT_SPD UINT8_MAX / 2
# endif
led_matrix_set_speed(LED_MATRIX_DEFAULT_SPD); led_matrix_set_speed(LED_MATRIX_DEFAULT_SPD);
led_matrix_set_flags(LED_FLAG_ALL); led_matrix_set_flags(LED_FLAG_ALL);
#endif #endif

View File

@ -217,9 +217,6 @@ void matrix_init_kb(void) {
* Since K20x is stuck with a 32 byte EEPROM (see tmk_core/common/chibios/eeprom_teensy.c), * Since K20x is stuck with a 32 byte EEPROM (see tmk_core/common/chibios/eeprom_teensy.c),
* and neither led_matrix_eeconfig.speed or .flags fit in this boundary, just force their values to default on boot. * and neither led_matrix_eeconfig.speed or .flags fit in this boundary, just force their values to default on boot.
*/ */
# if !defined(RGB_MATRIX_DEFAULT_SPD)
# define RGB_MATRIX_DEFAULT_SPD UINT8_MAX / 2
# endif
rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD), rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD),
rgb_matrix_set_flags(LED_FLAG_ALL); rgb_matrix_set_flags(LED_FLAG_ALL);

View File

@ -83,9 +83,6 @@ void matrix_init_kb(void) {
* Since K20x is stuck with a 32 byte EEPROM (see tmk_core/common/chibios/eeprom_teensy.c), * Since K20x is stuck with a 32 byte EEPROM (see tmk_core/common/chibios/eeprom_teensy.c),
* and neither led_matrix_eeconfig.speed or .flags fit in this boundary, just force their values to default on boot. * and neither led_matrix_eeconfig.speed or .flags fit in this boundary, just force their values to default on boot.
*/ */
# if !defined(LED_MATRIX_DEFAULT_SPD)
# define LED_MATRIX_DEFAULT_SPD UINT8_MAX / 2
# endif
led_matrix_set_speed(LED_MATRIX_DEFAULT_SPD), led_matrix_set_speed(LED_MATRIX_DEFAULT_SPD),
led_matrix_set_flags(LED_FLAG_ALL); led_matrix_set_flags(LED_FLAG_ALL);
#endif #endif

View File

@ -5,7 +5,8 @@
"device_version": "0.0.3" "device_version": "0.0.3"
}, },
"rgb_matrix": { "rgb_matrix": {
"driver": "is31fl3741" "driver": "is31fl3741",
"val_steps": 8
}, },
"matrix_pins": { "matrix_pins": {
"cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],

View File

@ -125,16 +125,12 @@ led_config_t g_led_config = { {
#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX)
#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS #if !defined(CAPS_LOCK_MAX_BRIGHTNESS)
#define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS #define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
#else
#define CAPS_LOCK_MAX_BRIGHTNESS 0xFF
#endif #endif
#ifdef RGB_MATRIX_VAL_STEP #if !defined(CAPS_LOCK_VAL_STEP)
#define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP #define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
#else
#define CAPS_LOCK_VAL_STEP 8
#endif #endif
bool rgb_matrix_indicators_kb(void) { bool rgb_matrix_indicators_kb(void) {

View File

@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RGB matrix indicator code /* RGB matrix indicator code
It reads the current matrix color, offsets the hue by 30, It reads the current matrix color, offsets the hue by 30,
and sets val to either 255 or, if defined, RGB_MATRIX_MAXIMUM_BRIGHTNESS and sets val to RGB_MATRIX_MAXIMUM_BRIGHTNESS (by default, 255)
This is applied to both caps lock, and other indicator keys for layer 1 */ This is applied to both caps lock, and other indicator keys for layer 1 */
bool rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
/* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off. /* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off.
@ -70,7 +70,7 @@ bool rgb_matrix_indicators_user(void) {
/* Sets W, A, S, D, LGUI to a different color as layer indicator */ /* Sets W, A, S, D, LGUI to a different color as layer indicator */
if(IS_LAYER_ON(1)) { if(IS_LAYER_ON(1)) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b);

View File

@ -144,13 +144,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RGB matrix indicator code /* RGB matrix indicator code
It reads the current matrix color, offsets the hue by 30, It reads the current matrix color, offsets the hue by 30,
and sets val to either 255 or, if defined, RGB_MATRIX_MAXIMUM_BRIGHTNESS and sets val to RGB_MATRIX_MAXIMUM_BRIGHTNESS (by default, 255)
This is applied to both caps lock, and other indicator keys for layer 1 */ This is applied to both caps lock, and other indicator keys for layer 1 */
bool rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
/* Layer 2 (perf mode on this keymap) is not supposed to have LED refreshes, hence excluded */ /* Layer 2 (perf mode on this keymap) is not supposed to have LED refreshes, hence excluded */
if (!IS_LAYER_ON(2)) { if (!IS_LAYER_ON(2)) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
/* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off. /* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off.
@ -163,7 +163,7 @@ bool rgb_matrix_indicators_user(void) {
/* Sets W, A, S, D, LGUI to a different color as layer indicator */ /* Sets W, A, S, D, LGUI to a different color as layer indicator */
if(IS_LAYER_ON(1)) { if(IS_LAYER_ON(1)) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b);

View File

@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RGB matrix indicator code /* RGB matrix indicator code
It reads the current matrix color, offsets the hue by 30, It reads the current matrix color, offsets the hue by 30,
and sets val to either 255 or, if defined, RGB_MATRIX_MAXIMUM_BRIGHTNESS and sets val to RGB_MATRIX_MAXIMUM_BRIGHTNESS (by default, 255)
This is applied to both caps lock, and other indicator keys for layer 1 */ This is applied to both caps lock, and other indicator keys for layer 1 */
bool rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
/* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off. /* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off.
@ -70,7 +70,7 @@ bool rgb_matrix_indicators_user(void) {
/* Sets W, A, S, D, LGUI to a different color as layer indicator */ /* Sets W, A, S, D, LGUI to a different color as layer indicator */
if(IS_LAYER_ON(1)) { if(IS_LAYER_ON(1)) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b);

View File

@ -61,13 +61,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENABLE_RGB_MATRIX_CUSTOM_SINGLE_COLOR_RAINDROPS // 0 Single color raindrops, random keys lighting up at randomized intensity #define ENABLE_RGB_MATRIX_CUSTOM_SINGLE_COLOR_RAINDROPS // 0 Single color raindrops, random keys lighting up at randomized intensity
#define ENABLE_RGB_MATRIX_CUSTOM_STATIC_GAME_MODE // - Game mode sets the entire matrix (static) once, then stops LED refreshes #define ENABLE_RGB_MATRIX_CUSTOM_STATIC_GAME_MODE // - Game mode sets the entire matrix (static) once, then stops LED refreshes
#define INDICATOR_MAX_BRIGHTNESS 255
#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#undef INDICATOR_MAX_BRIGHTNESS
#define INDICATOR_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
#endif
/* Define indicator LED indices, used for lighting effects */ /* Define indicator LED indices, used for lighting effects */
#define W_LED_INDEX 33 #define W_LED_INDEX 33
#define A_LED_INDEX 47 #define A_LED_INDEX 47

View File

@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RGB matrix indicator code /* RGB matrix indicator code
It reads the current matrix color, offsets the hue by 30, It reads the current matrix color, offsets the hue by 30,
and sets val to either 255 or, if defined, RGB_MATRIX_MAXIMUM_BRIGHTNESS and sets val to RGB_MATRIX_MAXIMUM_BRIGHTNESS (by default, 255)
This is applied to both caps lock, and other indicator keys for layer 1 */ This is applied to both caps lock, and other indicator keys for layer 1 */
bool rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
/* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off. /* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off.
@ -70,7 +70,7 @@ bool rgb_matrix_indicators_user(void) {
/* Sets W, A, S, D, LGUI to a different color as layer indicator */ /* Sets W, A, S, D, LGUI to a different color as layer indicator */
if(IS_LAYER_ON(1)) { if(IS_LAYER_ON(1)) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b);

View File

@ -144,13 +144,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RGB matrix indicator code /* RGB matrix indicator code
It reads the current matrix color, offsets the hue by 30, It reads the current matrix color, offsets the hue by 30,
and sets val to either 255 or, if defined, RGB_MATRIX_MAXIMUM_BRIGHTNESS and sets val to RGB_MATRIX_MAXIMUM_BRIGHTNESS (by default, 255)
This is applied to both caps lock, and other indicator keys for layer 1 */ This is applied to both caps lock, and other indicator keys for layer 1 */
bool rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
/* Layer 2 (perf mode on this keymap) is not supposed to have LED refreshes, hence excluded */ /* Layer 2 (perf mode on this keymap) is not supposed to have LED refreshes, hence excluded */
if (!IS_LAYER_ON(2)) { if (!IS_LAYER_ON(2)) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
/* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off. /* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off.
@ -163,7 +163,7 @@ bool rgb_matrix_indicators_user(void) {
/* Sets W, A, S, D, LGUI to a different color as layer indicator */ /* Sets W, A, S, D, LGUI to a different color as layer indicator */
if(IS_LAYER_ON(1)) { if(IS_LAYER_ON(1)) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b);

View File

@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RGB matrix indicator code /* RGB matrix indicator code
It reads the current matrix color, offsets the hue by 30, It reads the current matrix color, offsets the hue by 30,
and sets val to either 255 or, if defined, RGB_MATRIX_MAXIMUM_BRIGHTNESS and sets val to RGB_MATRIX_MAXIMUM_BRIGHTNESS (by default, 255)
This is applied to both caps lock, and other indicator keys for layer 1 */ This is applied to both caps lock, and other indicator keys for layer 1 */
bool rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
/* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off. /* Sets Caps to different color as indicator. If RGB mode is rain, and caps indicator is off, the LED will always be off.
@ -70,7 +70,7 @@ bool rgb_matrix_indicators_user(void) {
/* Sets W, A, S, D, LGUI to a different color as layer indicator */ /* Sets W, A, S, D, LGUI to a different color as layer indicator */
if(IS_LAYER_ON(1)) { if(IS_LAYER_ON(1)) {
HSV hsv_ind = {rgb_matrix_get_hue()+30,255,INDICATOR_MAX_BRIGHTNESS}; HSV hsv_ind = {rgb_matrix_get_hue()+30,255,RGB_MATRIX_MAXIMUM_BRIGHTNESS};
RGB rgb_ind = hsv_to_rgb(hsv_ind); RGB rgb_ind = hsv_to_rgb(hsv_ind);
rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); rgb_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b);

View File

@ -73,15 +73,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Code for Caps Locks indicator // Code for Caps Locks indicator
#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX)
#define CAPS_LOCK_MAX_BRIGHTNESS 0xFF #if !defined(CAPS_LOCK_MAX_BRIGHTNESS)
#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#undef CAPS_LOCK_MAX_BRIGHTNESS
#define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS #define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
#endif #endif
#define CAPS_LOCK_VAL_STEP 8 #if !defined(CAPS_LOCK_VAL_STEP)
#ifdef RGB_MATRIX_VAL_STEP
#undef CAPS_LOCK_VAL_STEP
#define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP #define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
#endif #endif

View File

@ -58,35 +58,6 @@ const led_point_t k_led_matrix_center = LED_MATRIX_CENTER;
// -----End led effect includes macros------- // -----End led effect includes macros-------
// ------------------------------------------ // ------------------------------------------
#ifndef LED_MATRIX_TIMEOUT
# define LED_MATRIX_TIMEOUT 0
#endif
#if !defined(LED_MATRIX_MAXIMUM_BRIGHTNESS) || LED_MATRIX_MAXIMUM_BRIGHTNESS > UINT8_MAX
# undef LED_MATRIX_MAXIMUM_BRIGHTNESS
# define LED_MATRIX_MAXIMUM_BRIGHTNESS UINT8_MAX
#endif
#if !defined(LED_MATRIX_VAL_STEP)
# define LED_MATRIX_VAL_STEP 8
#endif
#if !defined(LED_MATRIX_SPD_STEP)
# define LED_MATRIX_SPD_STEP 16
#endif
#if !defined(LED_MATRIX_DEFAULT_MODE)
# define LED_MATRIX_DEFAULT_MODE LED_MATRIX_SOLID
#endif
#if !defined(LED_MATRIX_DEFAULT_VAL)
# define LED_MATRIX_DEFAULT_VAL LED_MATRIX_MAXIMUM_BRIGHTNESS
#endif
#if !defined(LED_MATRIX_DEFAULT_SPD)
# define LED_MATRIX_DEFAULT_SPD UINT8_MAX / 2
#endif
// globals // globals
led_eeconfig_t led_matrix_eeconfig; // TODO: would like to prefix this with g_ for global consistancy, do this in another pr led_eeconfig_t led_matrix_eeconfig; // TODO: would like to prefix this with g_ for global consistancy, do this in another pr
uint32_t g_led_timer; uint32_t g_led_timer;
@ -632,7 +603,7 @@ void led_matrix_decrease_speed(void) {
void led_matrix_set_flags_eeprom_helper(led_flags_t flags, bool write_to_eeprom) { void led_matrix_set_flags_eeprom_helper(led_flags_t flags, bool write_to_eeprom) {
led_matrix_eeconfig.flags = flags; led_matrix_eeconfig.flags = flags;
eeconfig_flag_led_matrix(write_to_eeprom); eeconfig_flag_led_matrix(write_to_eeprom);
dprintf("led matrix set speed [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", led_matrix_eeconfig.flags); dprintf("led matrix set flags [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", led_matrix_eeconfig.flags);
} }
led_flags_t led_matrix_get_flags(void) { led_flags_t led_matrix_get_flags(void) {

View File

@ -43,6 +43,34 @@
# include "ckled2001-simple.h" # include "ckled2001-simple.h"
#endif #endif
#ifndef LED_MATRIX_TIMEOUT
# define LED_MATRIX_TIMEOUT 0
#endif
#ifndef LED_MATRIX_MAXIMUM_BRIGHTNESS
# define LED_MATRIX_MAXIMUM_BRIGHTNESS UINT8_MAX
#endif
#ifndef LED_MATRIX_VAL_STEP
# define LED_MATRIX_VAL_STEP 8
#endif
#ifndef LED_MATRIX_SPD_STEP
# define LED_MATRIX_SPD_STEP 16
#endif
#ifndef LED_MATRIX_DEFAULT_MODE
# define LED_MATRIX_DEFAULT_MODE LED_MATRIX_SOLID
#endif
#ifndef LED_MATRIX_DEFAULT_VAL
# define LED_MATRIX_DEFAULT_VAL LED_MATRIX_MAXIMUM_BRIGHTNESS
#endif
#ifndef LED_MATRIX_DEFAULT_SPD
# define LED_MATRIX_DEFAULT_SPD UINT8_MAX / 2
#endif
#ifndef LED_MATRIX_LED_FLUSH_LIMIT #ifndef LED_MATRIX_LED_FLUSH_LIMIT
# define LED_MATRIX_LED_FLUSH_LIMIT 16 # define LED_MATRIX_LED_FLUSH_LIMIT 16
#endif #endif

View File

@ -60,56 +60,6 @@ __attribute__((weak)) RGB rgb_matrix_hsv_to_rgb(HSV hsv) {
// -----End rgb effect includes macros------- // -----End rgb effect includes macros-------
// ------------------------------------------ // ------------------------------------------
#ifndef RGB_MATRIX_TIMEOUT
# define RGB_MATRIX_TIMEOUT 0
#endif
#if !defined(RGB_MATRIX_MAXIMUM_BRIGHTNESS) || RGB_MATRIX_MAXIMUM_BRIGHTNESS > UINT8_MAX
# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS UINT8_MAX
#endif
#if !defined(RGB_MATRIX_HUE_STEP)
# define RGB_MATRIX_HUE_STEP 8
#endif
#if !defined(RGB_MATRIX_SAT_STEP)
# define RGB_MATRIX_SAT_STEP 16
#endif
#if !defined(RGB_MATRIX_VAL_STEP)
# define RGB_MATRIX_VAL_STEP 16
#endif
#if !defined(RGB_MATRIX_SPD_STEP)
# define RGB_MATRIX_SPD_STEP 16
#endif
#if !defined(RGB_MATRIX_DEFAULT_MODE)
# ifdef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
# else
// fallback to solid colors if RGB_MATRIX_CYCLE_LEFT_RIGHT is disabled in userspace
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
# endif
#endif
#if !defined(RGB_MATRIX_DEFAULT_HUE)
# define RGB_MATRIX_DEFAULT_HUE 0
#endif
#if !defined(RGB_MATRIX_DEFAULT_SAT)
# define RGB_MATRIX_DEFAULT_SAT UINT8_MAX
#endif
#if !defined(RGB_MATRIX_DEFAULT_VAL)
# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#endif
#if !defined(RGB_MATRIX_DEFAULT_SPD)
# define RGB_MATRIX_DEFAULT_SPD UINT8_MAX / 2
#endif
// globals // globals
rgb_config_t rgb_matrix_config; // TODO: would like to prefix this with g_ for global consistancy, do this in another pr rgb_config_t rgb_matrix_config; // TODO: would like to prefix this with g_ for global consistancy, do this in another pr
uint32_t g_rgb_timer; uint32_t g_rgb_timer;
@ -736,7 +686,7 @@ void rgb_matrix_decrease_speed(void) {
void rgb_matrix_set_flags_eeprom_helper(led_flags_t flags, bool write_to_eeprom) { void rgb_matrix_set_flags_eeprom_helper(led_flags_t flags, bool write_to_eeprom) {
rgb_matrix_config.flags = flags; rgb_matrix_config.flags = flags;
eeconfig_flag_rgb_matrix(write_to_eeprom); eeconfig_flag_rgb_matrix(write_to_eeprom);
dprintf("rgb matrix set speed [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.flags); dprintf("rgb matrix set flags [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.flags);
} }
led_flags_t rgb_matrix_get_flags(void) { led_flags_t rgb_matrix_get_flags(void) {

View File

@ -46,6 +46,55 @@
# include "ws2812.h" # include "ws2812.h"
#endif #endif
#ifndef RGB_MATRIX_TIMEOUT
# define RGB_MATRIX_TIMEOUT 0
#endif
#ifndef RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS UINT8_MAX
#endif
#ifndef RGB_MATRIX_HUE_STEP
# define RGB_MATRIX_HUE_STEP 8
#endif
#ifndef RGB_MATRIX_SAT_STEP
# define RGB_MATRIX_SAT_STEP 16
#endif
#ifndef RGB_MATRIX_VAL_STEP
# define RGB_MATRIX_VAL_STEP 16
#endif
#ifndef RGB_MATRIX_SPD_STEP
# define RGB_MATRIX_SPD_STEP 16
#endif
#ifndef RGB_MATRIX_DEFAULT_MODE
# ifdef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
# else
// fallback to solid colors if RGB_MATRIX_CYCLE_LEFT_RIGHT is disabled in userspace
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
# endif
#endif
#ifndef RGB_MATRIX_DEFAULT_HUE
# define RGB_MATRIX_DEFAULT_HUE 0
#endif
#ifndef RGB_MATRIX_DEFAULT_SAT
# define RGB_MATRIX_DEFAULT_SAT UINT8_MAX
#endif
#ifndef RGB_MATRIX_DEFAULT_VAL
# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#endif
#ifndef RGB_MATRIX_DEFAULT_SPD
# define RGB_MATRIX_DEFAULT_SPD UINT8_MAX / 2
#endif
#ifndef RGB_MATRIX_LED_FLUSH_LIMIT #ifndef RGB_MATRIX_LED_FLUSH_LIMIT
# define RGB_MATRIX_LED_FLUSH_LIMIT 16 # define RGB_MATRIX_LED_FLUSH_LIMIT 16
#endif #endif

View File

@ -634,11 +634,6 @@ void via_qmk_rgblight_save(void) {
#if defined(RGB_MATRIX_ENABLE) #if defined(RGB_MATRIX_ENABLE)
# if !defined(RGB_MATRIX_MAXIMUM_BRIGHTNESS) || RGB_MATRIX_MAXIMUM_BRIGHTNESS > UINT8_MAX
# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS UINT8_MAX
# endif
void via_qmk_rgb_matrix_command(uint8_t *data, uint8_t length) { void via_qmk_rgb_matrix_command(uint8_t *data, uint8_t length) {
// data = [ command_id, channel_id, value_id, value_data ] // data = [ command_id, channel_id, value_id, value_data ]
uint8_t *command_id = &(data[0]); uint8_t *command_id = &(data[0]);
@ -727,11 +722,6 @@ void via_qmk_rgb_matrix_save(void) {
#if defined(LED_MATRIX_ENABLE) #if defined(LED_MATRIX_ENABLE)
# if !defined(LED_MATRIX_MAXIMUM_BRIGHTNESS) || LED_MATRIX_MAXIMUM_BRIGHTNESS > UINT8_MAX
# undef LED_MATRIX_MAXIMUM_BRIGHTNESS
# define LED_MATRIX_MAXIMUM_BRIGHTNESS UINT8_MAX
# endif
void via_qmk_led_matrix_command(uint8_t *data, uint8_t length) { void via_qmk_led_matrix_command(uint8_t *data, uint8_t length) {
// data = [ command_id, channel_id, value_id, value_data ] // data = [ command_id, channel_id, value_id, value_data ]
uint8_t *command_id = &(data[0]); uint8_t *command_id = &(data[0]);