Rework RGBLight driver system (#22529)

This commit is contained in:
Ryan 2023-12-05 22:49:14 +11:00 committed by GitHub
parent 2acb426b8e
commit 17f36a21bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
35 changed files with 125 additions and 87 deletions

View file

@ -20,6 +20,7 @@
#include "quantum.h"
#include "i2c_master.h"
#include "drivers/led/issi/is31fl3731.h"
#include "ws2812.h"
enum {
SELF_TESTING,
@ -336,7 +337,7 @@ void housekeeping_task_kb(void)
housekeeping_task_user();
}
void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
if (rgb_state.state != NORMAL) return;
@ -353,6 +354,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
ws2812_setleds(leds, 4);
}
const rgblight_driver_t rgblight_driver = {
.setleds = setleds_custom,
};
bool led_update_kb(led_t led_state)
{
bool res = led_update_user(led_state);

View file

@ -20,6 +20,7 @@
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 68,
"driver": "custom",
"animations": {
"breathing": true,
"rainbow_mood": true,

View file

@ -12,4 +12,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
NO_USB_STARTUP_CHECK = yes
QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c
WS2812_DRIVER_REQUIRED = yes
I2C_DRIVER_REQUIRED = yes