diff options
Diffstat (limited to 'drivers/led/issi/is31fl3736.c')
-rw-r--r-- | drivers/led/issi/is31fl3736.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index dcaabba2e..c9a871118 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c | |||
@@ -163,8 +163,9 @@ void IS31FL3736_init(uint8_t addr) { | |||
163 | } | 163 | } |
164 | 164 | ||
165 | void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | 165 | void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { |
166 | is31_led led; | ||
166 | if (index >= 0 && index < DRIVER_LED_TOTAL) { | 167 | if (index >= 0 && index < DRIVER_LED_TOTAL) { |
167 | is31_led led = g_is31_leds[index]; | 168 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); |
168 | 169 | ||
169 | g_pwm_buffer[led.driver][led.r] = red; | 170 | g_pwm_buffer[led.driver][led.r] = red; |
170 | g_pwm_buffer[led.driver][led.g] = green; | 171 | g_pwm_buffer[led.driver][led.g] = green; |
@@ -180,7 +181,8 @@ void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { | |||
180 | } | 181 | } |
181 | 182 | ||
182 | void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { | 183 | void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { |
183 | is31_led led = g_is31_leds[index]; | 184 | is31_led led; |
185 | memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); | ||
184 | 186 | ||
185 | // IS31FL3733 | 187 | // IS31FL3733 |
186 | // The PWM register for a matrix position (0x00 to 0xBF) can be | 188 | // The PWM register for a matrix position (0x00 to 0xBF) can be |