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/ckled2001.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/led/ckled2001.c') diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c index a99b479d1c..d0099163ee 100644 --- a/drivers/led/ckled2001.c +++ b/drivers/led/ckled2001.c @@ -150,6 +150,9 @@ void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; -- cgit v1.2.3