summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-09-27 16:11:28 +1000
committerGitHub <noreply@github.com>2023-09-27 16:11:28 +1000
commitd58f85e09e7e1048beb4ccb6e678adad866f96fb (patch)
treee00d635a04821260fc284b034f10773efecb9496 /drivers
parent288c2313fe3b705a07166971210e91a33bb1add4 (diff)
is31fl3733: complete LED Matrix support (#22149)
Diffstat (limited to 'drivers')
-rw-r--r--drivers/led/issi/is31fl3731-simple.c27
-rw-r--r--drivers/led/issi/is31fl3731.c16
-rw-r--r--drivers/led/issi/is31fl3733-simple.c13
3 files changed, 5 insertions, 51 deletions
diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c
index 19bbc73d12..5ea4613845 100644
--- a/drivers/led/issi/is31fl3731-simple.c
+++ b/drivers/led/issi/is31fl3731-simple.c
@@ -61,31 +61,8 @@ uint8_t g_twi_transfer_buffer[20];
uint8_t g_pwm_buffer[IS31FL3731_DRIVER_COUNT][144];
bool g_pwm_buffer_update_required[IS31FL3731_DRIVER_COUNT] = {false};
-/* There's probably a better way to init this... */
-#if IS31FL3731_DRIVER_COUNT == 1
-uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {{0}};
-#elif IS31FL3731_DRIVER_COUNT == 2
-uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {{0}, {0}};
-#elif IS31FL3731_DRIVER_COUNT == 3
-uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {{0}, {0}, {0}};
-#elif IS31FL3731_DRIVER_COUNT == 4
-uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {{0}, {0}, {0}, {0}};
-#endif
-bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false};
-
-// This is the bit pattern in the LED control registers
-// (for matrix A, add one to register for matrix B)
-//
-// reg - b7 b6 b5 b4 b3 b2 b1 b0
-// 0x00 - R08,R07,R06,R05,R04,R03,R02,R01
-// 0x02 - G08,G07,G06,G05,G04,G03,G02,R00
-// 0x04 - B08,B07,B06,B05,B04,B03,G01,G00
-// 0x06 - - , - , - , - , - ,B02,B01,B00
-// 0x08 - - , - , - , - , - , - , - , -
-// 0x0A - B17,B16,B15, - , - , - , - , -
-// 0x0C - G17,G16,B14,B13,B12,B11,B10,B09
-// 0x0E - R17,G15,G14,G13,G12,G11,G10,G09
-// 0x10 - R16,R15,R14,R13,R12,R11,R10,R09
+uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {0};
+bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false};
void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
g_twi_transfer_buffer[0] = reg;
diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c
index 2123438a5f..d6ee5cdd94 100644
--- a/drivers/led/issi/is31fl3731.c
+++ b/drivers/led/issi/is31fl3731.c
@@ -60,23 +60,9 @@ uint8_t g_twi_transfer_buffer[20];
uint8_t g_pwm_buffer[IS31FL3731_DRIVER_COUNT][144];
bool g_pwm_buffer_update_required[IS31FL3731_DRIVER_COUNT] = {false};
-uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {{0}};
+uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {0};
bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false};
-// This is the bit pattern in the LED control registers
-// (for matrix A, add one to register for matrix B)
-//
-// reg - b7 b6 b5 b4 b3 b2 b1 b0
-// 0x00 - R08,R07,R06,R05,R04,R03,R02,R01
-// 0x02 - G08,G07,G06,G05,G04,G03,G02,R00
-// 0x04 - B08,B07,B06,B05,B04,B03,G01,G00
-// 0x06 - - , - , - , - , - ,B02,B01,B00
-// 0x08 - - , - , - , - , - , - , - , -
-// 0x0A - B17,B16,B15, - , - , - , - , -
-// 0x0C - G17,G16,B14,B13,B12,B11,B10,B09
-// 0x0E - R17,G15,G14,G13,G12,G11,G10,G09
-// 0x10 - R16,R15,R14,R13,R12,R11,R10,R09
-
void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
g_twi_transfer_buffer[0] = reg;
g_twi_transfer_buffer[1] = data;
diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c
index 514d9e366d..6f7a8af79c 100644
--- a/drivers/led/issi/is31fl3733-simple.c
+++ b/drivers/led/issi/is31fl3733-simple.c
@@ -75,17 +75,8 @@ uint8_t g_twi_transfer_buffer[20];
uint8_t g_pwm_buffer[IS31FL3733_DRIVER_COUNT][192];
bool g_pwm_buffer_update_required[IS31FL3733_DRIVER_COUNT] = {false};
-/* There's probably a better way to init this... */
-#if IS31FL3733_DRIVER_COUNT == 1
-uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][24] = {{0}};
-#elif IS31FL3733_DRIVER_COUNT == 2
-uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][24] = {{0}, {0}};
-#elif IS31FL3733_DRIVER_COUNT == 3
-uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][24] = {{0}, {0}, {0}};
-#elif IS31FL3733_DRIVER_COUNT == 4
-uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][24] = {{0}, {0}, {0}, {0}};
-#endif
-bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false};
+uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][24] = {0};
+bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false};
bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
// If the transaction fails function returns false.