]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tmk_core/common/backlight.h
Store backlight breathing state in EEPROM (#6105)
[qmk_firmware.git] / tmk_core / common / backlight.h
index 420c9d19edd8529ce402b6de08c1dcafc464ca48..cc56fb9af060859a9d05b3bc6d5b3841b82dbd71 100644 (file)
@@ -20,11 +20,18 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include <stdint.h>
 #include <stdbool.h>
 
+#ifndef BACKLIGHT_LEVELS
+  #define BACKLIGHT_LEVELS 3
+#elif BACKLIGHT_LEVELS > 15
+  #error "Maximum value of BACKLIGHT_LEVELS is 15"
+#endif
+
 typedef union {
     uint8_t raw;
     struct {
-        bool    enable :1;
-        uint8_t level  :7;
+        bool    enable    :1;
+        bool    breathing :1;
+        uint8_t level     :4;
     };
 } backlight_config_t;
 
@@ -40,3 +47,11 @@ 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