From 17f36a21bfc340e4715c5849e4d0c537820e7cbe Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 5 Dec 2023 22:49:14 +1100 Subject: Rework RGBLight driver system (#22529) --- keyboards/neson_design/700e/700e.c | 7 ++++++- keyboards/neson_design/700e/info.json | 1 + keyboards/neson_design/700e/rules.mk | 1 + keyboards/neson_design/n6/info.json | 1 + keyboards/neson_design/n6/n6.c | 7 ++++++- keyboards/neson_design/n6/rules.mk | 1 + keyboards/neson_design/nico/info.json | 3 ++- keyboards/neson_design/nico/nico.c | 6 +++++- keyboards/neson_design/nico/rules.mk | 2 +- 9 files changed, 24 insertions(+), 5 deletions(-) (limited to 'keyboards/neson_design') diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c index 9def73d6a4..31f88a71f9 100644 --- a/keyboards/neson_design/700e/700e.c +++ b/keyboards/neson_design/700e/700e.c @@ -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); diff --git a/keyboards/neson_design/700e/info.json b/keyboards/neson_design/700e/info.json index 12a979ab11..3b74e9609a 100644 --- a/keyboards/neson_design/700e/info.json +++ b/keyboards/neson_design/700e/info.json @@ -20,6 +20,7 @@ "saturation_steps": 8, "brightness_steps": 8, "led_count": 68, + "driver": "custom", "animations": { "breathing": true, "rainbow_mood": true, diff --git a/keyboards/neson_design/700e/rules.mk b/keyboards/neson_design/700e/rules.mk index 5650ed1fee..dd1db38bab 100644 --- a/keyboards/neson_design/700e/rules.mk +++ b/keyboards/neson_design/700e/rules.mk @@ -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 diff --git a/keyboards/neson_design/n6/info.json b/keyboards/neson_design/n6/info.json index 3f383b4f8f..c48824d80f 100644 --- a/keyboards/neson_design/n6/info.json +++ b/keyboards/neson_design/n6/info.json @@ -23,6 +23,7 @@ "saturation_steps": 8, "brightness_steps": 8, "led_count": 65, + "driver": "custom", "max_brightness": 192, "animations": { "breathing": true, diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c index 38b634eeb7..b878b9368d 100644 --- a/keyboards/neson_design/n6/n6.c +++ b/keyboards/neson_design/n6/n6.c @@ -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); diff --git a/keyboards/neson_design/n6/rules.mk b/keyboards/neson_design/n6/rules.mk index a3e4abe6cd..4c9ce45352 100644 --- a/keyboards/neson_design/n6/rules.mk +++ b/keyboards/neson_design/n6/rules.mk @@ -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 diff --git a/keyboards/neson_design/nico/info.json b/keyboards/neson_design/nico/info.json index 477ac3ba7c..1c86d9a1ae 100644 --- a/keyboards/neson_design/nico/info.json +++ b/keyboards/neson_design/nico/info.json @@ -25,7 +25,8 @@ "pin": "B0" }, "rgblight": { - "led_count": 5 + "led_count": 5, + "driver": "custom" }, "url": "", "usb": { diff --git a/keyboards/neson_design/nico/nico.c b/keyboards/neson_design/nico/nico.c index b4d15777b7..5d84cb9e1b 100644 --- a/keyboards/neson_design/nico/nico.c +++ b/keyboards/neson_design/nico/nico.c @@ -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 \ No newline at end of file diff --git a/keyboards/neson_design/nico/rules.mk b/keyboards/neson_design/nico/rules.mk index 6e7633bfe0..9a69649289 100644 --- a/keyboards/neson_design/nico/rules.mk +++ b/keyboards/neson_design/nico/rules.mk @@ -1 +1 @@ -# This file intentionally left blank +WS2812_DRIVER_REQUIRED = yes -- cgit v1.2.3