led_matrix_drivers.h (1531B)
1 // Copyright 2023 QMK 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 4 #pragma once 5 6 #include <stdint.h> 7 8 #if defined(LED_MATRIX_IS31FL3218) 9 # include "is31fl3218-mono.h" 10 #elif defined(LED_MATRIX_IS31FL3236) 11 # include "is31fl3236-mono.h" 12 #elif defined(LED_MATRIX_IS31FL3729) 13 # include "is31fl3729-mono.h" 14 #elif defined(LED_MATRIX_IS31FL3731) 15 # include "is31fl3731-mono.h" 16 #elif defined(LED_MATRIX_IS31FL3733) 17 # include "is31fl3733-mono.h" 18 #elif defined(LED_MATRIX_IS31FL3736) 19 # include "is31fl3736-mono.h" 20 #elif defined(LED_MATRIX_IS31FL3737) 21 # include "is31fl3737-mono.h" 22 #elif defined(LED_MATRIX_IS31FL3741) 23 # include "is31fl3741-mono.h" 24 #elif defined(LED_MATRIX_IS31FL3742A) 25 # include "is31fl3742a-mono.h" 26 #elif defined(LED_MATRIX_IS31FL3743A) 27 # include "is31fl3743a-mono.h" 28 #elif defined(LED_MATRIX_IS31FL3745) 29 # include "is31fl3745-mono.h" 30 #elif defined(LED_MATRIX_IS31FL3746A) 31 # include "is31fl3746a-mono.h" 32 #elif defined(LED_MATRIX_SNLED27351) 33 # include "snled27351-mono.h" 34 #endif 35 36 typedef struct { 37 /* Perform any initialisation required for the other driver functions to work. */ 38 void (*init)(void); 39 40 /* Set the brightness of a single LED in the buffer. */ 41 void (*set_value)(int index, uint8_t value); 42 /* Set the brightness of all LEDS on the keyboard in the buffer. */ 43 void (*set_value_all)(uint8_t value); 44 /* Flush any buffered changes to the hardware. */ 45 void (*flush)(void); 46 } led_matrix_driver_t; 47 48 extern const led_matrix_driver_t led_matrix_driver;