Backlight: add defines for default level and breathing state (#12560)
This commit is contained in:
		@@ -62,15 +62,17 @@ Valid driver values are `pwm`, `software`, `custom` or `no`. See below for help
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
To configure the backlighting, `#define` these in your `config.h`:
 | 
					To configure the backlighting, `#define` these in your `config.h`:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Define                 | Default       | Description                                                                                                       |
 | 
					|Define                       |Default           |Description                                                                                                      |
 | 
				
			||||||
|------------------------|---------------|-------------------------------------------------------------------------------------------------------------------|
 | 
					|-----------------------------|------------------|-----------------------------------------------------------------------------------------------------------------|
 | 
				
			||||||
| `BACKLIGHT_PIN`        | *Not defined* | The pin that controls the LED(s)                                                                                  |
 | 
					|`BACKLIGHT_PIN`              |*Not defined*     |The pin that controls the LED(s)                                                                                 |
 | 
				
			||||||
| `BACKLIGHT_LEVELS`     | `3`           | The number of brightness levels (maximum 31 excluding off)                                                        |
 | 
					|`BACKLIGHT_LEVELS`           |`3`               |The number of brightness levels (maximum 31 excluding off)                                                       |
 | 
				
			||||||
| `BACKLIGHT_CAPS_LOCK`  | *Not defined* | Enable Caps Lock indicator using backlight (for keyboards without dedicated LED)                                  |
 | 
					|`BACKLIGHT_CAPS_LOCK`        |*Not defined*     |Enable Caps Lock indicator using backlight (for keyboards without dedicated LED)                                 |
 | 
				
			||||||
| `BACKLIGHT_BREATHING`  | *Not defined* | Enable backlight breathing, if supported                                                                          |
 | 
					|`BACKLIGHT_BREATHING`        |*Not defined*     |Enable backlight breathing, if supported                                                                         |
 | 
				
			||||||
| `BREATHING_PERIOD`     | `6`           | The length of one backlight "breath" in seconds                                                                   |
 | 
					|`BREATHING_PERIOD`           |`6`               |The length of one backlight "breath" in seconds                                                                  |
 | 
				
			||||||
| `BACKLIGHT_ON_STATE`   | `1`           | The state of the backlight pin when the backlight is "on" - `1` for high, `0` for low                             |
 | 
					|`BACKLIGHT_ON_STATE`         |`1`               |The state of the backlight pin when the backlight is "on" - `1` for high, `0` for low                            |
 | 
				
			||||||
| `BACKLIGHT_LIMIT_VAL ` | `255`         | The maximum duty cycle of the backlight -- `255` allows for full brightness, any lower will decrease the maximum. |
 | 
					|`BACKLIGHT_LIMIT_VAL`        |`255`             |The maximum duty cycle of the backlight -- `255` allows for full brightness, any lower will decrease the maximum.|
 | 
				
			||||||
 | 
					|`BACKLIGHT_DEFAULT_LEVEL`    |`BACKLIGHT_LEVELS`|The default backlight level to use upon clearing the EEPROM                                                      |
 | 
				
			||||||
 | 
					|`BACKLIGHT_DEFAULT_BREATHING`|*Not defined*     |Whether to enable backlight breathing upon clearing the EEPROM                                                   |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Unless you are designing your own keyboard, you generally should not need to change the `BACKLIGHT_PIN` or `BACKLIGHT_ON_STATE`.
 | 
					Unless you are designing your own keyboard, you generally should not need to change the `BACKLIGHT_PIN` or `BACKLIGHT_ON_STATE`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
backlight_config_t backlight_config;
 | 
					backlight_config_t backlight_config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef BACKLIGHT_DEFAULT_LEVEL
 | 
				
			||||||
 | 
					#    define BACKLIGHT_DEFAULT_LEVEL BACKLIGHT_LEVELS
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef BACKLIGHT_BREATHING
 | 
					#ifdef BACKLIGHT_BREATHING
 | 
				
			||||||
// TODO: migrate to backlight_config_t
 | 
					// TODO: migrate to backlight_config_t
 | 
				
			||||||
static uint8_t breathing_period = BREATHING_PERIOD;
 | 
					static uint8_t breathing_period = BREATHING_PERIOD;
 | 
				
			||||||
@@ -35,6 +39,7 @@ void backlight_init(void) {
 | 
				
			|||||||
    /* check signature */
 | 
					    /* check signature */
 | 
				
			||||||
    if (!eeconfig_is_enabled()) {
 | 
					    if (!eeconfig_is_enabled()) {
 | 
				
			||||||
        eeconfig_init();
 | 
					        eeconfig_init();
 | 
				
			||||||
 | 
					        eeconfig_update_backlight_default();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    backlight_config.raw = eeconfig_read_backlight();
 | 
					    backlight_config.raw = eeconfig_read_backlight();
 | 
				
			||||||
    if (backlight_config.level > BACKLIGHT_LEVELS) {
 | 
					    if (backlight_config.level > BACKLIGHT_LEVELS) {
 | 
				
			||||||
@@ -152,11 +157,23 @@ void backlight_level(uint8_t level) {
 | 
				
			|||||||
    eeconfig_update_backlight(backlight_config.raw);
 | 
					    eeconfig_update_backlight(backlight_config.raw);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** \brief Update current backlight state to EEPROM
 | 
					uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BACKLIGHT); }
 | 
				
			||||||
 *
 | 
					
 | 
				
			||||||
 */
 | 
					void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void eeconfig_update_backlight_current(void) { eeconfig_update_backlight(backlight_config.raw); }
 | 
					void eeconfig_update_backlight_current(void) { eeconfig_update_backlight(backlight_config.raw); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void eeconfig_update_backlight_default(void) {
 | 
				
			||||||
 | 
					    backlight_config.enable = 1;
 | 
				
			||||||
 | 
					#ifdef BACKLIGHT_DEFAULT_BREATHING
 | 
				
			||||||
 | 
					    backlight_config.breathing = 1;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					    backlight_config.breathing = 0;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					    backlight_config.level = BACKLIGHT_DEFAULT_LEVEL;
 | 
				
			||||||
 | 
					    eeconfig_update_backlight(backlight_config.raw);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** \brief Get backlight level
 | 
					/** \brief Get backlight level
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * FIXME: needs doc
 | 
					 * FIXME: needs doc
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,7 +55,11 @@ void    backlight_decrease(void);
 | 
				
			|||||||
void    backlight_level_noeeprom(uint8_t level);
 | 
					void    backlight_level_noeeprom(uint8_t level);
 | 
				
			||||||
void    backlight_level(uint8_t level);
 | 
					void    backlight_level(uint8_t level);
 | 
				
			||||||
uint8_t get_backlight_level(void);
 | 
					uint8_t get_backlight_level(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uint8_t eeconfig_read_backlight(void);
 | 
				
			||||||
 | 
					void    eeconfig_update_backlight(uint8_t val);
 | 
				
			||||||
void    eeconfig_update_backlight_current(void);
 | 
					void    eeconfig_update_backlight_current(void);
 | 
				
			||||||
 | 
					void    eeconfig_update_backlight_default(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// implementation specific
 | 
					// implementation specific
 | 
				
			||||||
void backlight_init_ports(void);
 | 
					void backlight_init_ports(void);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -155,17 +155,6 @@ void eeconfig_update_keymap(uint16_t val) {
 | 
				
			|||||||
    eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, (val >> 8) & 0xFF);
 | 
					    eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, (val >> 8) & 0xFF);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** \brief eeconfig read backlight
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * FIXME: needs doc
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BACKLIGHT); }
 | 
					 | 
				
			||||||
/** \brief eeconfig update backlight
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * FIXME: needs doc
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/** \brief eeconfig read audio
 | 
					/** \brief eeconfig read audio
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * FIXME: needs doc
 | 
					 * FIXME: needs doc
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -94,11 +94,6 @@ void    eeconfig_update_default_layer(uint8_t val);
 | 
				
			|||||||
uint16_t eeconfig_read_keymap(void);
 | 
					uint16_t eeconfig_read_keymap(void);
 | 
				
			||||||
void     eeconfig_update_keymap(uint16_t val);
 | 
					void     eeconfig_update_keymap(uint16_t val);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef BACKLIGHT_ENABLE
 | 
					 | 
				
			||||||
uint8_t eeconfig_read_backlight(void);
 | 
					 | 
				
			||||||
void    eeconfig_update_backlight(uint8_t val);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef AUDIO_ENABLE
 | 
					#ifdef AUDIO_ENABLE
 | 
				
			||||||
uint8_t eeconfig_read_audio(void);
 | 
					uint8_t eeconfig_read_audio(void);
 | 
				
			||||||
void    eeconfig_update_audio(uint8_t val);
 | 
					void    eeconfig_update_audio(uint8_t val);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user