From 9632360caa5e6511b0ec13cb4c55eb64408232b5 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 30 Aug 2022 03:20:04 -0500 Subject: Use a macro to compute the size of arrays at compile time (#18044) * Add ARRAY_SIZE and CEILING utility macros * Apply a coccinelle patch to use ARRAY_SIZE * fix up some straggling items * Fix 'make test:secure' * Enhance ARRAY_SIZE macro to reject acting on pointers The previous definition would not produce a diagnostic for ``` int *p; size_t num_elem = ARRAY_SIZE(p) ``` but the new one will. * explicitly get definition of ARRAY_SIZE * Convert to ARRAY_SIZE when const is involved The following spatch finds additional instances where the array is const and the division is by the size of the type, not the size of the first element: ``` @ rule5a using "empty.iso" @ type T; const T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) @ rule6a using "empty.iso" @ type T; const T[] E; @@ - sizeof(E)/sizeof(T) + ARRAY_SIZE(E) ``` * New instances of ARRAY_SIZE added since initial spatch run * Use `ARRAY_SIZE` in docs (found by grep) * Manually use ARRAY_SIZE hs_set is expected to be the same size as uint16_t, though it's made of two 8-bit integers * Just like char, sizeof(uint8_t) is guaranteed to be 1 This is at least true on any plausible system where qmk is actually used. Per my understanding it's universally true, assuming that uint8_t exists: https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1 * Run qmk-format on core C files touched in this branch Co-authored-by: Stefan Kerkmann --- keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/mwstudio/mw65_rgb') diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h index c8b8015363..eea031698a 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h @@ -116,7 +116,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { {{205, 250, 255}, {140, 215, 125}, false }, }; - uint8_t gp_length = sizeof(gradient_presets)/sizeof(gradient_presets[0]); + uint8_t gp_length = ARRAY_SIZE(gradient_presets); switch (keycode) { case G1_HUI: -- cgit v1.2.3 From 36c410592dbd35da33ccc5fd6d2a5cbf4b25a708 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 23 Sep 2022 22:46:23 +1000 Subject: Change `DRIVER_LED_COUNT` to `{LED,RGB}_MATRIX_LED_COUNT` (#18399) --- keyboards/mwstudio/mw65_rgb/config.h | 2 +- .../mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c | 2 +- .../led/rainbow_reactive_simple/rainbow_reactive_simple.h | 2 +- .../mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'keyboards/mwstudio/mw65_rgb') diff --git a/keyboards/mwstudio/mw65_rgb/config.h b/keyboards/mwstudio/mw65_rgb/config.h index 2fd67e9e79..1da7c25390 100644 --- a/keyboards/mwstudio/mw65_rgb/config.h +++ b/keyboards/mwstudio/mw65_rgb/config.h @@ -43,7 +43,7 @@ #define RGB_DI_PIN B3 #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 83 + #define RGB_MATRIX_LED_COUNT 83 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c index 49e4a242fb..0d7acd7e8b 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c @@ -70,5 +70,5 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h index 56b204e0a9..986cbfeb9d 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h @@ -41,5 +41,5 @@ bool effect_rainbow_reactive(effect_params_t* params, rainbow_reactive_f effect_ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c index 041417477b..29c447c61a 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -static uint8_t offset[DRIVER_LED_TOTAL]; +static uint8_t offset[RGB_MATRIX_LED_COUNT]; static void doRandom_breath_rainbow(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; @@ -41,7 +41,7 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 - doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params); + doRandom_breath_rainbow(rand() % RGB_MATRIX_LED_COUNT, params); return false; } @@ -51,5 +51,5 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { doRandom_breath_rainbow(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } -- cgit v1.2.3 From 64b1ed45507a15d5594b1f90b936c2096918f5a4 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 4 Oct 2022 15:24:22 -0700 Subject: Fix Per Key LED Indicator Callbacks (#18450) Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> Co-authored-by: Nick Brassel --- keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h | 5 +++-- keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c | 3 ++- keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) (limited to 'keyboards/mwstudio/mw65_rgb') diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h index eea031698a..7fadbdc39c 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h @@ -75,7 +75,7 @@ enum layer_keycodes { G_PRE, //Gradient presets REF_G, //Toggle between linear and reflected gradient G_FLIP, //Flip the gradient colors - + //Custom led effect keycode RGB_C_E, //Cycle user effect }; @@ -286,7 +286,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { switch (biton32(layer_state)) { case _FN: rgb_matrix_set_color(16, 0, 0, 0); rgb_matrix_set_color(17, 0, 0, 0); rgb_matrix_set_color(18, 0, 0, 0); rgb_matrix_set_color(21, 0, 0, 0); @@ -332,4 +332,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(52, 0, 0, 0); } } + return false; } diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c index 216ae1e09f..f4625bf7a7 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c @@ -181,7 +181,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -198,4 +198,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(52, 0, 0, 0); } } + return false; } diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c index ddcd3f6642..4204b7acd8 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c @@ -104,7 +104,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (user_config.top_rgb_change) { @@ -125,4 +125,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(i, 0, 0, 0); } } + return false; } -- cgit v1.2.3 From e12ca14af8fc1799357bbfffd156d53b4a51001c Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 27 Nov 2022 04:18:24 +1100 Subject: Change `RGB_MATRIX_STARTUP_*` defines to `RGB_MATRIX_DEFAULT_*` (#19079) --- keyboards/mwstudio/mw65_rgb/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/mwstudio/mw65_rgb') diff --git a/keyboards/mwstudio/mw65_rgb/config.h b/keyboards/mwstudio/mw65_rgb/config.h index 1da7c25390..e5c5e62e11 100644 --- a/keyboards/mwstudio/mw65_rgb/config.h +++ b/keyboards/mwstudio/mw65_rgb/config.h @@ -45,7 +45,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 83 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 - #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS + #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES /* RGB Matrix effect */ -- cgit v1.2.3