Rework RGBLight driver system (#22529)
This commit is contained in:
parent
2acb426b8e
commit
17f36a21bf
35 changed files with 125 additions and 87 deletions
|
@ -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);
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 68,
|
||||
"driver": "custom",
|
||||
"animations": {
|
||||
"breathing": true,
|
||||
"rainbow_mood": true,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 65,
|
||||
"driver": "custom",
|
||||
"max_brightness": 192,
|
||||
"animations": {
|
||||
"breathing": true,
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include "quantum.h"
|
||||
#include "i2c_master.h"
|
||||
#include "drivers/led/issi/is31fl3731.h"
|
||||
#include "ws2812.h"
|
||||
|
||||
enum {
|
||||
SELF_TESTING,
|
||||
|
@ -338,7 +339,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;
|
||||
|
||||
|
@ -348,6 +349,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
|
|||
ws2812_setleds(start_led+IS31FL3731_LED_COUNT, 1);
|
||||
}
|
||||
|
||||
const rgblight_driver_t rgblight_driver = {
|
||||
.setleds = setleds_custom,
|
||||
};
|
||||
|
||||
bool led_update_kb(led_t led_state)
|
||||
{
|
||||
bool res = led_update_user(led_state);
|
||||
|
|
|
@ -11,4 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
|
||||
QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c
|
||||
WS2812_DRIVER_REQUIRED = yes
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
|
|
|
@ -25,7 +25,8 @@
|
|||
"pin": "B0"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 5
|
||||
"led_count": 5,
|
||||
"driver": "custom"
|
||||
},
|
||||
"url": "",
|
||||
"usb": {
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
#include "ws2812.h"
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
|
||||
static bool alert = false;
|
||||
|
@ -66,7 +67,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)
|
||||
{
|
||||
start_led[2].r = start_led[0].r;
|
||||
start_led[2].g = start_led[0].g;
|
||||
|
@ -82,4 +83,7 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
|
|||
ws2812_setleds(start_led, RGBLED_NUM);
|
||||
}
|
||||
|
||||
const rgblight_driver_t rgblight_driver = {
|
||||
.setleds = setleds_custom,
|
||||
};
|
||||
#endif
|
|
@ -1 +1 @@
|
|||
# This file intentionally left blank
|
||||
WS2812_DRIVER_REQUIRED = yes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue