From d1d0925cf998e965ec825fbe35a97fcbbb7e46e3 Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Thu, 8 Jun 2023 11:58:53 +1000 Subject: [Core] Optimisation - Add RGB LED colour set check in drivers (#21134) --- drivers/led/issi/is31fl3731.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/led/issi/is31fl3731.c') diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c index 80344ca721..b8b520161e 100644 --- a/drivers/led/issi/is31fl3731.c +++ b/drivers/led/issi/is31fl3731.c @@ -184,6 +184,9 @@ void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); // Subtract 0x24 to get the second index of g_pwm_buffer + if (g_pwm_buffer[led.driver][led.r - 0x24] == red && g_pwm_buffer[led.driver][led.g - 0x24] == green && g_pwm_buffer[led.driver][led.b - 0x24] == blue) { + return; + } g_pwm_buffer[led.driver][led.r - 0x24] = red; g_pwm_buffer[led.driver][led.g - 0x24] = green; g_pwm_buffer[led.driver][led.b - 0x24] = blue; -- cgit v1.2.3