aboutsummaryrefslogtreecommitdiff
path: root/quantum/led_matrix.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/led_matrix.h')
-rw-r--r--quantum/led_matrix.h39
1 files changed, 31 insertions, 8 deletions
diff --git a/quantum/led_matrix.h b/quantum/led_matrix.h
index 85bae43c1..fd7ef7d29 100644
--- a/quantum/led_matrix.h
+++ b/quantum/led_matrix.h
@@ -19,10 +19,21 @@
19 19
20#pragma once 20#pragma once
21 21
22#include <stdint.h>
23#include <stdbool.h>
22#include "led_matrix_types.h" 24#include "led_matrix_types.h"
25#include "quantum.h"
23 26
24#ifndef BACKLIGHT_ENABLE 27#ifdef IS31FL3731
25# error You must define BACKLIGHT_ENABLE with LED_MATRIX_ENABLE 28# include "is31fl3731-simple.h"
29#endif
30
31#ifndef LED_MATRIX_LED_FLUSH_LIMIT
32# define LED_MATRIX_LED_FLUSH_LIMIT 16
33#endif
34
35#ifndef LED_MATRIX_LED_PROCESS_LIMIT
36# define LED_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5
26#endif 37#endif
27 38
28enum led_matrix_effects { 39enum led_matrix_effects {
@@ -35,7 +46,7 @@ void led_matrix_set_index_value(int index, uint8_t value);
35void led_matrix_set_index_value_all(uint8_t value); 46void led_matrix_set_index_value_all(uint8_t value);
36 47
37// This runs after another backlight effect and replaces 48// This runs after another backlight effect and replaces
38// colors already set 49// values already set
39void led_matrix_indicators(void); 50void led_matrix_indicators(void);
40void led_matrix_indicators_kb(void); 51void led_matrix_indicators_kb(void);
41void led_matrix_indicators_user(void); 52void led_matrix_indicators_user(void);
@@ -59,21 +70,33 @@ bool process_led_matrix(uint16_t keycode, keyrecord_t *record);
59uint32_t led_matrix_get_tick(void); 70uint32_t led_matrix_get_tick(void);
60 71
61void led_matrix_toggle(void); 72void led_matrix_toggle(void);
73void led_matrix_toggle_noeeprom(void);
62void led_matrix_enable(void); 74void led_matrix_enable(void);
63void led_matrix_enable_noeeprom(void); 75void led_matrix_enable_noeeprom(void);
64void led_matrix_disable(void); 76void led_matrix_disable(void);
65void led_matrix_disable_noeeprom(void); 77void led_matrix_disable_noeeprom(void);
78uint8_t led_matrix_is_enabled(void);
79void led_matrix_mode(uint8_t mode);
80void led_matrix_mode_noeeprom(uint8_t mode);
81uint8_t led_matrix_get_mode(void);
66void led_matrix_step(void); 82void led_matrix_step(void);
83void led_matrix_step_noeeprom(void);
67void led_matrix_step_reverse(void); 84void led_matrix_step_reverse(void);
85void led_matrix_step_reverse_noeeprom(void);
86void led_matrix_set_val(uint8_t val);
87void led_matrix_set_val_noeeprom(uint8_t val);
88uint8_t led_matrix_get_val(void);
68void led_matrix_increase_val(void); 89void led_matrix_increase_val(void);
90void led_matrix_increase_val_noeeprom(void);
69void led_matrix_decrease_val(void); 91void led_matrix_decrease_val(void);
92void led_matrix_decrease_val_noeeprom(void);
93void led_matrix_set_speed(uint8_t speed);
94void led_matrix_set_speed_noeeprom(uint8_t speed);
95uint8_t led_matrix_get_speed(void);
70void led_matrix_increase_speed(void); 96void led_matrix_increase_speed(void);
97void led_matrix_increase_speed_noeeprom(void);
71void led_matrix_decrease_speed(void); 98void led_matrix_decrease_speed(void);
72void led_matrix_mode(uint8_t mode, bool eeprom_write); 99void led_matrix_decrease_speed_noeeprom(void);
73void led_matrix_mode_noeeprom(uint8_t mode);
74uint8_t led_matrix_get_mode(void);
75void led_matrix_set_value(uint8_t mode);
76void led_matrix_set_value_noeeprom(uint8_t mode);
77 100
78typedef struct { 101typedef struct {
79 /* Perform any initialisation required for the other driver functions to work. */ 102 /* Perform any initialisation required for the other driver functions to work. */