|
|
|
@ -73,7 +73,7 @@ uint8_t g_twi_transfer_buffer[20] = {0xFF}; |
|
|
|
|
// buffers and the transfers in IS31FL3741_write_pwm_buffer() but it's
|
|
|
|
|
// probably not worth the extra complexity.
|
|
|
|
|
uint8_t g_pwm_buffer[DRIVER_COUNT][ISSI_MAX_LEDS]; |
|
|
|
|
bool g_pwm_buffer_update_required = false; |
|
|
|
|
bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; |
|
|
|
|
bool g_scaling_registers_update_required[DRIVER_COUNT] = {false}; |
|
|
|
|
|
|
|
|
|
uint8_t g_scaling_registers[DRIVER_COUNT][ISSI_MAX_LEDS]; |
|
|
|
@ -169,10 +169,10 @@ void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { |
|
|
|
|
if (index >= 0 && index < DRIVER_LED_TOTAL) { |
|
|
|
|
is31_led led = g_is31_leds[index]; |
|
|
|
|
|
|
|
|
|
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; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -206,12 +206,12 @@ void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bo |
|
|
|
|
g_scaling_registers_update_required[led.driver] = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void IS31FL3741_update_pwm_buffers(uint8_t addr1, uint8_t addr2) { |
|
|
|
|
if (g_pwm_buffer_update_required) { |
|
|
|
|
IS31FL3741_write_pwm_buffer(addr1, g_pwm_buffer[0]); |
|
|
|
|
void IS31FL3741_update_pwm_buffers(uint8_t addr, uint8_t index) { |
|
|
|
|
if (g_pwm_buffer_update_required[index]) { |
|
|
|
|
IS31FL3741_write_pwm_buffer(addr, g_pwm_buffer[index]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
g_pwm_buffer_update_required = false; |
|
|
|
|
g_pwm_buffer_update_required[index] = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) { |
|
|
|
@ -219,7 +219,7 @@ void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, |
|
|
|
|
g_pwm_buffer[pled->driver][pled->g] = green; |
|
|
|
|
g_pwm_buffer[pled->driver][pled->b] = blue; |
|
|
|
|
|
|
|
|
|
g_pwm_buffer_update_required = true; |
|
|
|
|
g_pwm_buffer_update_required[pled->driver] = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index) { |
|
|
|
|