diff options
author | Joel Challis <git@zvecr.com> | 2019-10-17 17:48:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-17 17:48:58 +0100 |
commit | abfd6ed9613013d3c9f15da8b575a902d9bcf274 (patch) | |
tree | 8f2a4601586a7bc67f5f684e0d07b41e9608f3b3 /quantum/backlight/backlight.h | |
parent | e3a21348c3879c11072c7c42d3b4d04b022f4fe2 (diff) | |
download | qmk_firmware-abfd6ed9613013d3c9f15da8b575a902d9bcf274.tar.gz |
Move tmk_core/common/backlight to quantum/backlight (#6710)
* Move tmk_core/common/backlight to quantum/backlight
* Add guards to backlight inclusion
* Add guards to backlight inclusion
* Update backlight guards on clueboard/60
* Use full paths to avoid vpath issues
Diffstat (limited to 'quantum/backlight/backlight.h')
-rw-r--r-- | quantum/backlight/backlight.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/quantum/backlight/backlight.h b/quantum/backlight/backlight.h new file mode 100644 index 000000000..1e581055d --- /dev/null +++ b/quantum/backlight/backlight.h @@ -0,0 +1,62 @@ +/* +Copyright 2013 Mathias Andersson <wraul@dbox.se> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +#include <stdint.h> +#include <stdbool.h> + +#ifndef BACKLIGHT_LEVELS +# define BACKLIGHT_LEVELS 3 +#elif BACKLIGHT_LEVELS > 31 +# error "Maximum value of BACKLIGHT_LEVELS is 31" +#endif + +#ifndef BREATHING_PERIOD +# define BREATHING_PERIOD 6 +#endif + +typedef union { + uint8_t raw; + struct { + bool enable : 1; + bool breathing : 1; + uint8_t reserved : 1; // Reserved for possible future backlight modes + uint8_t level : 5; + }; +} backlight_config_t; + +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 |