diff options
Diffstat (limited to 'quantum/rgblight')
-rw-r--r-- | quantum/rgblight/rgblight.c | 22 | ||||
-rw-r--r-- | quantum/rgblight/rgblight.h | 7 | ||||
-rw-r--r-- | quantum/rgblight/rgblight_drivers.c | 2 | ||||
-rw-r--r-- | quantum/rgblight/rgblight_drivers.h | 1 |
4 files changed, 15 insertions, 17 deletions
diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 530cb04688..62137c020b 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -145,6 +145,15 @@ __attribute__((weak)) RGB rgblight_hsv_to_rgb(HSV hsv) { return hsv_to_rgb(hsv); } +void setrgb(uint8_t r, uint8_t g, uint8_t b, rgb_led_t *led1) { + led1->r = r; + led1->g = g; + led1->b = b; +#ifdef RGBW + led1->w = 0; +#endif +} + void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1) { HSV hsv = {hue, sat, val}; RGB rgb = rgblight_hsv_to_rgb(hsv); @@ -155,15 +164,6 @@ void 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); } -void setrgb(uint8_t r, uint8_t g, uint8_t b, rgb_led_t *led1) { - led1->r = r; - led1->g = g; - led1->b = b; -#ifdef RGBW - led1->w = 0; -#endif -} - void rgblight_check_config(void) { /* Add some out of bound checks for RGB light config */ @@ -243,6 +243,8 @@ void rgblight_init(void) { rgblight_timer_init(); // setup the timer + rgblight_driver.init(); + if (rgblight_config.enable) { rgblight_mode_noeeprom(rgblight_config.mode); } @@ -1566,4 +1568,4 @@ uint8_t rgblight_velocikey_match_speed(uint8_t minValue, uint8_t maxValue) { return MAX(minValue, maxValue - (maxValue - minValue) * ((float)typing_speed / TYPING_SPEED_MAX_VALUE)); } -#endif
\ No newline at end of file +#endif diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index 9e2b073776..0ed67ff6e3 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -240,8 +240,6 @@ void rgblight_unblink_all_but_layer(uint8_t layer); #endif -extern rgb_led_t led[RGBLIGHT_LED_COUNT]; - extern const uint8_t RGBLED_BREATHING_INTERVALS[4] PROGMEM; extern const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[3] PROGMEM; extern const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[3] PROGMEM; @@ -290,11 +288,6 @@ typedef struct _rgblight_ranges_t { extern rgblight_ranges_t rgblight_ranges; -/* === Utility Functions ===*/ -void sethsv(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1); -void sethsv_raw(uint8_t hue, uint8_t sat, uint8_t val, rgb_led_t *led1); // without RGBLIGHT_LIMIT_VAL check -void setrgb(uint8_t r, uint8_t g, uint8_t b, rgb_led_t *led1); - /* === Low level Functions === */ void rgblight_set(void); void rgblight_set_clipping_range(uint8_t start_pos, uint8_t num_leds); diff --git a/quantum/rgblight/rgblight_drivers.c b/quantum/rgblight/rgblight_drivers.c index 45b60e1a5f..8902b8f842 100644 --- a/quantum/rgblight/rgblight_drivers.c +++ b/quantum/rgblight/rgblight_drivers.c @@ -7,6 +7,7 @@ # include "ws2812.h" const rgblight_driver_t rgblight_driver = { + .init = ws2812_init, .setleds = ws2812_setleds, }; @@ -14,6 +15,7 @@ const rgblight_driver_t rgblight_driver = { # include "apa102.h" const rgblight_driver_t rgblight_driver = { + .init = apa102_init, .setleds = apa102_setleds, }; diff --git a/quantum/rgblight/rgblight_drivers.h b/quantum/rgblight/rgblight_drivers.h index f7125a6f3d..af28b918e1 100644 --- a/quantum/rgblight/rgblight_drivers.h +++ b/quantum/rgblight/rgblight_drivers.h @@ -7,6 +7,7 @@ #include "color.h" typedef struct { + void (*init)(void); void (*setleds)(rgb_led_t *ledarray, uint16_t number_of_leds); } rgblight_driver_t; |