From 346b06d391dbc760d753a5cffcbbcb58ecc9ce95 Mon Sep 17 00:00:00 2001 From: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Date: Thu, 28 Sep 2023 06:51:18 -0400 Subject: [PATCH] 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 * refactor: remove INDICATOR_MAX_BRIGHTNESS macro Co-authored-by: Joel Challis --------- Co-authored-by: Joel Challis --- .../ergodox_infinity/ergodox_infinity.c | 3 -- keyboards/input_club/k_type/k_type.c | 3 -- keyboards/input_club/whitefox/whitefox.c | 3 -- keyboards/kbdfans/kbd67/mkiirgb/v3/info.json | 3 +- keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c | 8 +-- .../native/ansi/keymaps/default/keymap.c | 6 +-- .../native/ansi/keymaps/perfmode/keymap.c | 6 +-- .../teleport/native/ansi/keymaps/via/keymap.c | 6 +-- keyboards/teleport/native/config.h | 7 --- .../native/iso/keymaps/default/keymap.c | 6 +-- .../native/iso/keymaps/perfmode/keymap.c | 6 +-- .../teleport/native/iso/keymaps/via/keymap.c | 6 +-- keyboards/zykrah/fuyu/keymaps/via/keymap.c | 8 +-- quantum/led_matrix/led_matrix.c | 31 +---------- quantum/led_matrix/led_matrix.h | 28 ++++++++++ quantum/rgb_matrix/rgb_matrix.c | 52 +------------------ quantum/rgb_matrix/rgb_matrix.h | 49 +++++++++++++++++ quantum/via.c | 10 ---- 18 files changed, 103 insertions(+), 138 deletions(-) diff --git a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c index b8f0d4ae13..70cd26a3f3 100644 --- a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c +++ b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c @@ -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), * 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_flags(LED_FLAG_ALL); #endif diff --git a/keyboards/input_club/k_type/k_type.c b/keyboards/input_club/k_type/k_type.c index dc1ca9dc25..0d0b763b20 100644 --- a/keyboards/input_club/k_type/k_type.c +++ b/keyboards/input_club/k_type/k_type.c @@ -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), * 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_flags(LED_FLAG_ALL); diff --git a/keyboards/input_club/whitefox/whitefox.c b/keyboards/input_club/whitefox/whitefox.c index 4aa12586f3..b0f0f03776 100644 --- a/keyboards/input_club/whitefox/whitefox.c +++ b/keyboards/input_club/whitefox/whitefox.c @@ -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), * 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_flags(LED_FLAG_ALL); #endif diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json index 165db96293..284461c2a7 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json @@ -5,7 +5,8 @@ "device_version": "0.0.3" }, "rgb_matrix": { - "driver": "is31fl3741" + "driver": "is31fl3741", + "val_steps": 8 }, "matrix_pins": { "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c index 4329893ac1..c0f892980e 100755 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c @@ -125,16 +125,12 @@ led_config_t g_led_config = { { #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 -#else - #define CAPS_LOCK_MAX_BRIGHTNESS 0xFF #endif -#ifdef RGB_MATRIX_VAL_STEP +#if !defined(CAPS_LOCK_VAL_STEP) #define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP -#else - #define CAPS_LOCK_VAL_STEP 8 #endif bool rgb_matrix_indicators_kb(void) { diff --git a/keyboards/teleport/native/ansi/keymaps/default/keymap.c b/keyboards/teleport/native/ansi/keymaps/default/keymap.c index fcea5c41f3..2780fdda7d 100644 --- a/keyboards/teleport/native/ansi/keymaps/default/keymap.c +++ b/keyboards/teleport/native/ansi/keymaps/default/keymap.c @@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* RGB matrix indicator code 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 */ 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); /* 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 */ 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_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); diff --git a/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c b/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c index 1a7852a062..ab598dd5e6 100644 --- a/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c +++ b/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c @@ -144,13 +144,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* RGB matrix indicator code 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 */ bool rgb_matrix_indicators_user(void) { /* Layer 2 (perf mode on this keymap) is not supposed to have LED refreshes, hence excluded */ 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); /* 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 */ 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_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); diff --git a/keyboards/teleport/native/ansi/keymaps/via/keymap.c b/keyboards/teleport/native/ansi/keymaps/via/keymap.c index e1fbd285ec..95a5bc58b1 100644 --- a/keyboards/teleport/native/ansi/keymaps/via/keymap.c +++ b/keyboards/teleport/native/ansi/keymaps/via/keymap.c @@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* RGB matrix indicator code 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 */ 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); /* 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 */ 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_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); diff --git a/keyboards/teleport/native/config.h b/keyboards/teleport/native/config.h index ed858db0c7..c607aa0afe 100644 --- a/keyboards/teleport/native/config.h +++ b/keyboards/teleport/native/config.h @@ -61,13 +61,6 @@ along with this program. If not, see . #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 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 W_LED_INDEX 33 #define A_LED_INDEX 47 diff --git a/keyboards/teleport/native/iso/keymaps/default/keymap.c b/keyboards/teleport/native/iso/keymaps/default/keymap.c index c1ed3cd4f4..b6f2e7ab82 100644 --- a/keyboards/teleport/native/iso/keymaps/default/keymap.c +++ b/keyboards/teleport/native/iso/keymaps/default/keymap.c @@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* RGB matrix indicator code 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 */ 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); /* 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 */ 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_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); diff --git a/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c b/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c index 3be8eec3dd..f95391358a 100644 --- a/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c +++ b/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c @@ -144,13 +144,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* RGB matrix indicator code 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 */ bool rgb_matrix_indicators_user(void) { /* Layer 2 (perf mode on this keymap) is not supposed to have LED refreshes, hence excluded */ 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); /* 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 */ 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_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); diff --git a/keyboards/teleport/native/iso/keymaps/via/keymap.c b/keyboards/teleport/native/iso/keymaps/via/keymap.c index c1ed3cd4f4..b6f2e7ab82 100644 --- a/keyboards/teleport/native/iso/keymaps/via/keymap.c +++ b/keyboards/teleport/native/iso/keymaps/via/keymap.c @@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* RGB matrix indicator code 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 */ 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); /* 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 */ 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_matrix_set_color(W_LED_INDEX, rgb_ind.r, rgb_ind.g, rgb_ind.b); diff --git a/keyboards/zykrah/fuyu/keymaps/via/keymap.c b/keyboards/zykrah/fuyu/keymaps/via/keymap.c index 1ad867731e..95eb2692cb 100644 --- a/keyboards/zykrah/fuyu/keymaps/via/keymap.c +++ b/keyboards/zykrah/fuyu/keymaps/via/keymap.c @@ -73,15 +73,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Code for Caps Locks indicator #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) -#define CAPS_LOCK_MAX_BRIGHTNESS 0xFF -#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS - #undef CAPS_LOCK_MAX_BRIGHTNESS +#if !defined(CAPS_LOCK_MAX_BRIGHTNESS) #define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS #endif -#define CAPS_LOCK_VAL_STEP 8 -#ifdef RGB_MATRIX_VAL_STEP - #undef CAPS_LOCK_VAL_STEP +#if !defined(CAPS_LOCK_VAL_STEP) #define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP #endif diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index 1676a60aa3..a59d475521 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -58,35 +58,6 @@ const led_point_t k_led_matrix_center = LED_MATRIX_CENTER; // -----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 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; @@ -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) { led_matrix_eeconfig.flags = flags; 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) { diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index cdc90097bb..771afc47ec 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -43,6 +43,34 @@ # include "ckled2001-simple.h" #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 # define LED_MATRIX_LED_FLUSH_LIMIT 16 #endif diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 96be615162..ff3e5b2b35 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -60,56 +60,6 @@ __attribute__((weak)) RGB rgb_matrix_hsv_to_rgb(HSV hsv) { // -----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 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; @@ -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) { rgb_matrix_config.flags = flags; 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) { diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index e4807ee54a..025a1f4700 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -46,6 +46,55 @@ # include "ws2812.h" #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 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 #endif diff --git a/quantum/via.c b/quantum/via.c index 2acd7aa90c..643d7aa3c3 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -634,11 +634,6 @@ void via_qmk_rgblight_save(void) { #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) { // data = [ command_id, channel_id, value_id, value_data ] 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_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) { // data = [ command_id, channel_id, value_id, value_data ] uint8_t *command_id = &(data[0]);