X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=tmk_core%2Fcommon%2Fbacklight.h;h=0a38771206071571048e2734e7015c5875b930ed;hb=3895b4b86867c6323f4e595b9726d02158bca612;hp=f5730926745c579426abd896010b2745193aff59;hpb=639cdd363e35c13fe331939d0972aa4db5f5198d;p=qmk_firmware.git
diff --git a/tmk_core/common/backlight.h b/tmk_core/common/backlight.h
index f57309267..0a3877120 100644
--- a/tmk_core/common/backlight.h
+++ b/tmk_core/common/backlight.h
@@ -15,17 +15,24 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#ifndef BACKLIGHT_H
-#define BACKLIGHT_H
+#pragma once
#include
#include
+#ifndef BACKLIGHT_LEVELS
+ #define BACKLIGHT_LEVELS 3
+#elif BACKLIGHT_LEVELS > 31
+ #error "Maximum value of BACKLIGHT_LEVELS is 31"
+#endif
+
typedef union {
uint8_t raw;
struct {
- bool enable :1;
- uint8_t level :7;
+ bool enable :1;
+ bool breathing :1;
+ uint8_t reserved :1; // Reserved for possible future backlight modes
+ uint8_t level :5;
};
} backlight_config_t;
@@ -33,9 +40,19 @@ void backlight_init(void);
void backlight_increase(void);
void backlight_decrease(void);
void backlight_toggle(void);
+void backlight_enable(void);
+void backlight_disable(void);
+bool is_backlight_enabled(void);
void backlight_step(void);
void backlight_set(uint8_t level);
void backlight_level(uint8_t level);
uint8_t get_backlight_level(void);
+#ifdef BACKLIGHT_BREATHING
+void backlight_toggle_breathing(void);
+void backlight_enable_breathing(void);
+void backlight_disable_breathing(void);
+bool is_backlight_breathing(void);
+void breathing_enable(void);
+void breathing_disable(void);
#endif