summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/feature_rgblight.md6
-rw-r--r--drivers/led/apa102.c8
-rw-r--r--drivers/led/apa102.h2
-rw-r--r--drivers/ws2812.h2
-rw-r--r--keyboards/1k/keymaps/default/rgblite.h2
-rw-r--r--keyboards/1k/keymaps/media/rgblite.h2
-rw-r--r--keyboards/1upkeyboards/super16/keymaps/15game/keymap.c2
-rw-r--r--keyboards/25keys/zinc/keymaps/ginjake/keymap.c8
-rw-r--r--keyboards/clueboard/66/keymaps/magicmonty/keymap.c6
-rw-r--r--keyboards/dp60/keymaps/indicator/indicator.c4
-rw-r--r--keyboards/dp60/keymaps/indicator/led_driver.c2
-rw-r--r--keyboards/ergodox_ez/led_i2c.c2
-rw-r--r--keyboards/handwired/lovelive9/keymaps/default/keymap.c20
-rw-r--r--keyboards/handwired/promethium/rgbsps.c2
-rw-r--r--keyboards/hineybush/hbcp/hbcp.c14
-rw-r--r--keyboards/hineybush/hbcp/keymaps/hiney/keymap.c12
-rw-r--r--keyboards/ibm/model_m/mschwingen/mschwingen.c22
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c2
-rw-r--r--keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c4
-rw-r--r--keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c4
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev2/rev2.c2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c2
-rw-r--r--keyboards/manyboard/macro/keymaps/default/keymap.c6
-rw-r--r--keyboards/manyboard/macro/keymaps/via/keymap.c6
-rw-r--r--keyboards/matrix/abelx/abelx.c2
-rw-r--r--keyboards/matrix/m20add/rgb_ring.c2
-rw-r--r--keyboards/matrix/noah/noah.c2
-rw-r--r--keyboards/mxss/mxss_frontled.c2
-rw-r--r--keyboards/mxss/rgblight.c46
-rw-r--r--keyboards/neson_design/700e/700e.c8
-rw-r--r--keyboards/neson_design/n6/n6.c4
-rw-r--r--keyboards/neson_design/nico/nico.c4
-rw-r--r--keyboards/oddforge/vea/ws2812_custom.c6
-rw-r--r--keyboards/rgbkb/pan/pan.c2
-rwxr-xr-xkeyboards/tetris/keymaps/default/keymap.c34
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c28
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c8
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c20
-rw-r--r--keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c2
-rw-r--r--keyboards/wilba_tech/wt_rgb_backlight.c2
-rw-r--r--keyboards/work_louder/rgb_functions.c2
-rw-r--r--keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c2
-rw-r--r--keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h2
-rw-r--r--keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h2
-rw-r--r--keyboards/xiudi/xd75/keymaps/odyssey/keymap.c8
-rw-r--r--keyboards/zykrah/fuyu/keymaps/via/keymap.c2
-rw-r--r--platforms/avr/drivers/ws2812_bitbang.c4
-rw-r--r--platforms/avr/drivers/ws2812_i2c.c4
-rw-r--r--platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c2
-rw-r--r--platforms/chibios/drivers/ws2812_bitbang.c2
-rw-r--r--platforms/chibios/drivers/ws2812_pwm.c2
-rw-r--r--platforms/chibios/drivers/ws2812_spi.c4
-rw-r--r--quantum/color.c2
-rw-r--r--quantum/color.h37
-rw-r--r--quantum/rgb_matrix/rgb_matrix_drivers.c4
-rw-r--r--quantum/rgblight/rgblight.c50
-rw-r--r--quantum/rgblight/rgblight.h8
-rw-r--r--users/curry/rgb_lighting_user.c2
-rw-r--r--users/xtonhasvim/fancylighting.c4
-rw-r--r--users/xtonhasvim/fancylighting.h2
-rw-r--r--users/zer09/lights.h2
63 files changed, 222 insertions, 243 deletions
diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md
index 39b7e6a6f1..2bdfe6a7cf 100644
--- a/docs/feature_rgblight.md
+++ b/docs/feature_rgblight.md
@@ -370,9 +370,9 @@ If you need to change your RGB lighting in code, for example in a macro to chang
370 370
371Example: 371Example:
372```c 372```c
373sethsv(HSV_WHITE, (LED_TYPE *)&led[0]); // led 0 373sethsv(HSV_WHITE, (rgb_led_t *)&led[0]); // led 0
374sethsv(HSV_RED, (LED_TYPE *)&led[1]); // led 1 374sethsv(HSV_RED, (rgb_led_t *)&led[1]); // led 1
375sethsv(HSV_GREEN, (LED_TYPE *)&led[2]); // led 2 375sethsv(HSV_GREEN, (rgb_led_t *)&led[2]); // led 2
376rgblight_set(); // Utility functions do not call rgblight_set() automatically, so they need to be called explicitly. 376rgblight_set(); // Utility functions do not call rgblight_set() automatically, so they need to be called explicitly.
377``` 377```
378 378
diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c
index 766d8cd2eb..87db19523c 100644
--- a/drivers/led/apa102.c
+++ b/drivers/led/apa102.c
@@ -61,18 +61,18 @@ void static apa102_end_frame(uint16_t num_leds);
61void static apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness); 61void static apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness);
62void static apa102_send_byte(uint8_t byte); 62void static apa102_send_byte(uint8_t byte);
63 63
64void apa102_setleds(LED_TYPE *start_led, uint16_t num_leds) { 64void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds) {
65 LED_TYPE *end = start_led + num_leds; 65 rgb_led_t *end = start_led + num_leds;
66 66
67 apa102_start_frame(); 67 apa102_start_frame();
68 for (LED_TYPE *led = start_led; led < end; led++) { 68 for (rgb_led_t *led = start_led; led < end; led++) {
69 apa102_send_frame(led->r, led->g, led->b, apa102_led_brightness); 69 apa102_send_frame(led->r, led->g, led->b, apa102_led_brightness);
70 } 70 }
71 apa102_end_frame(num_leds); 71 apa102_end_frame(num_leds);
72} 72}
73 73
74// Overwrite the default rgblight_call_driver to use apa102 driver 74// Overwrite the default rgblight_call_driver to use apa102 driver
75void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { 75void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) {
76 apa102_setleds(start_led, num_leds); 76 apa102_setleds(start_led, num_leds);
77} 77}
78 78
diff --git a/drivers/led/apa102.h b/drivers/led/apa102.h
index 58cf020c1e..cd0a19d445 100644
--- a/drivers/led/apa102.h
+++ b/drivers/led/apa102.h
@@ -37,5 +37,5 @@ extern uint8_t apa102_led_brightness;
37 * - Set the data-out pin as output 37 * - Set the data-out pin as output
38 * - Send out the LED data 38 * - Send out the LED data
39 */ 39 */
40void apa102_setleds(LED_TYPE *start_led, uint16_t num_leds); 40void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds);
41void apa102_set_brightness(uint8_t brightness); 41void apa102_set_brightness(uint8_t brightness);
diff --git a/drivers/ws2812.h b/drivers/ws2812.h
index 8750b0110e..1527df23d3 100644
--- a/drivers/ws2812.h
+++ b/drivers/ws2812.h
@@ -73,4 +73,4 @@
73 * - Send out the LED data 73 * - Send out the LED data
74 * - Wait 50us to reset the LEDs 74 * - Wait 50us to reset the LEDs
75 */ 75 */
76void ws2812_setleds(LED_TYPE *ledarray, uint16_t number_of_leds); 76void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds);
diff --git a/keyboards/1k/keymaps/default/rgblite.h b/keyboards/1k/keymaps/default/rgblite.h
index e64f49ee0a..29d684ac08 100644
--- a/keyboards/1k/keymaps/default/rgblite.h
+++ b/keyboards/1k/keymaps/default/rgblite.h
@@ -7,7 +7,7 @@
7#include "color.h" 7#include "color.h"
8 8
9static inline void rgblite_setrgb(RGB rgb) { 9static inline void rgblite_setrgb(RGB rgb) {
10 LED_TYPE leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; 10 rgb_led_t leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}};
11 ws2812_setleds(leds, RGBLED_NUM); 11 ws2812_setleds(leds, RGBLED_NUM);
12} 12}
13 13
diff --git a/keyboards/1k/keymaps/media/rgblite.h b/keyboards/1k/keymaps/media/rgblite.h
index e64f49ee0a..29d684ac08 100644
--- a/keyboards/1k/keymaps/media/rgblite.h
+++ b/keyboards/1k/keymaps/media/rgblite.h
@@ -7,7 +7,7 @@
7#include "color.h" 7#include "color.h"
8 8
9static inline void rgblite_setrgb(RGB rgb) { 9static inline void rgblite_setrgb(RGB rgb) {
10 LED_TYPE leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; 10 rgb_led_t leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}};
11 ws2812_setleds(leds, RGBLED_NUM); 11 ws2812_setleds(leds, RGBLED_NUM);
12} 12}
13 13
diff --git a/keyboards/1upkeyboards/super16/keymaps/15game/keymap.c b/keyboards/1upkeyboards/super16/keymaps/15game/keymap.c
index 5988a7cf0e..e92a9fc10d 100644
--- a/keyboards/1upkeyboards/super16/keymaps/15game/keymap.c
+++ b/keyboards/1upkeyboards/super16/keymaps/15game/keymap.c
@@ -85,7 +85,7 @@ uint8_t remap[16] = {
85void refresh_leds(void) { 85void refresh_leds(void) {
86 for (uint8_t index = 0; index < 16; ++index) { 86 for (uint8_t index = 0; index < 16; ++index) {
87 uint8_t tile = tiles[index]; 87 uint8_t tile = tiles[index];
88 setrgb(r[tile], g[tile], b[tile], (LED_TYPE *)&led[remap[index]]); 88 setrgb(r[tile], g[tile], b[tile], (rgb_led_t *)&led[remap[index]]);
89 } 89 }
90 rgblight_set(); 90 rgblight_set();
91} 91}
diff --git a/keyboards/25keys/zinc/keymaps/ginjake/keymap.c b/keyboards/25keys/zinc/keymaps/ginjake/keymap.c
index b7d0e5c93a..5cadafb4be 100644
--- a/keyboards/25keys/zinc/keymaps/ginjake/keymap.c
+++ b/keyboards/25keys/zinc/keymaps/ginjake/keymap.c
@@ -341,10 +341,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
341 //キー毎に時間差で色が変化していく 341 //キー毎に時間差で色が変化していく
342 if (aqours_next_color_timer_count % NEXT_CHANGE_TARGET_TIME == 0) { 342 if (aqours_next_color_timer_count % NEXT_CHANGE_TARGET_TIME == 0) {
343 if (target_col < MATRIX_COLS) { 343 if (target_col < MATRIX_COLS) {
344 sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (LED_TYPE *)&led[target_col]); 344 sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (rgb_led_t *)&led[target_col]);
345 sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (LED_TYPE *)&led[11 - target_col]); 345 sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (rgb_led_t *)&led[11 - target_col]);
346 sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (LED_TYPE *)&led[12 + target_col]); 346 sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (rgb_led_t *)&led[12 + target_col]);
347 sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (LED_TYPE *)&led[23 - target_col]); 347 sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (rgb_led_t *)&led[23 - target_col]);
348 target_col++; 348 target_col++;
349 rgblight_set(); 349 rgblight_set();
350 } 350 }
diff --git a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
index 238147537d..2a0cf1509f 100644
--- a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
+++ b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
@@ -172,7 +172,7 @@ void clueboard_set_midi_led(uint8_t base_oct, uint8_t val)
172 uint8_t sat = 255; 172 uint8_t sat = 255;
173 173
174 for (uint8_t i = 0; i < RGBLED_NUM; i++) { 174 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
175 sethsv(oct_hues[base_oct], sat, val, (LED_TYPE *)&led[i]); 175 sethsv(oct_hues[base_oct], sat, val, (rgb_led_t *)&led[i]);
176 } 176 }
177 177
178 uint8_t next_oct = base_oct < MAX_OCT ? base_oct + 1 : base_oct; 178 uint8_t next_oct = base_oct < MAX_OCT ? base_oct + 1 : base_oct;
@@ -183,11 +183,11 @@ void clueboard_set_midi_led(uint8_t base_oct, uint8_t val)
183 183
184 184
185 for (uint8_t i = 0; i < 3; i++) { 185 for (uint8_t i = 0; i < 3; i++) {
186 sethsv(next_hue, next_sat, next_val, (LED_TYPE *)&led[i]); 186 sethsv(next_hue, next_sat, next_val, (rgb_led_t *)&led[i]);
187 } 187 }
188 188
189 for (uint8_t i = 11; i < 14; i++) { 189 for (uint8_t i = 11; i < 14; i++) {
190 sethsv(next_hue, next_sat, next_val, (LED_TYPE *)&led[i]); 190 sethsv(next_hue, next_sat, next_val, (rgb_led_t *)&led[i]);
191 } 191 }
192 192
193 rgblight_set(); 193 rgblight_set();
diff --git a/keyboards/dp60/keymaps/indicator/indicator.c b/keyboards/dp60/keymaps/indicator/indicator.c
index 683ae3625a..02450ce68d 100644
--- a/keyboards/dp60/keymaps/indicator/indicator.c
+++ b/keyboards/dp60/keymaps/indicator/indicator.c
@@ -70,9 +70,9 @@ void keyboard_post_init_user(void) {
70 70
71extern rgblight_config_t rgblight_config; 71extern rgblight_config_t rgblight_config;
72extern void rgblight_layers_write(void); 72extern void rgblight_layers_write(void);
73extern void indicator_write(LED_TYPE *start_led, uint8_t num_leds); 73extern void indicator_write(rgb_led_t *start_led, uint8_t num_leds);
74 74
75void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) 75void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
76{ 76{
77 ws2812_setleds(start_led, RGBLED_NUM-RGB_INDICATOR_NUM); 77 ws2812_setleds(start_led, RGBLED_NUM-RGB_INDICATOR_NUM);
78 78
diff --git a/keyboards/dp60/keymaps/indicator/led_driver.c b/keyboards/dp60/keymaps/indicator/led_driver.c
index 677eb8af57..b31e2daacd 100644
--- a/keyboards/dp60/keymaps/indicator/led_driver.c
+++ b/keyboards/dp60/keymaps/indicator/led_driver.c
@@ -20,7 +20,7 @@
20#define ws2812_setleds_pin indicator_setleds_pin 20#define ws2812_setleds_pin indicator_setleds_pin
21#include "ws2812_bitbang.c" 21#include "ws2812_bitbang.c"
22 22
23void indicator_write(LED_TYPE *start_led, uint8_t num_leds) 23void indicator_write(rgb_led_t *start_led, uint8_t num_leds)
24{ 24{
25 indicator_setleds(start_led, num_leds); 25 indicator_setleds(start_led, num_leds);
26} 26}
diff --git a/keyboards/ergodox_ez/led_i2c.c b/keyboards/ergodox_ez/led_i2c.c
index fe40ab797e..23ef91b74f 100644
--- a/keyboards/ergodox_ez/led_i2c.c
+++ b/keyboards/ergodox_ez/led_i2c.c
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22 22
23# include "ergodox_ez.h" 23# include "ergodox_ez.h"
24 24
25void rgblight_call_driver(LED_TYPE *led, uint8_t led_num) { 25void rgblight_call_driver(rgb_led_t *led, uint8_t led_num) {
26 i2c_init(); 26 i2c_init();
27 i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT); 27 i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT);
28 int i = 0; 28 int i = 0;
diff --git a/keyboards/handwired/lovelive9/keymaps/default/keymap.c b/keyboards/handwired/lovelive9/keymaps/default/keymap.c
index 605f722f44..6d863449fe 100644
--- a/keyboards/handwired/lovelive9/keymaps/default/keymap.c
+++ b/keyboards/handwired/lovelive9/keymaps/default/keymap.c
@@ -154,15 +154,15 @@ int aqours_color_v[] = {255, 255, 255, 255, 255, 255, 200, 255, 255};
154 154
155void LED_default_set(void) { 155void LED_default_set(void) {
156 156
157 sethsv(aqours_color_h[2], aqours_color_s[2], aqours_color_v[2], (LED_TYPE *)&led[0]); 157 sethsv(aqours_color_h[2], aqours_color_s[2], aqours_color_v[2], (rgb_led_t *)&led[0]);
158 sethsv(aqours_color_h[7], aqours_color_s[7], aqours_color_v[7], (LED_TYPE *)&led[1]); 158 sethsv(aqours_color_h[7], aqours_color_s[7], aqours_color_v[7], (rgb_led_t *)&led[1]);
159 sethsv(aqours_color_h[1], aqours_color_s[1], aqours_color_v[1], (LED_TYPE *)&led[2]); 159 sethsv(aqours_color_h[1], aqours_color_s[1], aqours_color_v[1], (rgb_led_t *)&led[2]);
160 sethsv(aqours_color_h[5], aqours_color_s[5], aqours_color_v[5], (LED_TYPE *)&led[3]); 160 sethsv(aqours_color_h[5], aqours_color_s[5], aqours_color_v[5], (rgb_led_t *)&led[3]);
161 sethsv(aqours_color_h[8], aqours_color_s[8], aqours_color_v[8], (LED_TYPE *)&led[4]); 161 sethsv(aqours_color_h[8], aqours_color_s[8], aqours_color_v[8], (rgb_led_t *)&led[4]);
162 sethsv(aqours_color_h[6], aqours_color_s[6], aqours_color_v[6], (LED_TYPE *)&led[5]); 162 sethsv(aqours_color_h[6], aqours_color_s[6], aqours_color_v[6], (rgb_led_t *)&led[5]);
163 sethsv(aqours_color_h[0], aqours_color_s[0], aqours_color_v[0], (LED_TYPE *)&led[6]); 163 sethsv(aqours_color_h[0], aqours_color_s[0], aqours_color_v[0], (rgb_led_t *)&led[6]);
164 sethsv(aqours_color_h[4], aqours_color_s[4], aqours_color_v[4], (LED_TYPE *)&led[7]); 164 sethsv(aqours_color_h[4], aqours_color_s[4], aqours_color_v[4], (rgb_led_t *)&led[7]);
165 sethsv(aqours_color_h[3], aqours_color_s[3], aqours_color_v[3], (LED_TYPE *)&led[8]); 165 sethsv(aqours_color_h[3], aqours_color_s[3], aqours_color_v[3], (rgb_led_t *)&led[8]);
166 166
167 rgblight_set(); 167 rgblight_set();
168 168
@@ -171,7 +171,7 @@ void LED_default_set(void) {
171 171
172void LED_layer_set(int aqours_index) { 172void LED_layer_set(int aqours_index) {
173 for (int c = 0; c < 9; c++) { 173 for (int c = 0; c < 9; c++) {
174 sethsv(aqours_color_h[aqours_index], aqours_color_s[aqours_index], aqours_color_v[aqours_index], (LED_TYPE *)&led[c]); 174 sethsv(aqours_color_h[aqours_index], aqours_color_s[aqours_index], aqours_color_v[aqours_index], (rgb_led_t *)&led[c]);
175 } 175 }
176 rgblight_set(); 176 rgblight_set();
177} 177}
diff --git a/keyboards/handwired/promethium/rgbsps.c b/keyboards/handwired/promethium/rgbsps.c
index f439876911..957726e775 100644
--- a/keyboards/handwired/promethium/rgbsps.c
+++ b/keyboards/handwired/promethium/rgbsps.c
@@ -1,7 +1,7 @@
1#include "ws2812.h" 1#include "ws2812.h"
2#include "rgbsps.h" 2#include "rgbsps.h"
3 3
4cRGB led[RGBSPS_NUM]; 4rgb_led_t led[RGBSPS_NUM];
5 5
6void rgbsps_set(uint8_t index, uint8_t r, uint8_t g, uint8_t b) { 6void rgbsps_set(uint8_t index, uint8_t r, uint8_t g, uint8_t b) {
7 led[index].r = r; 7 led[index].r = r;
diff --git a/keyboards/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c
index 7d0f5ecf73..df17650f27 100644
--- a/keyboards/hineybush/hbcp/hbcp.c
+++ b/keyboards/hineybush/hbcp/hbcp.c
@@ -49,19 +49,19 @@ bool led_update_kb(led_t led_state) {
49 bool res = led_update_user(led_state); 49 bool res = led_update_user(led_state);
50 if (res) { 50 if (res) {
51 if (led_state.caps_lock) { 51 if (led_state.caps_lock) {
52 sethsv_raw(HSV_CAPS, (LED_TYPE *)&led[0]); 52 sethsv_raw(HSV_CAPS, (rgb_led_t *)&led[0]);
53 } else { 53 } else {
54 sethsv(HSV_BLACK, (LED_TYPE *)&led[0]); 54 sethsv(HSV_BLACK, (rgb_led_t *)&led[0]);
55 } 55 }
56 if (led_state.num_lock) { 56 if (led_state.num_lock) {
57 sethsv_raw(HSV_NLCK, (LED_TYPE *)&led[1]); 57 sethsv_raw(HSV_NLCK, (rgb_led_t *)&led[1]);
58 } else { 58 } else {
59 sethsv(HSV_BLACK, (LED_TYPE *)&led[1]); 59 sethsv(HSV_BLACK, (rgb_led_t *)&led[1]);
60 } 60 }
61 if (led_state.scroll_lock) { 61 if (led_state.scroll_lock) {
62 sethsv_raw(HSV_SCRL, (LED_TYPE *)&led[2]); 62 sethsv_raw(HSV_SCRL, (rgb_led_t *)&led[2]);
63 } else { 63 } else {
64 sethsv(HSV_BLACK, (LED_TYPE *)&led[2]); 64 sethsv(HSV_BLACK, (rgb_led_t *)&led[2]);
65 } 65 }
66 rgblight_set(); 66 rgblight_set();
67 } 67 }
@@ -83,7 +83,7 @@ void keyboard_post_init_user(void) {
83 83
84__attribute__ ((weak)) 84__attribute__ ((weak))
85void hbcp_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, uint8_t end) { 85void hbcp_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, uint8_t end) {
86 LED_TYPE tmp_led; 86 rgb_led_t tmp_led;
87 sethsv_raw(hue, sat, val, &tmp_led); 87 sethsv_raw(hue, sat, val, &tmp_led);
88 for (uint8_t i = start; i < end; i++) { 88 for (uint8_t i = start; i < end; i++) {
89 led[i] = tmp_led; 89 led[i] = tmp_led;
diff --git a/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c b/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c
index 26a67fe7ca..2311d4020f 100644
--- a/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c
+++ b/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c
@@ -79,19 +79,19 @@ void matrix_scan_user(void) {
79// The first three LEDs are used as indicators for CAPS_LOCK, NUM_LOCK and SCROLL_LOCK. 79// The first three LEDs are used as indicators for CAPS_LOCK, NUM_LOCK and SCROLL_LOCK.
80bool led_update_user(led_t led_state) { 80bool led_update_user(led_t led_state) {
81 if (led_state.caps_lock) { 81 if (led_state.caps_lock) {
82 sethsv_raw(HSV_SOFT_RED, (LED_TYPE *)&led[0]); 82 sethsv_raw(HSV_SOFT_RED, (rgb_led_t *)&led[0]);
83 } else { 83 } else {
84 sethsv(HSV_BLACK, (LED_TYPE *)&led[0]); 84 sethsv(HSV_BLACK, (rgb_led_t *)&led[0]);
85 } 85 }
86 if (led_state.num_lock) { 86 if (led_state.num_lock) {
87 sethsv_raw(HSV_WARM_WHITE, (LED_TYPE *)&led[1]); 87 sethsv_raw(HSV_WARM_WHITE, (rgb_led_t *)&led[1]);
88 } else { 88 } else {
89 sethsv(HSV_BLACK, (LED_TYPE *)&led[1]); 89 sethsv(HSV_BLACK, (rgb_led_t *)&led[1]);
90 } 90 }
91 if (led_state.scroll_lock) { 91 if (led_state.scroll_lock) {
92 sethsv_raw(HSV_SOFT_BLUE, (LED_TYPE *)&led[2]); 92 sethsv_raw(HSV_SOFT_BLUE, (rgb_led_t *)&led[2]);
93 } else { 93 } else {
94 sethsv(HSV_BLACK, (LED_TYPE *)&led[2]); 94 sethsv(HSV_BLACK, (rgb_led_t *)&led[2]);
95 } 95 }
96 rgblight_set(); 96 rgblight_set();
97 return false; 97 return false;
diff --git a/keyboards/ibm/model_m/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c
index b764660e21..8e3810cd23 100644
--- a/keyboards/ibm/model_m/mschwingen/mschwingen.c
+++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c
@@ -39,26 +39,26 @@ static uint8_t isRecording = 0;
39# if RGBLED_NUM < 3 39# if RGBLED_NUM < 3
40# error we need at least 3 RGB LEDs! 40# error we need at least 3 RGB LEDs!
41# endif 41# endif
42static cRGB led[RGBLED_NUM] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}}; 42static rgb_led_t led[RGBLED_NUM] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}};
43 43
44# define BRIGHT 32 44# define BRIGHT 32
45# define DIM 6 45# define DIM 6
46 46
47static const cRGB black = {.r = 0, .g = 0, .b = 0}; 47static const rgb_led_t black = {.r = 0, .g = 0, .b = 0};
48 48
49static const __attribute__((unused)) cRGB green = {.r = 0, .g = BRIGHT, .b = 0}; 49static const __attribute__((unused)) rgb_led_t green = {.r = 0, .g = BRIGHT, .b = 0};
50static const __attribute__((unused)) cRGB lgreen = {.r = 0, .g = DIM, .b = 0}; 50static const __attribute__((unused)) rgb_led_t lgreen = {.r = 0, .g = DIM, .b = 0};
51 51
52static const __attribute__((unused)) cRGB red = {.r = BRIGHT, .g = 0, .b = 0}; 52static const __attribute__((unused)) rgb_led_t red = {.r = BRIGHT, .g = 0, .b = 0};
53static const __attribute__((unused)) cRGB lred = {.r = DIM, .g = 0, .b = 0}; 53static const __attribute__((unused)) rgb_led_t lred = {.r = DIM, .g = 0, .b = 0};
54 54
55static const __attribute__((unused)) cRGB blue = {.r = 0, .g = 0, .b = BRIGHT}; 55static const __attribute__((unused)) rgb_led_t blue = {.r = 0, .g = 0, .b = BRIGHT};
56static const __attribute__((unused)) cRGB lblue = {.r = 0, .g = 0, .b = DIM}; 56static const __attribute__((unused)) rgb_led_t lblue = {.r = 0, .g = 0, .b = DIM};
57 57
58static const __attribute__((unused)) cRGB turq = {.r = 0, .g = BRIGHT, .b = BRIGHT}; 58static const __attribute__((unused)) rgb_led_t turq = {.r = 0, .g = BRIGHT, .b = BRIGHT};
59static const __attribute__((unused)) cRGB lturq = {.r = 0, .g = DIM, .b = DIM}; 59static const __attribute__((unused)) rgb_led_t lturq = {.r = 0, .g = DIM, .b = DIM};
60 60
61static const __attribute__((unused)) cRGB white = {.r = BRIGHT, .g = BRIGHT, .b = BRIGHT}; 61static const __attribute__((unused)) rgb_led_t white = {.r = BRIGHT, .g = BRIGHT, .b = BRIGHT};
62 62
63static led_t led_state; 63static led_t led_state;
64static uint8_t layer; 64static uint8_t layer;
diff --git a/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c
index 78fdb0713c..5a50c1556d 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
162 162
163/** Set just 4 LEDs closest to the user. Slightly less annoying to bystanders.*/ 163/** Set just 4 LEDs closest to the user. Slightly less annoying to bystanders.*/
164void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb) { 164void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb) {
165 LED_TYPE *target_led = user_rgb_mode ? shadowed_led : led; 165 rgb_led_t *target_led = user_rgb_mode ? shadowed_led : led;
166 for (int i = 0; i < RGBLED_NUM; i++) { 166 for (int i = 0; i < RGBLED_NUM; i++) {
167 switch (i) { 167 switch (i) {
168 case 12: case 13: 168 case 12: case 13:
diff --git a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
index b260f5d43c..c82bf06075 100644
--- a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
@@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
157#define C_ORG 0xFF, 0x93, 0x00 157#define C_ORG 0xFF, 0x93, 0x00
158 158
159void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb) { 159void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb) {
160 LED_TYPE *target_led = user_rgb_mode ? shadowed_led : led; 160 rgb_led_t *target_led = user_rgb_mode ? shadowed_led : led;
161 for (int i = 0; i < RGBLED_NUM; i++) { 161 for (int i = 0; i < RGBLED_NUM; i++) {
162 switch (i) { 162 switch (i) {
163 case 10: case 11: 163 case 10: case 11:
diff --git a/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c b/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c
index c8dbb6c18d..7c0dc92812 100644
--- a/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c
+++ b/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c
@@ -217,7 +217,7 @@ void keyboard_post_init_user(void) {
217 rgblight_sethsv_noeeprom(50, 255, 100); 217 rgblight_sethsv_noeeprom(50, 255, 100);
218 rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2); 218 rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2);
219// Init the second LED to a static color: 219// Init the second LED to a static color:
220 setrgb(225, 185, 0, (LED_TYPE *)&led[1]); 220 setrgb(225, 185, 0, (rgb_led_t *)&led[1]);
221 rgblight_set(); 221 rgblight_set();
222 #endif // RGBLIGHT_ENABLE 222 #endif // RGBLIGHT_ENABLE
223} 223}
@@ -232,7 +232,7 @@ layer_state_t layer_state_set_user(layer_state_t state){
232 if (layer_state_cmp(state, 3)) { 232 if (layer_state_cmp(state, 3)) {
233 led1r = 200; 233 led1r = 200;
234 } 234 }
235 setrgb(led1r, led1g, led1b, (LED_TYPE *)&led[1]); 235 setrgb(led1r, led1g, led1b, (rgb_led_t *)&led[1]);
236 rgblight_set(); 236 rgblight_set();
237 #endif //RGBLIGHT_ENABLE 237 #endif //RGBLIGHT_ENABLE
238 return state; 238 return state;
diff --git a/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c b/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c
index 4a56915ae5..8c5033302c 100644
--- a/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c
+++ b/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c
@@ -217,7 +217,7 @@ void keyboard_post_init_user(void) {
217 rgblight_sethsv_noeeprom(50, 255, 100); 217 rgblight_sethsv_noeeprom(50, 255, 100);
218 rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2); 218 rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2);
219// Init the second LED to a static color: 219// Init the second LED to a static color:
220 setrgb(225, 185, 0, (LED_TYPE *)&led[1]); 220 setrgb(225, 185, 0, (rgb_led_t *)&led[1]);
221 rgblight_set(); 221 rgblight_set();
222 #endif // RGBLIGHT_ENABLE 222 #endif // RGBLIGHT_ENABLE
223} 223}
@@ -232,7 +232,7 @@ layer_state_t layer_state_set_user(layer_state_t state){
232 if (layer_state_cmp(state, 3)) { 232 if (layer_state_cmp(state, 3)) {
233 led1r = 200; 233 led1r = 200;
234 } 234 }
235 setrgb(led1r, led1g, led1b, (LED_TYPE *)&led[1]); 235 setrgb(led1r, led1g, led1b, (rgb_led_t *)&led[1]);
236 rgblight_set(); 236 rgblight_set();
237 #endif //RGBLIGHT_ENABLE 237 #endif //RGBLIGHT_ENABLE
238 return state; 238 return state;
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
index bbc3e8db52..e51bec0049 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
@@ -148,7 +148,7 @@ bool rgb_matrix_indicators_kb(void) {
148// ========================================================================== 148// ==========================================================================
149 149
150# if WS2812_LED_TOTAL > 0 150# if WS2812_LED_TOTAL > 0
151LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; 151rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
152# endif 152# endif
153 153
154static void rgb_matrix_driver_init(void) { 154static void rgb_matrix_driver_init(void) {
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
index c4ac03e447..075e8ae580 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
@@ -148,7 +148,7 @@ bool rgb_matrix_indicators_kb(void) {
148// ========================================================================== 148// ==========================================================================
149 149
150# if WS2812_LED_TOTAL > 0 150# if WS2812_LED_TOTAL > 0
151LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; 151rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
152# endif 152# endif
153 153
154static void rgb_matrix_driver_init(void) { 154static void rgb_matrix_driver_init(void) {
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
index bd976f315a..0084fd9245 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
@@ -144,7 +144,7 @@ bool rgb_matrix_indicators_kb(void) {
144// ========================================================================== 144// ==========================================================================
145 145
146# if WS2812_LED_TOTAL > 0 146# if WS2812_LED_TOTAL > 0
147LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; 147rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
148# endif 148# endif
149 149
150static void rgb_matrix_driver_init(void) { 150static void rgb_matrix_driver_init(void) {
diff --git a/keyboards/manyboard/macro/keymaps/default/keymap.c b/keyboards/manyboard/macro/keymaps/default/keymap.c
index 0b9d2ac927..d068fa8d3d 100644
--- a/keyboards/manyboard/macro/keymaps/default/keymap.c
+++ b/keyboards/manyboard/macro/keymaps/default/keymap.c
@@ -41,15 +41,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
41layer_state_t layer_state_set_user(layer_state_t state) { 41layer_state_t layer_state_set_user(layer_state_t state) {
42 switch (get_highest_layer(state)) { 42 switch (get_highest_layer(state)) {
43 case 0: 43 case 0:
44 sethsv(HSV_WHITE, (LED_TYPE *)&led[0]); 44 sethsv(HSV_WHITE, (rgb_led_t *)&led[0]);
45 rgblight_set(); 45 rgblight_set();
46 break; 46 break;
47 case 1: 47 case 1:
48 sethsv(HSV_GREEN, (LED_TYPE *)&led[0]); 48 sethsv(HSV_GREEN, (rgb_led_t *)&led[0]);
49 rgblight_set(); 49 rgblight_set();
50 break; 50 break;
51 case 2: 51 case 2:
52 sethsv(HSV_BLUE, (LED_TYPE *)&led[0]); 52 sethsv(HSV_BLUE, (rgb_led_t *)&led[0]);
53 rgblight_set(); 53 rgblight_set();
54 break; 54 break;
55 } 55 }
diff --git a/keyboards/manyboard/macro/keymaps/via/keymap.c b/keyboards/manyboard/macro/keymaps/via/keymap.c
index 0b9d2ac927..d068fa8d3d 100644
--- a/keyboards/manyboard/macro/keymaps/via/keymap.c
+++ b/keyboards/manyboard/macro/keymaps/via/keymap.c
@@ -41,15 +41,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
41layer_state_t layer_state_set_user(layer_state_t state) { 41layer_state_t layer_state_set_user(layer_state_t state) {
42 switch (get_highest_layer(state)) { 42 switch (get_highest_layer(state)) {
43 case 0: 43 case 0:
44 sethsv(HSV_WHITE, (LED_TYPE *)&led[0]); 44 sethsv(HSV_WHITE, (rgb_led_t *)&led[0]);
45 rgblight_set(); 45 rgblight_set();
46 break; 46 break;
47 case 1: 47 case 1:
48 sethsv(HSV_GREEN, (LED_TYPE *)&led[0]); 48 sethsv(HSV_GREEN, (rgb_led_t *)&led[0]);
49 rgblight_set(); 49 rgblight_set();
50 break; 50 break;
51 case 2: 51 case 2:
52 sethsv(HSV_BLUE, (LED_TYPE *)&led[0]); 52 sethsv(HSV_BLUE, (rgb_led_t *)&led[0]);
53 rgblight_set(); 53 rgblight_set();
54 break; 54 break;
55 } 55 }
diff --git a/keyboards/matrix/abelx/abelx.c b/keyboards/matrix/abelx/abelx.c
index 9585948e0c..ea3e57aeaf 100644
--- a/keyboards/matrix/abelx/abelx.c
+++ b/keyboards/matrix/abelx/abelx.c
@@ -66,7 +66,7 @@ const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = {
66 {AW9523B_P07_PWM, AW9523B_P06_PWM, AW9523B_P05_PWM}, 66 {AW9523B_P07_PWM, AW9523B_P06_PWM, AW9523B_P05_PWM},
67}; 67};
68 68
69void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) 69void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
70{ 70{
71 uint8_t num = num_leds < AW9523B_RGB_NUM ? num_leds : AW9523B_RGB_NUM; 71 uint8_t num = num_leds < AW9523B_RGB_NUM ? num_leds : AW9523B_RGB_NUM;
72 72
diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c
index 4567f0348d..be41e0ac02 100644
--- a/keyboards/matrix/m20add/rgb_ring.c
+++ b/keyboards/matrix/m20add/rgb_ring.c
@@ -357,7 +357,7 @@ static void custom_effects(void)
357 effect_funcs[rgb_ring.effect](); 357 effect_funcs[rgb_ring.effect]();
358} 358}
359 359
360void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) 360void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
361{ 361{
362 if (rgb_ring.state != RING_STATE_QMK) { 362 if (rgb_ring.state != RING_STATE_QMK) {
363 return; 363 return;
diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c
index 0969998fa9..f3d6062059 100644
--- a/keyboards/matrix/noah/noah.c
+++ b/keyboards/matrix/noah/noah.c
@@ -20,7 +20,7 @@ extern rgblight_config_t rgblight_config;
20#if RGBLED_NUM < 7 20#if RGBLED_NUM < 7
21#error "MUST set the RGBLED_NUM bigger than 7" 21#error "MUST set the RGBLED_NUM bigger than 7"
22#endif 22#endif
23LED_TYPE noah_leds[RGBLED_NUM]; 23rgb_led_t noah_leds[RGBLED_NUM];
24static bool noah_led_mode = false; 24static bool noah_led_mode = false;
25void rgblight_set(void) { 25void rgblight_set(void) {
26 memset(&noah_leds[0], 0, sizeof(noah_leds)); 26 memset(&noah_leds[0], 0, sizeof(noah_leds));
diff --git a/keyboards/mxss/mxss_frontled.c b/keyboards/mxss/mxss_frontled.c
index 2ab9a27bea..11c942c959 100644
--- a/keyboards/mxss/mxss_frontled.c
+++ b/keyboards/mxss/mxss_frontled.c
@@ -25,7 +25,7 @@
25// Variables for controlling front LED application 25// Variables for controlling front LED application
26uint8_t fled_mode; // Mode for front LEDs 26uint8_t fled_mode; // Mode for front LEDs
27uint8_t fled_val; // Brightness for front leds (0 - 255) 27uint8_t fled_val; // Brightness for front leds (0 - 255)
28LED_TYPE fleds[2]; // Front LED rgb values for indicator mode use 28rgb_led_t fleds[2]; // Front LED rgb values for indicator mode use
29 29
30// Layer indicator colors 30// Layer indicator colors
31__attribute__ ((weak)) 31__attribute__ ((weak))
diff --git a/keyboards/mxss/rgblight.c b/keyboards/mxss/rgblight.c
index 94f6b1dfe8..873139b5c6 100644
--- a/keyboards/mxss/rgblight.c
+++ b/keyboards/mxss/rgblight.c
@@ -98,7 +98,7 @@ animation_status_t animation_status = {};
98#endif 98#endif
99 99
100#ifndef LED_ARRAY 100#ifndef LED_ARRAY
101LED_TYPE led[RGBLED_NUM]; 101rgb_led_t led[RGBLED_NUM];
102# define LED_ARRAY led 102# define LED_ARRAY led
103#endif 103#endif
104 104
@@ -111,10 +111,10 @@ rgblight_ranges_t rgblight_ranges = {0, RGBLED_NUM, 0, RGBLED_NUM, RGBLED_NUM};
111// MxSS custom 111// MxSS custom
112extern uint8_t fled_mode; 112extern uint8_t fled_mode;
113extern uint8_t fled_val; 113extern uint8_t fled_val;
114extern LED_TYPE fleds[2]; 114extern rgb_led_t fleds[2];
115hs_set fled_hs[2]; 115hs_set fled_hs[2];
116 116
117void copyrgb(LED_TYPE *src, LED_TYPE *dst) { 117void copyrgb(rgb_led_t *src, rgb_led_t *dst) {
118 dst->r = src->r; 118 dst->r = src->r;
119 dst->g = src->g; 119 dst->g = src->g;
120 dst->b = src->b; 120 dst->b = src->b;
@@ -135,7 +135,7 @@ void rgblight_set_effect_range(uint8_t start_pos, uint8_t num_leds) {
135 135
136__attribute__((weak)) RGB rgblight_hsv_to_rgb(HSV hsv) { return hsv_to_rgb(hsv); } 136__attribute__((weak)) RGB rgblight_hsv_to_rgb(HSV hsv) { return hsv_to_rgb(hsv); }
137 137
138void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) { 138void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1) {
139 HSV hsv = {hue, sat, val}; 139 HSV hsv = {hue, sat, val};
140 // MxSS custom 140 // MxSS custom
141 // if led is front leds, cache the hue and sat values 141 // if led is front leds, cache the hue and sat values
@@ -150,9 +150,9 @@ void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) {
150 setrgb(rgb.r, rgb.g, rgb.b, led1); 150 setrgb(rgb.r, rgb.g, rgb.b, led1);
151} 151}
152 152
153void sethsv(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) { sethsv_raw(hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val, led1); } 153void sethsv(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1) { sethsv_raw(hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val, led1); }
154 154
155void setrgb(uint8_t r, uint8_t g, uint8_t b, LED_TYPE *led1) { 155void setrgb(uint8_t r, uint8_t g, uint8_t b, rgb_led_t *led1) {
156 led1->r = r; 156 led1->r = r;
157 led1->g = g; 157 led1->g = g;
158 led1->b = b; 158 led1->b = b;
@@ -454,7 +454,7 @@ void rgblight_sethsv_noeeprom_old(uint8_t hue, uint8_t sat, uint8_t val) {
454 fled_hs[0].hue = fled_hs[1].hue = hue; 454 fled_hs[0].hue = fled_hs[1].hue = hue;
455 fled_hs[0].sat = fled_hs[1].sat = sat; 455 fled_hs[0].sat = fled_hs[1].sat = sat;
456 456
457 LED_TYPE tmp_led; 457 rgb_led_t tmp_led;
458 sethsv(hue, sat, val, &tmp_led); 458 sethsv(hue, sat, val, &tmp_led);
459 rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b); 459 rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b);
460 } 460 }
@@ -465,7 +465,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w
465 rgblight_status.base_mode = mode_base_table[rgblight_config.mode]; 465 rgblight_status.base_mode = mode_base_table[rgblight_config.mode];
466 if (rgblight_config.mode == RGBLIGHT_MODE_STATIC_LIGHT) { 466 if (rgblight_config.mode == RGBLIGHT_MODE_STATIC_LIGHT) {
467 // same static color 467 // same static color
468 LED_TYPE tmp_led; 468 rgb_led_t tmp_led;
469 sethsv(hue, sat, val, &tmp_led); 469 sethsv(hue, sat, val, &tmp_led);
470 470
471 // MxSS custom 471 // MxSS custom
@@ -515,7 +515,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w
515 _hue = hue - _hue; 515 _hue = hue - _hue;
516 } 516 }
517 dprintf("rgblight rainbow set hsv: %d,%d,%d,%u\n", i, _hue, direction, range); 517 dprintf("rgblight rainbow set hsv: %d,%d,%d,%u\n", i, _hue, direction, range);
518 sethsv(_hue, sat, val, (LED_TYPE *)&led[i + rgblight_ranges.effect_start_pos]); 518 sethsv(_hue, sat, val, (rgb_led_t *)&led[i + rgblight_ranges.effect_start_pos]);
519 } 519 }
520 rgblight_set(); 520 rgblight_set();
521 } 521 }
@@ -601,7 +601,7 @@ void rgblight_sethsv_at(uint8_t hue, uint8_t sat, uint8_t val, uint8_t index) {
601 return; 601 return;
602 } 602 }
603 603
604 LED_TYPE tmp_led; 604 rgb_led_t tmp_led;
605 sethsv(hue, sat, val, &tmp_led); 605 sethsv(hue, sat, val, &tmp_led);
606 rgblight_setrgb_at(tmp_led.r, tmp_led.g, tmp_led.b, index); 606 rgblight_setrgb_at(tmp_led.r, tmp_led.g, tmp_led.b, index);
607} 607}
@@ -640,7 +640,7 @@ void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start,
640 return; 640 return;
641 } 641 }
642 642
643 LED_TYPE tmp_led; 643 rgb_led_t tmp_led;
644 sethsv(hue, sat, val, &tmp_led); 644 sethsv(hue, sat, val, &tmp_led);
645 rgblight_setrgb_range(tmp_led.r, tmp_led.g, tmp_led.b, start, end); 645 rgblight_setrgb_range(tmp_led.r, tmp_led.g, tmp_led.b, start, end);
646} 646}
@@ -702,8 +702,8 @@ static void rgblight_layers_write(void) {
702 break; // No more segments 702 break; // No more segments
703 } 703 }
704 // Write segment.count LEDs 704 // Write segment.count LEDs
705 LED_TYPE *const limit = &led[MIN(segment.index + segment.count, RGBLED_NUM)]; 705 rgb_led_t *const limit = &led[MIN(segment.index + segment.count, RGBLED_NUM)];
706 for (LED_TYPE *led_ptr = &led[segment.index]; led_ptr < limit; led_ptr++) { 706 for (rgb_led_t *led_ptr = &led[segment.index]; led_ptr < limit; led_ptr++) {
707 sethsv(segment.hue, segment.sat, segment.val, led_ptr); 707 sethsv(segment.hue, segment.sat, segment.val, led_ptr);
708 } 708 }
709 segment_ptr++; 709 segment_ptr++;
@@ -737,11 +737,11 @@ void rgblight_unblink_layers(void) {
737 737
738#endif 738#endif
739 739
740__attribute__((weak)) void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { ws2812_setleds(start_led, num_leds); } 740__attribute__((weak)) void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) { ws2812_setleds(start_led, num_leds); }
741 741
742#ifndef RGBLIGHT_CUSTOM_DRIVER 742#ifndef RGBLIGHT_CUSTOM_DRIVER
743void rgblight_set(void) { 743void rgblight_set(void) {
744 LED_TYPE *start_led; 744 rgb_led_t *start_led;
745 uint8_t num_leds = rgblight_ranges.clipping_num_leds; 745 uint8_t num_leds = rgblight_ranges.clipping_num_leds;
746 746
747 if (!rgblight_config.enable) { 747 if (!rgblight_config.enable) {
@@ -769,7 +769,7 @@ void rgblight_set(void) {
769# endif 769# endif
770 770
771# ifdef RGBLIGHT_LED_MAP 771# ifdef RGBLIGHT_LED_MAP
772 LED_TYPE led0[RGBLED_NUM]; 772 rgb_led_t led0[RGBLED_NUM];
773 for (uint8_t i = 0; i < RGBLED_NUM; i++) { 773 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
774 led0[i] = led[pgm_read_byte(&led_map[i])]; 774 led0[i] = led[pgm_read_byte(&led_map[i])];
775 } 775 }
@@ -1089,7 +1089,7 @@ void rgblight_effect_rainbow_swirl(animation_status_t *anim) {
1089 1089
1090 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) { 1090 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) {
1091 hue = (RGBLIGHT_RAINBOW_SWIRL_RANGE / rgblight_ranges.effect_num_leds * i + anim->current_hue); 1091 hue = (RGBLIGHT_RAINBOW_SWIRL_RANGE / rgblight_ranges.effect_num_leds * i + anim->current_hue);
1092 sethsv(hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&led[i + rgblight_ranges.effect_start_pos]); 1092 sethsv(hue, rgblight_config.sat, rgblight_config.val, (rgb_led_t *)&led[i + rgblight_ranges.effect_start_pos]);
1093 } 1093 }
1094 rgblight_set(); 1094 rgblight_set();
1095 1095
@@ -1130,7 +1130,7 @@ void rgblight_effect_snake(animation_status_t *anim) {
1130 fled_hs[0].sat = fled_hs[1].sat = 0; 1130 fled_hs[0].sat = fled_hs[1].sat = 0;
1131 1131
1132 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) { 1132 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) {
1133 LED_TYPE *ledp = led + i + rgblight_ranges.effect_start_pos; 1133 rgb_led_t *ledp = led + i + rgblight_ranges.effect_start_pos;
1134 ledp->r = 0; 1134 ledp->r = 0;
1135 ledp->g = 0; 1135 ledp->g = 0;
1136 ledp->b = 0; 1136 ledp->b = 0;
@@ -1203,7 +1203,7 @@ void rgblight_effect_knight(animation_status_t *anim) {
1203 cur = (i + RGBLIGHT_EFFECT_KNIGHT_OFFSET) % rgblight_ranges.effect_num_leds + rgblight_ranges.effect_start_pos; 1203 cur = (i + RGBLIGHT_EFFECT_KNIGHT_OFFSET) % rgblight_ranges.effect_num_leds + rgblight_ranges.effect_start_pos;
1204 1204
1205 if (i >= low_bound && i <= high_bound) { 1205 if (i >= low_bound && i <= high_bound) {
1206 sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&led[cur]); 1206 sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, (rgb_led_t *)&led[cur]);
1207 } else { 1207 } else {
1208 // MxSS custom code 1208 // MxSS custom code
1209 if (cur == RGBLIGHT_FLED1) { 1209 if (cur == RGBLIGHT_FLED1) {
@@ -1262,7 +1262,7 @@ void rgblight_effect_christmas(animation_status_t *anim) {
1262 1262
1263 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) { 1263 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) {
1264 uint8_t local_hue = (i / RGBLIGHT_EFFECT_CHRISTMAS_STEP) % 2 ? hue : hue_green - hue; 1264 uint8_t local_hue = (i / RGBLIGHT_EFFECT_CHRISTMAS_STEP) % 2 ? hue : hue_green - hue;
1265 sethsv(local_hue, rgblight_config.sat, val, (LED_TYPE *)&led[i + rgblight_ranges.effect_start_pos]); 1265 sethsv(local_hue, rgblight_config.sat, val, (rgb_led_t *)&led[i + rgblight_ranges.effect_start_pos]);
1266 } 1266 }
1267 rgblight_set(); 1267 rgblight_set();
1268 1268
@@ -1285,7 +1285,7 @@ void rgblight_effect_rgbtest(animation_status_t *anim) {
1285 uint8_t b; 1285 uint8_t b;
1286 1286
1287 if (maxval == 0) { 1287 if (maxval == 0) {
1288 LED_TYPE tmp_led; 1288 rgb_led_t tmp_led;
1289 sethsv(0, 255, RGBLIGHT_LIMIT_VAL, &tmp_led); 1289 sethsv(0, 255, RGBLIGHT_LIMIT_VAL, &tmp_led);
1290 maxval = tmp_led.r; 1290 maxval = tmp_led.r;
1291 } 1291 }
@@ -1322,7 +1322,7 @@ void rgblight_effect_rgbtest(animation_status_t *anim) {
1322#ifdef RGBLIGHT_EFFECT_ALTERNATING 1322#ifdef RGBLIGHT_EFFECT_ALTERNATING
1323void rgblight_effect_alternating(animation_status_t *anim) { 1323void rgblight_effect_alternating(animation_status_t *anim) {
1324 for (int i = 0; i < rgblight_ranges.effect_num_leds; i++) { 1324 for (int i = 0; i < rgblight_ranges.effect_num_leds; i++) {
1325 LED_TYPE *ledp = led + i + rgblight_ranges.effect_start_pos; 1325 rgb_led_t *ledp = led + i + rgblight_ranges.effect_start_pos;
1326 if (i < rgblight_ranges.effect_num_leds / 2 && anim->pos) { 1326 if (i < rgblight_ranges.effect_num_leds / 2 && anim->pos) {
1327 sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, ledp); 1327 sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, ledp);
1328 } else if (i >= rgblight_ranges.effect_num_leds / 2 && !anim->pos) { 1328 } else if (i >= rgblight_ranges.effect_num_leds / 2 && !anim->pos) {
@@ -1383,7 +1383,7 @@ void rgblight_effect_twinkle(animation_status_t *anim) {
1383 // This LED is off, and was NOT selected to start brightening 1383 // This LED is off, and was NOT selected to start brightening
1384 } 1384 }
1385 1385
1386 LED_TYPE *ledp = led + i + rgblight_ranges.effect_start_pos; 1386 rgb_led_t *ledp = led + i + rgblight_ranges.effect_start_pos;
1387 sethsv(c->h, c->s, c->v, ledp); 1387 sethsv(c->h, c->s, c->v, ledp);
1388 } 1388 }
1389 1389
diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c
index cf31b6b72b..70438233c5 100644
--- a/keyboards/neson_design/700e/700e.c
+++ b/keyboards/neson_design/700e/700e.c
@@ -322,7 +322,7 @@ void housekeeping_task_kb(void)
322 } else if (rgb_state.state == CAPS_ALERT) { 322 } else if (rgb_state.state == CAPS_ALERT) {
323 if (rgb_state.alert) { 323 if (rgb_state.alert) {
324 is31fl3731_set_color_all(ALERM_LED_R, ALERM_LED_G, ALERM_LED_B); 324 is31fl3731_set_color_all(ALERM_LED_R, ALERM_LED_G, ALERM_LED_B);
325 LED_TYPE leds[4]; 325 rgb_led_t leds[4];
326 for (int i = 0; i < 4; i++) { 326 for (int i = 0; i < 4; i++) {
327 leds[i].r = ALERM_LED_G; 327 leds[i].r = ALERM_LED_G;
328 leds[i].g = ALERM_LED_R; 328 leds[i].g = ALERM_LED_R;
@@ -331,7 +331,7 @@ void housekeeping_task_kb(void)
331 ws2812_setleds(leds, 4); 331 ws2812_setleds(leds, 4);
332 } else { 332 } else {
333 is31fl3731_set_color_all(0, 0, 0); 333 is31fl3731_set_color_all(0, 0, 0);
334 LED_TYPE leds[4] = {0}; 334 rgb_led_t leds[4] = {0};
335 ws2812_setleds(leds, 4); 335 ws2812_setleds(leds, 4);
336 } 336 }
337 337
@@ -349,14 +349,14 @@ void housekeeping_task_kb(void)
349 housekeeping_task_user(); 349 housekeeping_task_user();
350} 350}
351 351
352void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) 352void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
353{ 353{
354 if (rgb_state.state != NORMAL) return; 354 if (rgb_state.state != NORMAL) return;
355 355
356 for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 356 for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
357 is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); 357 is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b);
358 } 358 }
359 LED_TYPE leds[4]; 359 rgb_led_t leds[4];
360 for (int i = 0; i < 4; i++) { 360 for (int i = 0; i < 4; i++) {
361 leds[i].r = start_led[RGB_MATRIX_LED_COUNT+i].g; 361 leds[i].r = start_led[RGB_MATRIX_LED_COUNT+i].g;
362 leds[i].g = start_led[RGB_MATRIX_LED_COUNT+i].r; 362 leds[i].g = start_led[RGB_MATRIX_LED_COUNT+i].r;
diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c
index cf99404641..0bff544672 100644
--- a/keyboards/neson_design/n6/n6.c
+++ b/keyboards/neson_design/n6/n6.c
@@ -320,7 +320,7 @@ void housekeeping_task_kb(void)
320 self_testing(); 320 self_testing();
321 } else if (rgb_state.state == CAPS_ALERT) { 321 } else if (rgb_state.state == CAPS_ALERT) {
322 //gold 0xFF, 0xD9, 0x00 322 //gold 0xFF, 0xD9, 0x00
323 LED_TYPE led = { 323 rgb_led_t led = {
324 .r = 0xFF, 324 .r = 0xFF,
325 //.g = 0xD9, 325 //.g = 0xD9,
326 .g = 0xA5, 326 .g = 0xA5,
@@ -351,7 +351,7 @@ void housekeeping_task_kb(void)
351 housekeeping_task_user(); 351 housekeeping_task_user();
352} 352}
353 353
354void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) 354void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
355{ 355{
356 if (rgb_state.state != NORMAL) return; 356 if (rgb_state.state != NORMAL) return;
357 357
diff --git a/keyboards/neson_design/nico/nico.c b/keyboards/neson_design/nico/nico.c
index 63f08b8639..b4d15777b7 100644
--- a/keyboards/neson_design/nico/nico.c
+++ b/keyboards/neson_design/nico/nico.c
@@ -22,7 +22,7 @@
22 22
23static bool alert = false; 23static bool alert = false;
24static bool backup = false; 24static bool backup = false;
25static LED_TYPE caps_led; 25static rgb_led_t caps_led;
26static uint16_t last_ticks = 0; 26static uint16_t last_ticks = 0;
27 27
28#define ALERT_INTERVAL 500 28#define ALERT_INTERVAL 500
@@ -66,7 +66,7 @@ void housekeeping_task_kb(void)
66 housekeeping_task_user(); 66 housekeeping_task_user();
67} 67}
68 68
69void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) 69void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
70{ 70{
71 start_led[2].r = start_led[0].r; 71 start_led[2].r = start_led[0].r;
72 start_led[2].g = start_led[0].g; 72 start_led[2].g = start_led[0].g;
diff --git a/keyboards/oddforge/vea/ws2812_custom.c b/keyboards/oddforge/vea/ws2812_custom.c
index 0dc5a2d0f1..f52c8d06a8 100644
--- a/keyboards/oddforge/vea/ws2812_custom.c
+++ b/keyboards/oddforge/vea/ws2812_custom.c
@@ -22,13 +22,13 @@ void ws2812_init(void) {
22} 22}
23 23
24// Setleds for standard RGB 24// Setleds for standard RGB
25void ws2812_setleds(LED_TYPE *ledarray, uint16_t leds) { 25void ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) {
26 static bool s_init = false; 26 static bool s_init = false;
27 if (!s_init) { 27 if (!s_init) {
28 ws2812_init(); 28 ws2812_init();
29 s_init = true; 29 s_init = true;
30 } 30 }
31 31
32 i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ledarray, sizeof(LED_TYPE) * (leds >> 1), WS2812_I2C_TIMEOUT); 32 i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ledarray, sizeof(rgb_led_t) * (leds >> 1), WS2812_I2C_TIMEOUT);
33 i2c_transmit(WS2812_I2C_ADDRESS_RIGHT, (uint8_t *)ledarray+(sizeof(LED_TYPE) * (leds >> 1)), sizeof(LED_TYPE) * (leds - (leds >> 1)), WS2812_I2C_TIMEOUT); 33 i2c_transmit(WS2812_I2C_ADDRESS_RIGHT, (uint8_t *)ledarray+(sizeof(rgb_led_t) * (leds >> 1)), sizeof(rgb_led_t) * (leds - (leds >> 1)), WS2812_I2C_TIMEOUT);
34} 34}
diff --git a/keyboards/rgbkb/pan/pan.c b/keyboards/rgbkb/pan/pan.c
index 023c766de6..d175be3641 100644
--- a/keyboards/rgbkb/pan/pan.c
+++ b/keyboards/rgbkb/pan/pan.c
@@ -22,7 +22,7 @@
22# include "ws2812.h" 22# include "ws2812.h"
23 23
24// LED color buffer 24// LED color buffer
25LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; 25rgb_led_t rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT];
26 26
27static void init(void) {} 27static void init(void) {}
28 28
diff --git a/keyboards/tetris/keymaps/default/keymap.c b/keyboards/tetris/keymaps/default/keymap.c
index 9e2a96ffc3..057e19d987 100755
--- a/keyboards/tetris/keymaps/default/keymap.c
+++ b/keyboards/tetris/keymaps/default/keymap.c
@@ -94,40 +94,40 @@ void matrix_scan_user(void) {
94 uint16_t kc = keymap_key_to_keycode(layer, (keypos_t) {.row = 0, .col = i 94 uint16_t kc = keymap_key_to_keycode(layer, (keypos_t) {.row = 0, .col = i
95 }); 95 });
96 if (kc == KC_TRNS) { 96 if (kc == KC_TRNS) {
97 setrgb(5, 5, 5, (LED_TYPE * ) & led[j]); /* TRNS color 0-255*/ 97 setrgb(5, 5, 5, (rgb_led_t * ) & led[j]); /* TRNS color 0-255*/
98 } else if (kc == KC_NO) { 98 } else if (kc == KC_NO) {
99 setrgb(0, 0, 0, (LED_TYPE * ) & led[j]); /* NO color 0-255*/ 99 setrgb(0, 0, 0, (rgb_led_t * ) & led[j]); /* NO color 0-255*/
100 } else { 100 } else {
101 if (layer == 1) { 101 if (layer == 1) {
102 setrgb(128, 64, 0, (LED_TYPE * ) & led[j]); /* 1 layer 0-255*/ 102 setrgb(128, 64, 0, (rgb_led_t * ) & led[j]); /* 1 layer 0-255*/
103 } else if (layer == 2) { 103 } else if (layer == 2) {
104 setrgb(0, 64, 128, (LED_TYPE * ) & led[j]); /* 2*/ 104 setrgb(0, 64, 128, (rgb_led_t * ) & led[j]); /* 2*/
105 } else if (layer == 3) { 105 } else if (layer == 3) {
106 setrgb(64, 128, 0, (LED_TYPE * ) & led[j]); /* 3*/ 106 setrgb(64, 128, 0, (rgb_led_t * ) & led[j]); /* 3*/
107 } else if (layer == 4) { 107 } else if (layer == 4) {
108 setrgb(0, 128, 64, (LED_TYPE * ) & led[j]); /* 4*/ 108 setrgb(0, 128, 64, (rgb_led_t * ) & led[j]); /* 4*/
109 } else if (layer == 5) { 109 } else if (layer == 5) {
110 setrgb(128, 0, 128, (LED_TYPE * ) & led[j]); /* 5*/ 110 setrgb(128, 0, 128, (rgb_led_t * ) & led[j]); /* 5*/
111 } else if (layer == 6) { 111 } else if (layer == 6) {
112 setrgb(128, 0, 128, (LED_TYPE * ) & led[j]); /* 6*/ 112 setrgb(128, 0, 128, (rgb_led_t * ) & led[j]); /* 6*/
113 } else if (layer == 7) { 113 } else if (layer == 7) {
114 setrgb(128, 128, 0, (LED_TYPE * ) & led[j]); /* 7*/ 114 setrgb(128, 128, 0, (rgb_led_t * ) & led[j]); /* 7*/
115 } else if (layer == 8) { 115 } else if (layer == 8) {
116 setrgb(0, 128, 128, (LED_TYPE * ) & led[j]); /* 8*/ 116 setrgb(0, 128, 128, (rgb_led_t * ) & led[j]); /* 8*/
117 } else if (layer == 9) { 117 } else if (layer == 9) {
118 setrgb(128, 192, 64, (LED_TYPE * ) & led[j]); /* 9*/ 118 setrgb(128, 192, 64, (rgb_led_t * ) & led[j]); /* 9*/
119 } else if (layer == 10) { 119 } else if (layer == 10) {
120 setrgb(64, 192, 128, (LED_TYPE * ) & led[j]); /* 10*/ 120 setrgb(64, 192, 128, (rgb_led_t * ) & led[j]); /* 10*/
121 } else if (layer == 11) { 121 } else if (layer == 11) {
122 setrgb(128, 64, 192, (LED_TYPE * ) & led[j]); /* 11*/ 122 setrgb(128, 64, 192, (rgb_led_t * ) & led[j]); /* 11*/
123 } else if (layer == 12) { 123 } else if (layer == 12) {
124 setrgb(64, 128, 192, (LED_TYPE * ) & led[j]); /* 12*/ 124 setrgb(64, 128, 192, (rgb_led_t * ) & led[j]); /* 12*/
125 } else if (layer == 13) { 125 } else if (layer == 13) {
126 setrgb(128, 192, 0, (LED_TYPE * ) & led[j]); /* 13*/ 126 setrgb(128, 192, 0, (rgb_led_t * ) & led[j]); /* 13*/
127 } else if (layer == 14) { 127 } else if (layer == 14) {
128 setrgb(192, 0, 128, (LED_TYPE * ) & led[j]); /* 14*/ 128 setrgb(192, 0, 128, (rgb_led_t * ) & led[j]); /* 14*/
129 } else if (layer == 15) { 129 } else if (layer == 15) {
130 setrgb(0, 192, 128, (LED_TYPE * ) & led[j]); /* 15*/ 130 setrgb(0, 192, 128, (rgb_led_t * ) & led[j]); /* 15*/
131 } 131 }
132 } 132 }
133 } 133 }
diff --git a/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c
index 6ef5ecc2c6..ece72f3319 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c
@@ -180,8 +180,8 @@ void keyboard_post_init_user(void) {
180 rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2); 180 rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2);
181 181
182 // set other led's to off 182 // set other led's to off
183 setrgb(0, 0, 0, (LED_TYPE *)&led[0]); 183 setrgb(0, 0, 0, (rgb_led_t *)&led[0]);
184 setrgb(0, 0, 0, (LED_TYPE *)&led[1]); 184 setrgb(0, 0, 0, (rgb_led_t *)&led[1]);
185 rgblight_set(); 185 rgblight_set();
186 #endif 186 #endif
187} 187}
@@ -190,23 +190,23 @@ layer_state_t layer_state_set_user(layer_state_t state) {
190 state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); 190 state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
191 #ifdef RGBLIGHT_ENABLE 191 #ifdef RGBLIGHT_ENABLE
192 if (layer_state_cmp(state, _ADJUST)) { 192 if (layer_state_cmp(state, _ADJUST)) {
193 setrgb(70, 255, 200, (LED_TYPE *)&led[0]); 193 setrgb(70, 255, 200, (rgb_led_t *)&led[0]);
194 setrgb(255, 70, 100, (LED_TYPE *)&led[1]); 194 setrgb(255, 70, 100, (rgb_led_t *)&led[1]);
195 } else if (layer_state_cmp(state, _LOWER)) { 195 } else if (layer_state_cmp(state, _LOWER)) {
196 setrgb(70, 255, 200, (LED_TYPE *)&led[0]); 196 setrgb(70, 255, 200, (rgb_led_t *)&led[0]);
197 setrgb(0, 0, 0, (LED_TYPE *)&led[1]); 197 setrgb(0, 0, 0, (rgb_led_t *)&led[1]);
198 } else if (layer_state_cmp(state, _RAISE)) { 198 } else if (layer_state_cmp(state, _RAISE)) {
199 setrgb(0, 0, 0, (LED_TYPE *)&led[0]); 199 setrgb(0, 0, 0, (rgb_led_t *)&led[0]);
200 setrgb(255, 70, 100, (LED_TYPE *)&led[1]); 200 setrgb(255, 70, 100, (rgb_led_t *)&led[1]);
201 } else if (layer_state_cmp(state, _UTIL)) { 201 } else if (layer_state_cmp(state, _UTIL)) {
202 setrgb(200, 70, 225, (LED_TYPE *)&led[0]); 202 setrgb(200, 70, 225, (rgb_led_t *)&led[0]);
203 setrgb(200, 70, 225, (LED_TYPE *)&led[1]); 203 setrgb(200, 70, 225, (rgb_led_t *)&led[1]);
204 } else if (layer_state_cmp(state, _MOUSE)) { 204 } else if (layer_state_cmp(state, _MOUSE)) {
205 setrgb(255, 145, 5, (LED_TYPE *)&led[0]); 205 setrgb(255, 145, 5, (rgb_led_t *)&led[0]);
206 setrgb(255, 145, 5, (LED_TYPE *)&led[1]); 206 setrgb(255, 145, 5, (rgb_led_t *)&led[1]);
207 } else { 207 } else {
208 setrgb(0, 0, 0, (LED_TYPE *)&led[0]); 208 setrgb(0, 0, 0, (rgb_led_t *)&led[0]);
209 setrgb(0, 0, 0, (LED_TYPE *)&led[1]); 209 setrgb(0, 0, 0, (rgb_led_t *)&led[1]);
210 } 210 }
211 211
212 rgblight_set(); 212 rgblight_set();
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
index ae3619859a..0999c9490c 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
@@ -50,8 +50,8 @@ void keyboard_post_init_user(void) {
50 rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2); 50 rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2);
51 51
52 // Init the first two LEDs to a static color 52 // Init the first two LEDs to a static color
53 setrgb(0, 0, 0, (LED_TYPE *)&led[0]); 53 setrgb(0, 0, 0, (rgb_led_t *)&led[0]);
54 setrgb(0, 0, 0, (LED_TYPE *)&led[1]); 54 setrgb(0, 0, 0, (rgb_led_t *)&led[1]);
55 rgblight_set(); 55 rgblight_set();
56 #endif //RGBLIGHT_ENABLE 56 #endif //RGBLIGHT_ENABLE
57} 57}
@@ -75,8 +75,8 @@ layer_state_t layer_state_set_user(layer_state_t state){
75 led1r = 255; 75 led1r = 255;
76 } 76 }
77 77
78 setrgb(led0r, led0g, led0b, (LED_TYPE *)&led[0]); 78 setrgb(led0r, led0g, led0b, (rgb_led_t *)&led[0]);
79 setrgb(led1r, led1g, led1b, (LED_TYPE *)&led[1]); 79 setrgb(led1r, led1g, led1b, (rgb_led_t *)&led[1]);
80 rgblight_set(); 80 rgblight_set();
81 #endif //RGBLIGHT_ENABLE 81 #endif //RGBLIGHT_ENABLE
82 return state; 82 return state;
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
index 145da6b2a5..39eb45e15e 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
@@ -192,8 +192,8 @@ void keyboard_post_init_user (void) {
192 rgblight_mode_noeeprom (RGBLIGHT_EFFECT_BREATHING + 2); 192 rgblight_mode_noeeprom (RGBLIGHT_EFFECT_BREATHING + 2);
193 193
194 // Init the first and last LEDs to a static color. 194 // Init the first and last LEDs to a static color.
195 setrgb (0, 0, 0, (LED_TYPE *)&led[0]); // Led[0] is led 0 195 setrgb (0, 0, 0, (rgb_led_t *)&led[0]); // Led[0] is led 0
196 setrgb (0, 0, 0, (LED_TYPE *)&led[2]); // 2nd led 196 setrgb (0, 0, 0, (rgb_led_t *)&led[2]); // 2nd led
197 197
198// The logic seems to be to establish the effect first, and then toggle it on/off. 198// The logic seems to be to establish the effect first, and then toggle it on/off.
199# ifdef STARTUP_MID_LED_OFF 199# ifdef STARTUP_MID_LED_OFF
@@ -301,8 +301,8 @@ void isolate_rgblight_set (void) {
301 led2r = 0; 301 led2r = 0;
302 led2g = 0; 302 led2g = 0;
303 led2b = 0; 303 led2b = 0;
304 setrgb(led0r, led0g, led0b, (LED_TYPE *)&led[0]); // Led 0 304 setrgb(led0r, led0g, led0b, (rgb_led_t *)&led[0]); // Led 0
305 setrgb(led2r, led2g, led2b, (LED_TYPE *)&led[2]); // Led 2 305 setrgb(led2r, led2g, led2b, (rgb_led_t *)&led[2]); // Led 2
306 } 306 }
307 rgblight_set (); 307 rgblight_set ();
308# endif 308# endif
@@ -326,8 +326,8 @@ void indicate_fun_stay (void) {
326 led0g = 50; // 326 led0g = 50; //
327 led2r = 255; // red 327 led2r = 255; // red
328 } 328 }
329 setrgb(led0r, led0g, led0b, (LED_TYPE *)&led[0]); // Led 0 329 setrgb(led0r, led0g, led0b, (rgb_led_t *)&led[0]); // Led 0
330 setrgb(led2r, led2g, led2b, (LED_TYPE *)&led[2]); // Led 2 330 setrgb(led2r, led2g, led2b, (rgb_led_t *)&led[2]); // Led 2
331 isolate_rgblight_set (); 331 isolate_rgblight_set ();
332 332
333# endif //RGBLIGHT_ENABLE 333# endif //RGBLIGHT_ENABLE
@@ -369,8 +369,8 @@ void indicate_base (void) {
369 led2g = 255; 369 led2g = 255;
370 led2b = 255; 370 led2b = 255;
371 } 371 }
372 setrgb(led0r, led0g, led0b, (LED_TYPE *)&led[0]); // Led 0 372 setrgb(led0r, led0g, led0b, (rgb_led_t *)&led[0]); // Led 0
373 setrgb(led2r, led2g, led2b, (LED_TYPE *)&led[2]); // Led 2 373 setrgb(led2r, led2g, led2b, (rgb_led_t *)&led[2]); // Led 2
374 isolate_rgblight_set (); 374 isolate_rgblight_set ();
375 375
376# endif //RGBLIGHT_ENABLE 376# endif //RGBLIGHT_ENABLE
@@ -535,8 +535,8 @@ void set_led_colors_ (layer_state_t state) {
535 //--- 535 //---
536 536
537 // pushes the configuration 537 // pushes the configuration
538 setrgb (led0r, led0g, led0b, (LED_TYPE *)&led[0]); // Led 0 538 setrgb (led0r, led0g, led0b, (rgb_led_t *)&led[0]); // Led 0
539 setrgb (led2r, led2g, led2b, (LED_TYPE *)&led[2]); // Led 2 539 setrgb (led2r, led2g, led2b, (rgb_led_t *)&led[2]); // Led 2
540 540
541 isolate_rgblight_set (); // Activates the led color change, after on/off check. 541 isolate_rgblight_set (); // Activates the led color change, after on/off check.
542 542
diff --git a/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c b/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c
index f2fd693ece..b211ec0f3f 100644
--- a/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c
@@ -97,7 +97,7 @@ float rgb_brightness = 1.0;
97void rgbflag(uint8_t r, uint8_t g, uint8_t b) { 97void rgbflag(uint8_t r, uint8_t g, uint8_t b) {
98 float rgb_brightness = ((float)rgblight_get_val())/256; 98 float rgb_brightness = ((float)rgblight_get_val())/256;
99 if(rgb_brightness == 0) rgb_brightness = 0.05; 99 if(rgb_brightness == 0) rgb_brightness = 0.05;
100 LED_TYPE *target_led = user_rgb_mode ? shadowed_led : led; 100 rgb_led_t *target_led = user_rgb_mode ? shadowed_led : led;
101 target_led[0].r = (uint8_t)(r*rgb_brightness); 101 target_led[0].r = (uint8_t)(r*rgb_brightness);
102 target_led[0].g = (uint8_t)(g*rgb_brightness); 102 target_led[0].g = (uint8_t)(g*rgb_brightness);
103 target_led[0].b = (uint8_t)(b*rgb_brightness); 103 target_led[0].b = (uint8_t)(b*rgb_brightness);
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index 6c57416622..d2ec610df8 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -64,7 +64,7 @@
64 64
65#if defined(RGB_BACKLIGHT_DAWN60) 65#if defined(RGB_BACKLIGHT_DAWN60)
66#include "ws2812.h" 66#include "ws2812.h"
67LED_TYPE g_ws2812_leds[WS2812_LED_TOTAL]; 67rgb_led_t g_ws2812_leds[WS2812_LED_TOTAL];
68#endif 68#endif
69 69
70#include "progmem.h" 70#include "progmem.h"
diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c
index 138779465e..b4d1a2ad72 100644
--- a/keyboards/work_louder/rgb_functions.c
+++ b/keyboards/work_louder/rgb_functions.c
@@ -24,7 +24,7 @@
24 24
25#include "ws2812_bitbang.c" 25#include "ws2812_bitbang.c"
26 26
27void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { 27void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) {
28 ws2812_setleds(start_led, num_leds); 28 ws2812_setleds(start_led, num_leds);
29} 29}
30#endif 30#endif
diff --git a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
index 7b77807326..b10114e134 100644
--- a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
+++ b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
@@ -23,7 +23,7 @@
23#include "ws2812.h" 23#include "ws2812.h"
24 24
25#ifdef RGB_MATRIX_ENABLE 25#ifdef RGB_MATRIX_ENABLE
26LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; 26rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
27 27
28const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { 28const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
29/* Refer to IS31 manual for these locations 29/* Refer to IS31 manual for these locations
diff --git a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h b/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h
index 8a14a8f956..1fa6f899b9 100644
--- a/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h
+++ b/keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h
@@ -4,6 +4,6 @@
4#include "color.h" 4#include "color.h"
5 5
6static inline void rgblite_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) { 6static inline void rgblite_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) {
7 LED_TYPE leds[RGBLED_NUM] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}}; 7 rgb_led_t leds[RGBLED_NUM] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}};
8 ws2812_setleds(leds, RGBLED_NUM); 8 ws2812_setleds(leds, RGBLED_NUM);
9} 9}
diff --git a/keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h b/keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h
index b7919f9767..15ee0c0f6b 100644
--- a/keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h
+++ b/keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h
@@ -4,7 +4,7 @@
4#include "color.h" 4#include "color.h"
5 5
6static inline void rgblite_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) { 6static inline void rgblite_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) {
7 LED_TYPE leds[RGBLED_NUM] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}}; 7 rgb_led_t leds[RGBLED_NUM] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}};
8 ws2812_setleds(leds, RGBLED_NUM); 8 ws2812_setleds(leds, RGBLED_NUM);
9} 9}
10 10
diff --git a/keyboards/xiudi/xd75/keymaps/odyssey/keymap.c b/keyboards/xiudi/xd75/keymaps/odyssey/keymap.c
index 4fe70b9cca..61eb4a2dcf 100644
--- a/keyboards/xiudi/xd75/keymaps/odyssey/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/odyssey/keymap.c
@@ -49,7 +49,7 @@ int speed = 300;
49 49
50void set_colors(int r, int g, int b) { 50void set_colors(int r, int g, int b) {
51 for(int i = 0; i<6; i++) { 51 for(int i = 0; i<6; i++) {
52 sethsv(r, g, b, (LED_TYPE *)&led[i]); 52 sethsv(r, g, b, (rgb_led_t *)&led[i]);
53 } 53 }
54 rgblight_set(); 54 rgblight_set();
55} 55}
@@ -213,7 +213,7 @@ void matrix_scan_user(void) {
213 if (rc == 0) { 213 if (rc == 0) {
214 rc = speed; 214 rc = speed;
215 for(int i = 0; i<6; i++) { 215 for(int i = 0; i<6; i++) {
216 sethsv(42*((t+i)%6), 255, 255, (LED_TYPE *)&led[i]); 216 sethsv(42*((t+i)%6), 255, 255, (rgb_led_t *)&led[i]);
217 } 217 }
218 rgblight_set(); 218 rgblight_set();
219 t++; t = t % 6; 219 t++; t = t % 6;
@@ -224,9 +224,9 @@ void matrix_scan_user(void) {
224 col = (col + 1) % 36; 224 col = (col + 1) % 36;
225 for (int i = 0; i<6; i++) { 225 for (int i = 0; i<6; i++) {
226 if (i==t) 226 if (i==t)
227 sethsv(42*(((col-1)/6)%6), 255, 255, (LED_TYPE *)&led[(right ? t : 5-t)]); 227 sethsv(42*(((col-1)/6)%6), 255, 255, (rgb_led_t *)&led[(right ? t : 5-t)]);
228 else 228 else
229 sethsv(0, 0, 0, (LED_TYPE *)&led[right ? i : 5-i]); 229 sethsv(0, 0, 0, (rgb_led_t *)&led[right ? i : 5-i]);
230 } 230 }
231 rgblight_set(); 231 rgblight_set();
232 t++; t = t % 6; 232 t++; t = t % 6;
diff --git a/keyboards/zykrah/fuyu/keymaps/via/keymap.c b/keyboards/zykrah/fuyu/keymaps/via/keymap.c
index 11f33854ce..1ad867731e 100644
--- a/keyboards/zykrah/fuyu/keymaps/via/keymap.c
+++ b/keyboards/zykrah/fuyu/keymaps/via/keymap.c
@@ -106,7 +106,7 @@ bool rgb_matrix_indicators_user(void) {
106#if defined(RGB_MATRIX_ENABLE) 106#if defined(RGB_MATRIX_ENABLE)
107 107
108#define INDICATOR_RGB_DIVISOR 4 108#define INDICATOR_RGB_DIVISOR 4
109extern LED_TYPE rgb_matrix_ws2812_array[DRIVER_LED_TOTAL]; 109extern rgb_led_t rgb_matrix_ws2812_array[DRIVER_LED_TOTAL];
110bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { 110bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
111 for (uint8_t i = led_min; i < led_max; i++) { 111 for (uint8_t i = led_min; i < led_max; i++) {
112 if (g_led_config.flags[i] & LED_FLAG_INDICATOR) { 112 if (g_led_config.flags[i] & LED_FLAG_INDICATOR) {
diff --git a/platforms/avr/drivers/ws2812_bitbang.c b/platforms/avr/drivers/ws2812_bitbang.c
index aad10d86b0..116053591f 100644
--- a/platforms/avr/drivers/ws2812_bitbang.c
+++ b/platforms/avr/drivers/ws2812_bitbang.c
@@ -37,13 +37,13 @@
37 37
38static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t masklo, uint8_t maskhi); 38static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t masklo, uint8_t maskhi);
39 39
40void ws2812_setleds(LED_TYPE *ledarray, uint16_t number_of_leds) { 40void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds) {
41 DDRx_ADDRESS(WS2812_DI_PIN) |= pinmask(WS2812_DI_PIN); 41 DDRx_ADDRESS(WS2812_DI_PIN) |= pinmask(WS2812_DI_PIN);
42 42
43 uint8_t masklo = ~(pinmask(WS2812_DI_PIN)) & PORTx_ADDRESS(WS2812_DI_PIN); 43 uint8_t masklo = ~(pinmask(WS2812_DI_PIN)) & PORTx_ADDRESS(WS2812_DI_PIN);
44 uint8_t maskhi = pinmask(WS2812_DI_PIN) | PORTx_ADDRESS(WS2812_DI_PIN); 44 uint8_t maskhi = pinmask(WS2812_DI_PIN) | PORTx_ADDRESS(WS2812_DI_PIN);
45 45
46 ws2812_sendarray_mask((uint8_t *)ledarray, number_of_leds * sizeof(LED_TYPE), masklo, maskhi); 46 ws2812_sendarray_mask((uint8_t *)ledarray, number_of_leds * sizeof(rgb_led_t), masklo, maskhi);
47 47
48 _delay_us(WS2812_TRST_US); 48 _delay_us(WS2812_TRST_US);
49} 49}
diff --git a/platforms/avr/drivers/ws2812_i2c.c b/platforms/avr/drivers/ws2812_i2c.c
index f4a2fbe0b3..f52a037b8e 100644
--- a/platforms/avr/drivers/ws2812_i2c.c
+++ b/platforms/avr/drivers/ws2812_i2c.c
@@ -18,12 +18,12 @@ void ws2812_init(void) {
18} 18}
19 19
20// Setleds for standard RGB 20// Setleds for standard RGB
21void ws2812_setleds(LED_TYPE *ledarray, uint16_t leds) { 21void ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) {
22 static bool s_init = false; 22 static bool s_init = false;
23 if (!s_init) { 23 if (!s_init) {
24 ws2812_init(); 24 ws2812_init();
25 s_init = true; 25 s_init = true;
26 } 26 }
27 27
28 i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ledarray, sizeof(LED_TYPE) * leds, WS2812_I2C_TIMEOUT); 28 i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ledarray, sizeof(rgb_led_t) * leds, WS2812_I2C_TIMEOUT);
29} 29}
diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c
index 8d59e13bb2..de317e269a 100644
--- a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c
+++ b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c
@@ -268,7 +268,7 @@ static inline void sync_ws2812_transfer(void) {
268 busy_wait_until(LAST_TRANSFER); 268 busy_wait_until(LAST_TRANSFER);
269} 269}
270 270
271void ws2812_setleds(LED_TYPE* ledarray, uint16_t leds) { 271void ws2812_setleds(rgb_led_t* ledarray, uint16_t leds) {
272 static bool is_initialized = false; 272 static bool is_initialized = false;
273 if (unlikely(!is_initialized)) { 273 if (unlikely(!is_initialized)) {
274 is_initialized = ws2812_init(); 274 is_initialized = ws2812_init();
diff --git a/platforms/chibios/drivers/ws2812_bitbang.c b/platforms/chibios/drivers/ws2812_bitbang.c
index c55e0f654c..e3b735a1a6 100644
--- a/platforms/chibios/drivers/ws2812_bitbang.c
+++ b/platforms/chibios/drivers/ws2812_bitbang.c
@@ -72,7 +72,7 @@ void ws2812_init(void) {
72} 72}
73 73
74// Setleds for standard RGB 74// Setleds for standard RGB
75void ws2812_setleds(LED_TYPE *ledarray, uint16_t leds) { 75void ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) {
76 static bool s_init = false; 76 static bool s_init = false;
77 if (!s_init) { 77 if (!s_init) {
78 ws2812_init(); 78 ws2812_init();
diff --git a/platforms/chibios/drivers/ws2812_pwm.c b/platforms/chibios/drivers/ws2812_pwm.c
index cfee547a82..440687bd72 100644
--- a/platforms/chibios/drivers/ws2812_pwm.c
+++ b/platforms/chibios/drivers/ws2812_pwm.c
@@ -379,7 +379,7 @@ void ws2812_write_led_rgbw(uint16_t led_number, uint8_t r, uint8_t g, uint8_t b,
379} 379}
380 380
381// Setleds for standard RGB 381// Setleds for standard RGB
382void ws2812_setleds(LED_TYPE* ledarray, uint16_t leds) { 382void ws2812_setleds(rgb_led_t* ledarray, uint16_t leds) {
383 static bool s_init = false; 383 static bool s_init = false;
384 if (!s_init) { 384 if (!s_init) {
385 ws2812_init(); 385 ws2812_init();
diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c
index f188576e04..f56236a8b8 100644
--- a/platforms/chibios/drivers/ws2812_spi.c
+++ b/platforms/chibios/drivers/ws2812_spi.c
@@ -106,7 +106,7 @@ static uint8_t get_protocol_eq(uint8_t data, int pos) {
106 return eq; 106 return eq;
107} 107}
108 108
109static void set_led_color_rgb(LED_TYPE color, int pos) { 109static void set_led_color_rgb(rgb_led_t color, int pos) {
110 uint8_t* tx_start = &txbuf[PREAMBLE_SIZE]; 110 uint8_t* tx_start = &txbuf[PREAMBLE_SIZE];
111 111
112#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) 112#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB)
@@ -187,7 +187,7 @@ void ws2812_init(void) {
187#endif 187#endif
188} 188}
189 189
190void ws2812_setleds(LED_TYPE* ledarray, uint16_t leds) { 190void ws2812_setleds(rgb_led_t* ledarray, uint16_t leds) {
191 static bool s_init = false; 191 static bool s_init = false;
192 if (!s_init) { 192 if (!s_init) {
193 ws2812_init(); 193 ws2812_init();
diff --git a/quantum/color.c b/quantum/color.c
index 767155c9db..395383f428 100644
--- a/quantum/color.c
+++ b/quantum/color.c
@@ -110,7 +110,7 @@ RGB hsv_to_rgb_nocie(HSV hsv) {
110} 110}
111 111
112#ifdef RGBW 112#ifdef RGBW
113void convert_rgb_to_rgbw(LED_TYPE *led) { 113void convert_rgb_to_rgbw(rgb_led_t *led) {
114 // Determine lowest value in all three colors, put that into 114 // Determine lowest value in all three colors, put that into
115 // the white channel and then shift all colors by that amount 115 // the white channel and then shift all colors by that amount
116 led->w = MIN(led->r, MIN(led->g, led->b)); 116 led->w = MIN(led->r, MIN(led->g, led->b));
diff --git a/quantum/color.h b/quantum/color.h
index 135ad623b5..a0414a291f 100644
--- a/quantum/color.h
+++ b/quantum/color.h
@@ -83,12 +83,6 @@
83# pragma pack(push, 1) 83# pragma pack(push, 1)
84#endif 84#endif
85 85
86#ifdef RGBW
87# define LED_TYPE cRGBW
88#else
89# define LED_TYPE RGB
90#endif
91
92#define WS2812_BYTE_ORDER_RGB 0 86#define WS2812_BYTE_ORDER_RGB 0
93#define WS2812_BYTE_ORDER_GRB 1 87#define WS2812_BYTE_ORDER_GRB 1
94#define WS2812_BYTE_ORDER_BGR 2 88#define WS2812_BYTE_ORDER_BGR 2
@@ -97,26 +91,7 @@
97# define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB 91# define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB
98#endif 92#endif
99 93
100typedef struct PACKED { 94typedef struct PACKED rgb_led_t {
101#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB)
102 uint8_t g;
103 uint8_t r;
104 uint8_t b;
105#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB)
106 uint8_t r;
107 uint8_t g;
108 uint8_t b;
109#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR)
110 uint8_t b;
111 uint8_t g;
112 uint8_t r;
113#endif
114} cRGB;
115
116typedef cRGB RGB;
117
118// WS2812 specific layout
119typedef struct PACKED {
120#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) 95#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB)
121 uint8_t g; 96 uint8_t g;
122 uint8_t r; 97 uint8_t r;
@@ -130,10 +105,14 @@ typedef struct PACKED {
130 uint8_t g; 105 uint8_t g;
131 uint8_t r; 106 uint8_t r;
132#endif 107#endif
108#ifdef RGBW
133 uint8_t w; 109 uint8_t w;
134} cRGBW; 110#endif
111} rgb_led_t;
112
113typedef rgb_led_t RGB;
135 114
136typedef struct PACKED { 115typedef struct PACKED HSV {
137 uint8_t h; 116 uint8_t h;
138 uint8_t s; 117 uint8_t s;
139 uint8_t v; 118 uint8_t v;
@@ -146,5 +125,5 @@ typedef struct PACKED {
146RGB hsv_to_rgb(HSV hsv); 125RGB hsv_to_rgb(HSV hsv);
147RGB hsv_to_rgb_nocie(HSV hsv); 126RGB hsv_to_rgb_nocie(HSV hsv);
148#ifdef RGBW 127#ifdef RGBW
149void convert_rgb_to_rgbw(LED_TYPE *led); 128void convert_rgb_to_rgbw(rgb_led_t *led);
150#endif 129#endif
diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c
index 695ecc78a4..cd0e80cc24 100644
--- a/quantum/rgb_matrix/rgb_matrix_drivers.c
+++ b/quantum/rgb_matrix/rgb_matrix_drivers.c
@@ -426,8 +426,8 @@ const rgb_matrix_driver_t rgb_matrix_driver = {
426# endif 426# endif
427 427
428// LED color buffer 428// LED color buffer
429LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; 429rgb_led_t rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT];
430bool ws2812_dirty = false; 430bool ws2812_dirty = false;
431 431
432static void init(void) { 432static void init(void) {
433 ws2812_dirty = false; 433 ws2812_dirty = false;
diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c
index 158112f31d..70672ceb8f 100644
--- a/quantum/rgblight/rgblight.c
+++ b/quantum/rgblight/rgblight.c
@@ -115,7 +115,7 @@ animation_status_t animation_status = {};
115#endif 115#endif
116 116
117#ifndef LED_ARRAY 117#ifndef LED_ARRAY
118LED_TYPE led[RGBLED_NUM]; 118rgb_led_t led[RGBLED_NUM];
119# define LED_ARRAY led 119# define LED_ARRAY led
120#endif 120#endif
121 121
@@ -144,17 +144,17 @@ __attribute__((weak)) RGB rgblight_hsv_to_rgb(HSV hsv) {
144 return hsv_to_rgb(hsv); 144 return hsv_to_rgb(hsv);
145} 145}
146 146
147void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) { 147void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1) {
148 HSV hsv = {hue, sat, val}; 148 HSV hsv = {hue, sat, val};
149 RGB rgb = rgblight_hsv_to_rgb(hsv); 149 RGB rgb = rgblight_hsv_to_rgb(hsv);
150 setrgb(rgb.r, rgb.g, rgb.b, led1); 150 setrgb(rgb.r, rgb.g, rgb.b, led1);
151} 151}
152 152
153void sethsv(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) { 153void sethsv(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1) {
154 sethsv_raw(hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val, led1); 154 sethsv_raw(hue, sat, val > RGBLIGHT_LIMIT_VAL ? RGBLIGHT_LIMIT_VAL : val, led1);
155} 155}
156 156
157void setrgb(uint8_t r, uint8_t g, uint8_t b, LED_TYPE *led1) { 157void setrgb(uint8_t r, uint8_t g, uint8_t b, rgb_led_t *led1) {
158 led1->r = r; 158 led1->r = r;
159 led1->g = g; 159 led1->g = g;
160 led1->b = b; 160 led1->b = b;
@@ -516,7 +516,7 @@ void rgblight_decrease_speed_noeeprom(void) {
516 516
517void rgblight_sethsv_noeeprom_old(uint8_t hue, uint8_t sat, uint8_t val) { 517void rgblight_sethsv_noeeprom_old(uint8_t hue, uint8_t sat, uint8_t val) {
518 if (rgblight_config.enable) { 518 if (rgblight_config.enable) {
519 LED_TYPE tmp_led; 519 rgb_led_t tmp_led;
520 sethsv(hue, sat, val, &tmp_led); 520 sethsv(hue, sat, val, &tmp_led);
521 rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b); 521 rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b);
522 } 522 }
@@ -532,7 +532,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w
532 rgblight_status.base_mode = mode_base_table[rgblight_config.mode]; 532 rgblight_status.base_mode = mode_base_table[rgblight_config.mode];
533 if (rgblight_config.mode == RGBLIGHT_MODE_STATIC_LIGHT) { 533 if (rgblight_config.mode == RGBLIGHT_MODE_STATIC_LIGHT) {
534 // same static color 534 // same static color
535 LED_TYPE tmp_led; 535 rgb_led_t tmp_led;
536#ifdef RGBLIGHT_LAYERS_RETAIN_VAL 536#ifdef RGBLIGHT_LAYERS_RETAIN_VAL
537 // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val 537 // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val
538 rgblight_config.val = val; 538 rgblight_config.val = val;
@@ -576,7 +576,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w
576 _hue = hue - _hue; 576 _hue = hue - _hue;
577 } 577 }
578 dprintf("rgblight rainbow set hsv: %d,%d,%d,%u\n", i, _hue, direction, range); 578 dprintf("rgblight rainbow set hsv: %d,%d,%d,%u\n", i, _hue, direction, range);
579 sethsv(_hue, sat, val, (LED_TYPE *)&led[i + rgblight_ranges.effect_start_pos]); 579 sethsv(_hue, sat, val, (rgb_led_t *)&led[i + rgblight_ranges.effect_start_pos]);
580 } 580 }
581# ifdef RGBLIGHT_LAYERS_RETAIN_VAL 581# ifdef RGBLIGHT_LAYERS_RETAIN_VAL
582 // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val 582 // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val
@@ -679,7 +679,7 @@ void rgblight_sethsv_at(uint8_t hue, uint8_t sat, uint8_t val, uint8_t index) {
679 return; 679 return;
680 } 680 }
681 681
682 LED_TYPE tmp_led; 682 rgb_led_t tmp_led;
683 sethsv(hue, sat, val, &tmp_led); 683 sethsv(hue, sat, val, &tmp_led);
684 rgblight_setrgb_at(tmp_led.r, tmp_led.g, tmp_led.b, index); 684 rgblight_setrgb_at(tmp_led.r, tmp_led.g, tmp_led.b, index);
685} 685}
@@ -717,7 +717,7 @@ void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start,
717 return; 717 return;
718 } 718 }
719 719
720 LED_TYPE tmp_led; 720 rgb_led_t tmp_led;
721 sethsv(hue, sat, val, &tmp_led); 721 sethsv(hue, sat, val, &tmp_led);
722 rgblight_setrgb_range(tmp_led.r, tmp_led.g, tmp_led.b, start, end); 722 rgblight_setrgb_range(tmp_led.r, tmp_led.g, tmp_led.b, start, end);
723} 723}
@@ -786,8 +786,8 @@ static void rgblight_layers_write(void) {
786 break; // No more segments 786 break; // No more segments
787 } 787 }
788 // Write segment.count LEDs 788 // Write segment.count LEDs
789 LED_TYPE *const limit = &led[MIN(segment.index + segment.count, RGBLED_NUM)]; 789 rgb_led_t *const limit = &led[MIN(segment.index + segment.count, RGBLED_NUM)];
790 for (LED_TYPE *led_ptr = &led[segment.index]; led_ptr < limit; led_ptr++) { 790 for (rgb_led_t *led_ptr = &led[segment.index]; led_ptr < limit; led_ptr++) {
791# ifdef RGBLIGHT_LAYERS_RETAIN_VAL 791# ifdef RGBLIGHT_LAYERS_RETAIN_VAL
792 sethsv(segment.hue, segment.sat, current_val, led_ptr); 792 sethsv(segment.hue, segment.sat, current_val, led_ptr);
793# else 793# else
@@ -897,15 +897,15 @@ void rgblight_wakeup(void) {
897 897
898#endif 898#endif
899 899
900__attribute__((weak)) void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { 900__attribute__((weak)) void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) {
901 ws2812_setleds(start_led, num_leds); 901 ws2812_setleds(start_led, num_leds);
902} 902}
903 903
904#ifndef RGBLIGHT_CUSTOM_DRIVER 904#ifndef RGBLIGHT_CUSTOM_DRIVER
905 905
906void rgblight_set(void) { 906void rgblight_set(void) {
907 LED_TYPE *start_led; 907 rgb_led_t *start_led;
908 uint8_t num_leds = rgblight_ranges.clipping_num_leds; 908 uint8_t num_leds = rgblight_ranges.clipping_num_leds;
909 909
910 if (!rgblight_config.enable) { 910 if (!rgblight_config.enable) {
911 for (uint8_t i = rgblight_ranges.effect_start_pos; i < rgblight_ranges.effect_end_pos; i++) { 911 for (uint8_t i = rgblight_ranges.effect_start_pos; i < rgblight_ranges.effect_end_pos; i++) {
@@ -931,7 +931,7 @@ void rgblight_set(void) {
931# endif 931# endif
932 932
933# ifdef RGBLIGHT_LED_MAP 933# ifdef RGBLIGHT_LED_MAP
934 LED_TYPE led0[RGBLED_NUM]; 934 rgb_led_t led0[RGBLED_NUM];
935 for (uint8_t i = 0; i < RGBLED_NUM; i++) { 935 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
936 led0[i] = led[pgm_read_byte(&led_map[i])]; 936 led0[i] = led[pgm_read_byte(&led_map[i])];
937 } 937 }
@@ -1230,7 +1230,7 @@ void rgblight_effect_rainbow_swirl(animation_status_t *anim) {
1230 1230
1231 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) { 1231 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) {
1232 hue = (RGBLIGHT_RAINBOW_SWIRL_RANGE / rgblight_ranges.effect_num_leds * i + anim->current_hue); 1232 hue = (RGBLIGHT_RAINBOW_SWIRL_RANGE / rgblight_ranges.effect_num_leds * i + anim->current_hue);
1233 sethsv(hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&led[i + rgblight_ranges.effect_start_pos]); 1233 sethsv(hue, rgblight_config.sat, rgblight_config.val, (rgb_led_t *)&led[i + rgblight_ranges.effect_start_pos]);
1234 } 1234 }
1235 rgblight_set(); 1235 rgblight_set();
1236 1236
@@ -1267,10 +1267,10 @@ void rgblight_effect_snake(animation_status_t *anim) {
1267# endif 1267# endif
1268 1268
1269 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) { 1269 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) {
1270 LED_TYPE *ledp = led + i + rgblight_ranges.effect_start_pos; 1270 rgb_led_t *ledp = led + i + rgblight_ranges.effect_start_pos;
1271 ledp->r = 0; 1271 ledp->r = 0;
1272 ledp->g = 0; 1272 ledp->g = 0;
1273 ledp->b = 0; 1273 ledp->b = 0;
1274# ifdef RGBW 1274# ifdef RGBW
1275 ledp->w = 0; 1275 ledp->w = 0;
1276# endif 1276# endif
@@ -1340,7 +1340,7 @@ void rgblight_effect_knight(animation_status_t *anim) {
1340 cur = (i + RGBLIGHT_EFFECT_KNIGHT_OFFSET) % rgblight_ranges.effect_num_leds + rgblight_ranges.effect_start_pos; 1340 cur = (i + RGBLIGHT_EFFECT_KNIGHT_OFFSET) % rgblight_ranges.effect_num_leds + rgblight_ranges.effect_start_pos;
1341 1341
1342 if (i >= low_bound && i <= high_bound) { 1342 if (i >= low_bound && i <= high_bound) {
1343 sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&led[cur]); 1343 sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, (rgb_led_t *)&led[cur]);
1344 } else { 1344 } else {
1345 led[cur].r = 0; 1345 led[cur].r = 0;
1346 led[cur].g = 0; 1346 led[cur].g = 0;
@@ -1392,7 +1392,7 @@ void rgblight_effect_christmas(animation_status_t *anim) {
1392 1392
1393 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) { 1393 for (i = 0; i < rgblight_ranges.effect_num_leds; i++) {
1394 uint8_t local_hue = (i / RGBLIGHT_EFFECT_CHRISTMAS_STEP) % 2 ? hue : hue_green - hue; 1394 uint8_t local_hue = (i / RGBLIGHT_EFFECT_CHRISTMAS_STEP) % 2 ? hue : hue_green - hue;
1395 sethsv(local_hue, rgblight_config.sat, val, (LED_TYPE *)&led[i + rgblight_ranges.effect_start_pos]); 1395 sethsv(local_hue, rgblight_config.sat, val, (rgb_led_t *)&led[i + rgblight_ranges.effect_start_pos]);
1396 } 1396 }
1397 rgblight_set(); 1397 rgblight_set();
1398 1398
@@ -1415,7 +1415,7 @@ void rgblight_effect_rgbtest(animation_status_t *anim) {
1415 uint8_t b; 1415 uint8_t b;
1416 1416
1417 if (maxval == 0) { 1417 if (maxval == 0) {
1418 LED_TYPE tmp_led; 1418 rgb_led_t tmp_led;
1419 sethsv(0, 255, RGBLIGHT_LIMIT_VAL, &tmp_led); 1419 sethsv(0, 255, RGBLIGHT_LIMIT_VAL, &tmp_led);
1420 maxval = tmp_led.r; 1420 maxval = tmp_led.r;
1421 } 1421 }
@@ -1439,7 +1439,7 @@ void rgblight_effect_rgbtest(animation_status_t *anim) {
1439#ifdef RGBLIGHT_EFFECT_ALTERNATING 1439#ifdef RGBLIGHT_EFFECT_ALTERNATING
1440void rgblight_effect_alternating(animation_status_t *anim) { 1440void rgblight_effect_alternating(animation_status_t *anim) {
1441 for (int i = 0; i < rgblight_ranges.effect_num_leds; i++) { 1441 for (int i = 0; i < rgblight_ranges.effect_num_leds; i++) {
1442 LED_TYPE *ledp = led + i + rgblight_ranges.effect_start_pos; 1442 rgb_led_t *ledp = led + i + rgblight_ranges.effect_start_pos;
1443 if (i < rgblight_ranges.effect_num_leds / 2 && anim->pos) { 1443 if (i < rgblight_ranges.effect_num_leds / 2 && anim->pos) {
1444 sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, ledp); 1444 sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, ledp);
1445 } else if (i >= rgblight_ranges.effect_num_leds / 2 && !anim->pos) { 1445 } else if (i >= rgblight_ranges.effect_num_leds / 2 && !anim->pos) {
@@ -1512,7 +1512,7 @@ void rgblight_effect_twinkle(animation_status_t *anim) {
1512 // This LED is off, and was NOT selected to start brightening 1512 // This LED is off, and was NOT selected to start brightening
1513 } 1513 }
1514 1514
1515 LED_TYPE *ledp = led + i + rgblight_ranges.effect_start_pos; 1515 rgb_led_t *ledp = led + i + rgblight_ranges.effect_start_pos;
1516 sethsv(c->h, c->s, c->v, ledp); 1516 sethsv(c->h, c->s, c->v, ledp);
1517 } 1517 }
1518 1518
diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h
index 001058f962..450caf603e 100644
--- a/quantum/rgblight/rgblight.h
+++ b/quantum/rgblight/rgblight.h
@@ -233,7 +233,7 @@ void rgblight_unblink_all_but_layer(uint8_t layer);
233 233
234#endif 234#endif
235 235
236extern LED_TYPE led[RGBLED_NUM]; 236extern rgb_led_t led[RGBLED_NUM];
237 237
238extern const uint8_t RGBLED_BREATHING_INTERVALS[4] PROGMEM; 238extern const uint8_t RGBLED_BREATHING_INTERVALS[4] PROGMEM;
239extern const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[3] PROGMEM; 239extern const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[3] PROGMEM;
@@ -283,9 +283,9 @@ typedef struct _rgblight_ranges_t {
283extern rgblight_ranges_t rgblight_ranges; 283extern rgblight_ranges_t rgblight_ranges;
284 284
285/* === Utility Functions ===*/ 285/* === Utility Functions ===*/
286void sethsv(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1); 286void sethsv(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1);
287void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1); // without RGBLIGHT_LIMIT_VAL check 287void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1); // without RGBLIGHT_LIMIT_VAL check
288void setrgb(uint8_t r, uint8_t g, uint8_t b, LED_TYPE *led1); 288void setrgb(uint8_t r, uint8_t g, uint8_t b, rgb_led_t *led1);
289 289
290/* === Low level Functions === */ 290/* === Low level Functions === */
291void rgblight_set(void); 291void rgblight_set(void);
diff --git a/users/curry/rgb_lighting_user.c b/users/curry/rgb_lighting_user.c
index 34156744fe..81f3c4e505 100644
--- a/users/curry/rgb_lighting_user.c
+++ b/users/curry/rgb_lighting_user.c
@@ -142,7 +142,7 @@ void scan_rgblight_fadeout(void) { // Don't effing change this function .... rg
142 if (light->life) { 142 if (light->life) {
143 light->life -= 1; 143 light->life -= 1;
144 if (get_highest_layer(layer_state) == 0) { 144 if (get_highest_layer(layer_state) == 0) {
145 sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]); 145 sethsv(light->hue + rand() % 0xF, 255, light->life, (rgb_led_t *)&led[light_index]);
146 } 146 }
147 light->timer = timer_read(); 147 light->timer = timer_read();
148 } else { 148 } else {
diff --git a/users/xtonhasvim/fancylighting.c b/users/xtonhasvim/fancylighting.c
index a88ca4beb3..e3d1093b8d 100644
--- a/users/xtonhasvim/fancylighting.c
+++ b/users/xtonhasvim/fancylighting.c
@@ -45,7 +45,7 @@ void matrix_scan_keymap(void) {
45 45
46uint16_t effect_start_timer = 0; 46uint16_t effect_start_timer = 0;
47uint8_t user_rgb_mode = 0; 47uint8_t user_rgb_mode = 0;
48LED_TYPE shadowed_led[RGBLED_NUM] = {{0}}; 48rgb_led_t shadowed_led[RGBLED_NUM] = {{0}};
49 49
50void start_firey_return(void) { 50void start_firey_return(void) {
51 user_rgb_mode = BREATH_FIRE; 51 user_rgb_mode = BREATH_FIRE;
@@ -79,7 +79,7 @@ void set_color_for_offsets(uint16_t time_offset, uint16_t space_offset, uint8_t
79 float alpha = (time_progress + 0.1) * 7.0 - space_progress; 79 float alpha = (time_progress + 0.1) * 7.0 - space_progress;
80 alpha = fmin(1.0, alpha*alpha); 80 alpha = fmin(1.0, alpha*alpha);
81 81
82 LED_TYPE px[1] = {{0}}; 82 rgb_led_t px[1] = {{0}};
83 sethsv((uint16_t)(fmod(time_progress * 1.5 + space_progress,1.0)*360), 255, (uint8_t)(progress*255),&px[0]); 83 sethsv((uint16_t)(fmod(time_progress * 1.5 + space_progress,1.0)*360), 255, (uint8_t)(progress*255),&px[0]);
84 led[idx].r = alpha * px[0].r + ( 1.0 - alpha) * shadowed_led[idx].r; 84 led[idx].r = alpha * px[0].r + ( 1.0 - alpha) * shadowed_led[idx].r;
85 led[idx].g = alpha * px[0].g + ( 1.0 - alpha) * shadowed_led[idx].g; 85 led[idx].g = alpha * px[0].g + ( 1.0 - alpha) * shadowed_led[idx].g;
diff --git a/users/xtonhasvim/fancylighting.h b/users/xtonhasvim/fancylighting.h
index 02fb58b84a..b1a5c725f1 100644
--- a/users/xtonhasvim/fancylighting.h
+++ b/users/xtonhasvim/fancylighting.h
@@ -22,7 +22,7 @@
22 22
23 23
24extern uint8_t user_rgb_mode; 24extern uint8_t user_rgb_mode;
25extern LED_TYPE shadowed_led[]; 25extern rgb_led_t shadowed_led[];
26 26
27 27
28#endif //RGBLIGHT_ENABLE 28#endif //RGBLIGHT_ENABLE
diff --git a/users/zer09/lights.h b/users/zer09/lights.h
index f1bd7245d5..380283b733 100644
--- a/users/zer09/lights.h
+++ b/users/zer09/lights.h
@@ -9,7 +9,7 @@
9#define EECONFIG_LED_DIM_LVL (uint8_t *)15 9#define EECONFIG_LED_DIM_LVL (uint8_t *)15
10 10
11#define SET_LED_RGB(r, g, b, led_dim, pos) \ 11#define SET_LED_RGB(r, g, b, led_dim, pos) \
12 setrgb(r >> led_dim, g >> led_dim, b >> led_dim, (LED_TYPE *)&led[pos]) 12 setrgb(r >> led_dim, g >> led_dim, b >> led_dim, (rgb_led_t *)&led[pos])
13 13
14typedef enum { 14typedef enum {
15 DEFAULT, 15 DEFAULT,