X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tmk_core%2Fcommon%2Fbacklight.h;h=0a38771206071571048e2734e7015c5875b930ed;hb=3895b4b86867c6323f4e595b9726d02158bca612;hp=ef8ab9b2be92a2c8ab0ecc7960478a4e29e37d16;hpb=8e3330bbf6f8c4faf39a3df20fa3ab62910c8b19;p=qmk_firmware.git diff --git a/tmk_core/common/backlight.h b/tmk_core/common/backlight.h index ef8ab9b2b..0a3877120 100644 --- a/tmk_core/common/backlight.h +++ b/tmk_core/common/backlight.h @@ -20,11 +20,19 @@ along with this program. If not, see . #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; @@ -32,7 +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