From 75e1ef7734413521387b110275e472a0dadae1df Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun, 30 Apr 2023 16:39:28 +0800 Subject: [PATCH 1/2] Add required string header file (#20638) --- drivers/led/issi/is31fl3218.h | 1 + drivers/led/issi/is31fl3731-simple.h | 1 + drivers/led/issi/is31fl3731.h | 1 + drivers/led/issi/is31fl3733-simple.h | 1 + drivers/led/issi/is31fl3736.h | 1 + drivers/led/issi/is31fl3737.h | 1 + 6 files changed, 6 insertions(+) diff --git a/drivers/led/issi/is31fl3218.h b/drivers/led/issi/is31fl3218.h index fa760da191d..26bb01a0147 100644 --- a/drivers/led/issi/is31fl3218.h +++ b/drivers/led/issi/is31fl3218.h @@ -18,6 +18,7 @@ #include #include +#include void IS31FL3218_init(void); void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3731-simple.h b/drivers/led/issi/is31fl3731-simple.h index 1ddadd52090..7834766b94e 100644 --- a/drivers/led/issi/is31fl3731-simple.h +++ b/drivers/led/issi/is31fl3731-simple.h @@ -20,6 +20,7 @@ #include #include +#include #include "progmem.h" typedef struct is31_led { diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h index 6791289c9e6..4c79cb81464 100644 --- a/drivers/led/issi/is31fl3731.h +++ b/drivers/led/issi/is31fl3731.h @@ -19,6 +19,7 @@ #include #include +#include #include "progmem.h" typedef struct is31_led { diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h index f0ea3adca05..1571fdd3d58 100644 --- a/drivers/led/issi/is31fl3733-simple.h +++ b/drivers/led/issi/is31fl3733-simple.h @@ -22,6 +22,7 @@ #include #include +#include #include "progmem.h" typedef struct is31_led { diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h index d7307b74145..332b2035f30 100644 --- a/drivers/led/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h @@ -19,6 +19,7 @@ #include #include +#include #include "progmem.h" // Simple interface option. diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h index 372e9e4e9bd..ca9a917ee2b 100644 --- a/drivers/led/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h @@ -21,6 +21,7 @@ #include #include +#include #include "progmem.h" typedef struct is31_led { From 4b8796168913e40de57352c7daa8eb726398aec8 Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun, 30 Apr 2023 18:39:52 +1000 Subject: [PATCH 2/2] [Bug] Add Develop is31fl3736 multi drivers (#20642) --- drivers/led/issi/is31fl3736.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index 74e3c8f0a95..d6b0881139d 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c @@ -77,7 +77,7 @@ uint8_t g_twi_transfer_buffer[20]; // buffers and the transfers in IS31FL3736_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][192]; -bool g_pwm_buffer_update_required = false; +bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}}; bool g_led_control_registers_update_required = false; @@ -169,10 +169,10 @@ void IS31FL3736_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_is31_leds[index]), sizeof(led)); - g_pwm_buffer[led.driver][led.r] = red; - g_pwm_buffer[led.driver][led.g] = green; - g_pwm_buffer[led.driver][led.b] = blue; - g_pwm_buffer_update_required = true; + g_pwm_buffer[led.driver][led.r] = red; + g_pwm_buffer[led.driver][led.g] = green; + g_pwm_buffer[led.driver][led.b] = blue; + g_pwm_buffer_update_required[led.driver] = true; } } @@ -230,9 +230,9 @@ void IS31FL3736_mono_set_brightness(int index, uint8_t value) { if (index >= 0 && index < 96) { // Index in range 0..95 -> A1..A8, B1..B8, etc. // Map index 0..95 to registers 0x00..0xBE (interleaved) - uint8_t pwm_register = index * 2; - g_pwm_buffer[0][pwm_register] = value; - g_pwm_buffer_update_required = true; + uint8_t pwm_register = index * 2; + g_pwm_buffer[0][pwm_register] = value; + g_pwm_buffer_update_required[0] = true; } }