diff options
| author | Ryan <fauxpark@gmail.com> | 2024-10-06 19:01:07 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-06 21:01:07 +1300 |
| commit | 208ebf54a905ce6e4e563a6811eca8c8dc8b17e1 (patch) | |
| tree | 7bb6a8bdb5a641263c39236d0b655825ac37307b /keyboards/wilba_tech | |
| parent | 43e82ed5c72b7386ca91d1bd363ee092f77c1b9a (diff) | |
WS2812 API rework (#24364)
* Begin WS2812 API rework
* Move RGBW conversion, clean up color.h, fix RGBW for AVR bitbang
* Formatting & update PS2AVRGB I2C driver (untested)
* Tested ARM bitbang RGB+RGBW
* Tested ARM SPI RGB - RGBW not working
* Tested ARM PWM RGB+RGBW
* Tested RP2040 PIO driver RGB+RGBW
* Update RGBLight
* Formatting
* Fix BM60HSRGB rev2
* Fix oddforge/vea
* Fix 1k and XD002 RGBLite
* Fix model_m/mschwingen
* Fix handwired/promethium
* Rename `WS2812_LED_TOTAL` for BM60HSRGB
* Fix work_louder boards
* Fix dawn60
* Fix rgbkb/pan
* Fix neson_design/700e and n6
* Fix ergodox_ez/shine
* ergodox_ez/shine: invert indices for left half
* Fix matrix/abelx
* Fix matrix/m20add
* Remove custom rgblight driver for matrix/noah - should be done with lighting layers
* Fix LED indexes for RGBLight split
* Rename `convert_rgb_to_rgbw()` to `ws2812_rgb_to_rgbw()`
* Update WS2812 API docs
* `ergodox_ez/shine`: simplify LED index calculation
* LED/RGB Matrix: Add weak function for LED index resolution
* Bandaid fix for RGB Matrix splits not using WS2812
* `steelseries/prime_plus`: redo custom RGBLight driver
* Update keyboards/steelseries/prime_plus/rgblight_custom.c
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
---------
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
Diffstat (limited to 'keyboards/wilba_tech')
| -rw-r--r-- | keyboards/wilba_tech/wt_rgb_backlight.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c index 936286c2ee..645ee2b32a 100644 --- a/keyboards/wilba_tech/wt_rgb_backlight.c +++ b/keyboards/wilba_tech/wt_rgb_backlight.c | |||
| @@ -60,7 +60,6 @@ | |||
| 60 | 60 | ||
| 61 | #if defined(RGB_BACKLIGHT_DAWN60) | 61 | #if defined(RGB_BACKLIGHT_DAWN60) |
| 62 | #include "ws2812.h" | 62 | #include "ws2812.h" |
| 63 | rgb_led_t g_ws2812_leds[WS2812_LED_TOTAL]; | ||
| 64 | #endif | 63 | #endif |
| 65 | 64 | ||
| 66 | #include "progmem.h" | 65 | #include "progmem.h" |
| @@ -1011,6 +1010,9 @@ void backlight_update_pwm_buffers(void) | |||
| 1011 | driver = 0; | 1010 | driver = 0; |
| 1012 | } | 1011 | } |
| 1013 | #else | 1012 | #else |
| 1013 | #if defined(RGB_BACKLIGHT_DAWN60) | ||
| 1014 | ws2812_flush(); | ||
| 1015 | #endif | ||
| 1014 | is31fl3731_update_pwm_buffers( 0 ); | 1016 | is31fl3731_update_pwm_buffers( 0 ); |
| 1015 | is31fl3731_update_pwm_buffers( 1 ); | 1017 | is31fl3731_update_pwm_buffers( 1 ); |
| 1016 | is31fl3731_update_led_control_registers( 0 ); | 1018 | is31fl3731_update_led_control_registers( 0 ); |
| @@ -1037,10 +1039,7 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue ) | |||
| 1037 | if( index < IS31FL3731_LED_COUNT ) { | 1039 | if( index < IS31FL3731_LED_COUNT ) { |
| 1038 | is31fl3731_set_color( index, red, green, blue ); | 1040 | is31fl3731_set_color( index, red, green, blue ); |
| 1039 | } else { | 1041 | } else { |
| 1040 | g_ws2812_leds[index - IS31FL3731_LED_COUNT].r = red; | 1042 | ws2812_set_color( index - IS31FL3731_LED_COUNT, red, green, blue ); |
| 1041 | g_ws2812_leds[index - IS31FL3731_LED_COUNT].g = green; | ||
| 1042 | g_ws2812_leds[index - IS31FL3731_LED_COUNT].b = blue; | ||
| 1043 | ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL); | ||
| 1044 | } | 1043 | } |
| 1045 | #else | 1044 | #else |
| 1046 | is31fl3731_set_color( index, red, green, blue ); | 1045 | is31fl3731_set_color( index, red, green, blue ); |
| @@ -1075,12 +1074,7 @@ void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue ) | |||
| 1075 | } | 1074 | } |
| 1076 | #elif defined(RGB_BACKLIGHT_DAWN60) | 1075 | #elif defined(RGB_BACKLIGHT_DAWN60) |
| 1077 | is31fl3731_set_color_all( red, green, blue ); | 1076 | is31fl3731_set_color_all( red, green, blue ); |
| 1078 | for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { | 1077 | ws2812_set_color_all( red, green, blue ); |
| 1079 | g_ws2812_leds[i].r = red; | ||
| 1080 | g_ws2812_leds[i].g = green; | ||
| 1081 | g_ws2812_leds[i].b = blue; | ||
| 1082 | } | ||
| 1083 | ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL); | ||
| 1084 | #else | 1078 | #else |
| 1085 | is31fl3731_set_color_all( red, green, blue ); | 1079 | is31fl3731_set_color_all( red, green, blue ); |
| 1086 | #endif | 1080 | #endif |
| @@ -1325,7 +1319,7 @@ void backlight_effect_alphas_mods(void) | |||
| 1325 | } | 1319 | } |
| 1326 | } | 1320 | } |
| 1327 | #if defined(RGB_BACKLIGHT_DAWN60) | 1321 | #if defined(RGB_BACKLIGHT_DAWN60) |
| 1328 | for (int i = 0; i < WS2812_LED_TOTAL; i++) { | 1322 | for (int i = 0; i < WS2812_LED_COUNT; i++) { |
| 1329 | if ((RGB_UNDERGLOW_ALPHA_TOP_START <= i && i <= RGB_UNDERGLOW_ALPHA_TOP_END) || | 1323 | if ((RGB_UNDERGLOW_ALPHA_TOP_START <= i && i <= RGB_UNDERGLOW_ALPHA_TOP_END) || |
| 1330 | (RGB_UNDERGLOW_ALPHA_BOT_START <= i && i <= RGB_UNDERGLOW_ALPHA_BOT_END)) { | 1324 | (RGB_UNDERGLOW_ALPHA_BOT_START <= i && i <= RGB_UNDERGLOW_ALPHA_BOT_END)) { |
| 1331 | backlight_set_color(i + IS31FL3731_LED_COUNT, rgb1.r, rgb1.g, rgb1.b); | 1325 | backlight_set_color(i + IS31FL3731_LED_COUNT, rgb1.r, rgb1.g, rgb1.b); |
