diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 81c279c2c39..0cf0ecb4018 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -122,14 +122,14 @@ void apa102_init(void) { gpio_set_pin_output(APA102_CI_PIN); } -void apa102_set_color(uint8_t index, uint8_t red, uint8_t green, uint8_t blue) { +void apa102_set_color(uint16_t index, uint8_t red, uint8_t green, uint8_t blue) { apa102_leds[index].r = red; apa102_leds[index].g = green; apa102_leds[index].b = blue; } void apa102_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (uint8_t i = 0; i < APA102_LED_COUNT; i++) { + for (uint16_t i = 0; i < APA102_LED_COUNT; i++) { apa102_set_color(i, red, green, blue); } } diff --git a/drivers/led/apa102.h b/drivers/led/apa102.h index 2276f1062ac..42f1344f0c9 100644 --- a/drivers/led/apa102.h +++ b/drivers/led/apa102.h @@ -32,7 +32,7 @@ #define APA102_MAX_BRIGHTNESS 31 void apa102_init(void); -void apa102_set_color(uint8_t index, uint8_t red, uint8_t green, uint8_t blue); +void apa102_set_color(uint16_t index, uint8_t red, uint8_t green, uint8_t blue); void apa102_set_color_all(uint8_t red, uint8_t green, uint8_t blue); void apa102_flush(void); diff --git a/quantum/rgblight/rgblight_drivers.c b/quantum/rgblight/rgblight_drivers.c index 8902b8f842e..76e9031aec9 100644 --- a/quantum/rgblight/rgblight_drivers.c +++ b/quantum/rgblight/rgblight_drivers.c @@ -14,6 +14,14 @@ const rgblight_driver_t rgblight_driver = { #elif defined(RGBLIGHT_APA102) # include "apa102.h" +// Temporary shim +static void apa102_setleds(rgb_led_t *ledarray, uint16_t number_of_leds) { + for (uint16_t i = 0; i < number_of_leds; i++) { + apa102_set_color(i, ledarray[i].r, ledarray[i].g, ledarray[i].b); + } + apa102_flush(); +} + const rgblight_driver_t rgblight_driver = { .init = apa102_init, .setleds = apa102_setleds,