diff options
Diffstat (limited to 'quantum/led_matrix/led_matrix.h')
-rw-r--r-- | quantum/led_matrix/led_matrix.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index d21f36e295..963992fb55 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -33,6 +33,9 @@ #ifdef IS31FL3733 # include "is31fl3733-simple.h" #endif +#ifdef CKLED2001 +# include "ckled2001-simple.h" +#endif #ifndef LED_MATRIX_LED_FLUSH_LIMIT # define LED_MATRIX_LED_FLUSH_LIMIT 16 @@ -75,6 +78,8 @@ #define LED_MATRIX_TEST_LED_FLAGS() \ if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) continue +#define LED_DISABLE_TIME_INFINITE (UINT32_MAX) + enum led_matrix_effects { LED_MATRIX_NONE = 0, @@ -114,6 +119,9 @@ void process_led_matrix(uint8_t row, uint8_t col, bool pressed); void led_matrix_task(void); +void led_matrix_none_indicators_kb(void); +void led_matrix_none_indicators_user(void); + // This runs after another backlight effect and replaces // values already set void led_matrix_indicators(void); @@ -135,6 +143,7 @@ void led_matrix_enable_noeeprom(void); void led_matrix_disable(void); void led_matrix_disable_noeeprom(void); uint8_t led_matrix_is_enabled(void); +uint8_t led_matrix_is_enabled_eeprom(void); void led_matrix_mode(uint8_t mode); void led_matrix_mode_noeeprom(uint8_t mode); uint8_t led_matrix_get_mode(void); @@ -158,6 +167,19 @@ void led_matrix_decrease_speed(void); void led_matrix_decrease_speed_noeeprom(void); led_flags_t led_matrix_get_flags(void); void led_matrix_set_flags(led_flags_t flags); +#ifdef LED_DISABLE_TIMEOUT +# if LED_DISABLE_TIMEOUT > 0 +void led_matrix_disable_timeout_set(uint32_t timeout); +void led_matrix_disable_time_reset(void); +# endif +#endif + +#ifdef LED_MATRIX_DRIVER_SHUTDOWN_ENABLE +void led_matrix_driver_shutdown(void); +bool led_matrix_is_driver_shutdown(void); +bool led_matrix_driver_allow_shutdown(void); +#endif + typedef struct { /* Perform any initialisation required for the other driver functions to work. */ @@ -169,6 +191,12 @@ typedef struct { void (*set_value_all)(uint8_t value); /* Flush any buffered changes to the hardware. */ void (*flush)(void); +#ifdef LED_MATRIX_DRIVER_SHUTDOWN_ENABLE + /* Shutdown the driver. */ + void (*shutdown)(void); + /* Exit from shutdown state. */ + void (*exit_shutdown)(void); +#endif } led_matrix_driver_t; static inline bool led_matrix_check_finished_leds(uint8_t led_idx) { |