[Bug] Add Develop is31fl3736 multi drivers (#20642)

master
Xelus22 2023-04-30 18:39:52 +10:00 committed by GitHub
parent 75e1ef7734
commit 4b87961689
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 8 deletions

View File

@ -77,7 +77,7 @@ uint8_t g_twi_transfer_buffer[20];
// buffers and the transfers in IS31FL3736_write_pwm_buffer() but it's // buffers and the transfers in IS31FL3736_write_pwm_buffer() but it's
// probably not worth the extra complexity. // probably not worth the extra complexity.
uint8_t g_pwm_buffer[DRIVER_COUNT][192]; 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}}; uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}};
bool g_led_control_registers_update_required = false; 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) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.r] = red;
g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.g] = green;
g_pwm_buffer[led.driver][led.b] = blue; g_pwm_buffer[led.driver][led.b] = blue;
g_pwm_buffer_update_required = true; 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) { if (index >= 0 && index < 96) {
// Index in range 0..95 -> A1..A8, B1..B8, etc. // Index in range 0..95 -> A1..A8, B1..B8, etc.
// Map index 0..95 to registers 0x00..0xBE (interleaved) // Map index 0..95 to registers 0x00..0xBE (interleaved)
uint8_t pwm_register = index * 2; uint8_t pwm_register = index * 2;
g_pwm_buffer[0][pwm_register] = value; g_pwm_buffer[0][pwm_register] = value;
g_pwm_buffer_update_required = true; g_pwm_buffer_update_required[0] = true;
} }
} }