#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;
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