summaryrefslogtreecommitdiff
path: root/quantum/led_matrix
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-10-23 03:32:27 +1000
committerGitHub <noreply@github.com>2023-10-22 18:32:27 +0100
commitcf7d3435d7e2cfb8927a1c436320f67bc9914eeb (patch)
tree272161a65714e8ba457d14af17a691becb7211ef /quantum/led_matrix
parent1e9b299fb0511e82ae60a4b39a1b277f4ea21afd (diff)
Add `_flush()` functions to LED drivers (#22308)
Diffstat (limited to 'quantum/led_matrix')
-rw-r--r--quantum/led_matrix/led_matrix_drivers.c111
1 files changed, 8 insertions, 103 deletions
diff --git a/quantum/led_matrix/led_matrix_drivers.c b/quantum/led_matrix/led_matrix_drivers.c
index 42594d2e16..ab8da3353a 100644
--- a/quantum/led_matrix/led_matrix_drivers.c
+++ b/quantum/led_matrix/led_matrix_drivers.c
@@ -249,159 +249,64 @@ static void init(void) {
249} 249}
250 250
251# if defined(LED_MATRIX_IS31FL3218) 251# if defined(LED_MATRIX_IS31FL3218)
252static void flush(void) {
253 is31fl3218_update_pwm_buffers();
254}
255
256const led_matrix_driver_t led_matrix_driver = { 252const led_matrix_driver_t led_matrix_driver = {
257 .init = init, 253 .init = init,
258 .flush = flush, 254 .flush = is31fl3218_update_pwm_buffers,
259 .set_value = is31fl3218_set_value, 255 .set_value = is31fl3218_set_value,
260 .set_value_all = is31fl3218_set_value_all, 256 .set_value_all = is31fl3218_set_value_all,
261}; 257};
262 258
263# elif defined(LED_MATRIX_IS31FL3731) 259# elif defined(LED_MATRIX_IS31FL3731)
264static void flush(void) {
265 is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
266# if defined(IS31FL3731_I2C_ADDRESS_2)
267 is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
268# if defined(IS31FL3731_I2C_ADDRESS_3)
269 is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_3, 2);
270# if defined(IS31FL3731_I2C_ADDRESS_4)
271 is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_4, 3);
272# endif
273# endif
274# endif
275}
276
277const led_matrix_driver_t led_matrix_driver = { 260const led_matrix_driver_t led_matrix_driver = {
278 .init = init, 261 .init = init,
279 .flush = flush, 262 .flush = is31fl3731_flush,
280 .set_value = is31fl3731_set_value, 263 .set_value = is31fl3731_set_value,
281 .set_value_all = is31fl3731_set_value_all, 264 .set_value_all = is31fl3731_set_value_all,
282}; 265};
283 266
284# elif defined(LED_MATRIX_IS31FL3733) 267# elif defined(LED_MATRIX_IS31FL3733)
285static void flush(void) {
286 is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
287# if defined(IS31FL3733_I2C_ADDRESS_2)
288 is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
289# if defined(IS31FL3733_I2C_ADDRESS_3)
290 is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_3, 2);
291# if defined(IS31FL3733_I2C_ADDRESS_4)
292 is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_4, 3);
293# endif
294# endif
295# endif
296}
297
298const led_matrix_driver_t led_matrix_driver = { 268const led_matrix_driver_t led_matrix_driver = {
299 .init = init, 269 .init = init,
300 .flush = flush, 270 .flush = is31fl3733_flush,
301 .set_value = is31fl3733_set_value, 271 .set_value = is31fl3733_set_value,
302 .set_value_all = is31fl3733_set_value_all, 272 .set_value_all = is31fl3733_set_value_all,
303}; 273};
304 274
305# elif defined(LED_MATRIX_IS31FL3736) 275# elif defined(LED_MATRIX_IS31FL3736)
306static void flush(void) {
307 is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0);
308# if defined(IS31FL3736_I2C_ADDRESS_2)
309 is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_2, 1);
310# if defined(IS31FL3736_I2C_ADDRESS_3)
311 is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_3, 2);
312# if defined(IS31FL3736_I2C_ADDRESS_4)
313 is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_4, 3);
314# endif
315# endif
316# endif
317}
318
319const led_matrix_driver_t led_matrix_driver = { 276const led_matrix_driver_t led_matrix_driver = {
320 .init = init, 277 .init = init,
321 .flush = flush, 278 .flush = is31fl3736_flush,
322 .set_value = is31fl3736_set_value, 279 .set_value = is31fl3736_set_value,
323 .set_value_all = is31fl3736_set_value_all, 280 .set_value_all = is31fl3736_set_value_all,
324}; 281};
325 282
326# elif defined(LED_MATRIX_IS31FL3737) 283# elif defined(LED_MATRIX_IS31FL3737)
327static void flush(void) {
328 is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_1, 0);
329# if defined(IS31FL3737_I2C_ADDRESS_2)
330 is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_2, 1);
331# if defined(IS31FL3737_I2C_ADDRESS_3)
332 is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_3, 2);
333# if defined(IS31FL3737_I2C_ADDRESS_4)
334 is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_4, 3);
335# endif
336# endif
337# endif
338}
339
340const led_matrix_driver_t led_matrix_driver = { 284const led_matrix_driver_t led_matrix_driver = {
341 .init = init, 285 .init = init,
342 .flush = flush, 286 .flush = is31fl3737_flush,
343 .set_value = is31fl3737_set_value, 287 .set_value = is31fl3737_set_value,
344 .set_value_all = is31fl3737_set_value_all, 288 .set_value_all = is31fl3737_set_value_all,
345}; 289};
346 290
347# elif defined(LED_MATRIX_IS31FL3741) 291# elif defined(LED_MATRIX_IS31FL3741)
348static void flush(void) {
349 is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0);
350# if defined(IS31FL3741_I2C_ADDRESS_2)
351 is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_2, 1);
352# if defined(IS31FL3741_I2C_ADDRESS_3)
353 is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_3, 2);
354# if defined(IS31FL3741_I2C_ADDRESS_4)
355 is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_4, 3);
356# endif
357# endif
358# endif
359}
360
361const led_matrix_driver_t led_matrix_driver = { 292const led_matrix_driver_t led_matrix_driver = {
362 .init = init, 293 .init = init,
363 .flush = flush, 294 .flush = is31fl3741_flush,
364 .set_value = is31fl3741_set_value, 295 .set_value = is31fl3741_set_value,
365 .set_value_all = is31fl3741_set_value_all, 296 .set_value_all = is31fl3741_set_value_all,
366}; 297};
367 298
368# elif defined(IS31FLCOMMON) 299# elif defined(IS31FLCOMMON)
369static void flush(void) {
370 IS31FL_common_update_pwm_register(DRIVER_ADDR_1, 0);
371# if defined(LED_DRIVER_ADDR_2)
372 IS31FL_common_update_pwm_register(DRIVER_ADDR_2, 1);
373# if defined(LED_DRIVER_ADDR_3)
374 IS31FL_common_update_pwm_register(DRIVER_ADDR_3, 2);
375# if defined(LED_DRIVER_ADDR_4)
376 IS31FL_common_update_pwm_register(DRIVER_ADDR_4, 3);
377# endif
378# endif
379# endif
380}
381
382const led_matrix_driver_t led_matrix_driver = { 300const led_matrix_driver_t led_matrix_driver = {
383 .init = init, 301 .init = init,
384 .flush = flush, 302 .flush = IS31FL_common_flush,
385 .set_value = IS31FL_simple_set_brightness, 303 .set_value = IS31FL_simple_set_brightness,
386 .set_value_all = IS31FL_simple_set_brigntness_all, 304 .set_value_all = IS31FL_simple_set_brigntness_all,
387}; 305};
388# elif defined(LED_MATRIX_SNLED27351) 306# elif defined(LED_MATRIX_SNLED27351)
389static void flush(void) {
390 snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_1, 0);
391# if defined(SNLED27351_I2C_ADDRESS_2)
392 snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_2, 1);
393# if defined(SNLED27351_I2C_ADDRESS_3)
394 snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_3, 2);
395# if defined(SNLED27351_I2C_ADDRESS_4)
396 snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_4, 3);
397# endif
398# endif
399# endif
400}
401
402const led_matrix_driver_t led_matrix_driver = { 307const led_matrix_driver_t led_matrix_driver = {
403 .init = init, 308 .init = init,
404 .flush = flush, 309 .flush = snled27351_flush,
405 .set_value = snled27351_set_value, 310 .set_value = snled27351_set_value,
406 .set_value_all = snled27351_set_value_all, 311 .set_value_all = snled27351_set_value_all,
407}; 312};