]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tmk_core/common/backlight.c
Generate API docs from source code comments (#2491)
[qmk_firmware.git] / tmk_core / common / backlight.c
index d03bfe931bae72312eb8f901ab471d8eddca60a9..3e29aacc499c1d8b9c25f29dc60cac92a90d1d70 100644 (file)
@@ -21,6 +21,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 backlight_config_t backlight_config;
 
+/** \brief Backlight initialization
+ *
+ * FIXME: needs doc
+ */
 void backlight_init(void)
 {
     /* check signature */
@@ -34,6 +38,10 @@ void backlight_init(void)
     backlight_set(backlight_config.enable ? backlight_config.level : 0);
 }
 
+/** \brief Backlight increase
+ *
+ * FIXME: needs doc
+ */
 void backlight_increase(void)
 {
     if(backlight_config.level < BACKLIGHT_LEVELS)
@@ -46,6 +54,10 @@ void backlight_increase(void)
     backlight_set(backlight_config.level);
 }
 
+/** \brief Backlight decrease
+ *
+ * FIXME: needs doc
+ */
 void backlight_decrease(void)
 {
     if(backlight_config.level > 0)
@@ -58,14 +70,24 @@ void backlight_decrease(void)
     backlight_set(backlight_config.level);
 }
 
+/** \brief Backlight toggle
+ *
+ * FIXME: needs doc
+ */
 void backlight_toggle(void)
 {
     backlight_config.enable ^= 1;
+    if (backlight_config.raw == 1) // enabled but level = 0
+        backlight_config.level = 1;
     eeconfig_update_backlight(backlight_config.raw);
     dprintf("backlight toggle: %u\n", backlight_config.enable);
     backlight_set(backlight_config.enable ? backlight_config.level : 0);
 }
 
+/** \brief Backlight step through levels
+ *
+ * FIXME: needs doc
+ */
 void backlight_step(void)
 {
     backlight_config.level++;
@@ -79,15 +101,25 @@ void backlight_step(void)
     backlight_set(backlight_config.level);
 }
 
+/** \brief Backlight set level
+ *
+ * FIXME: needs doc
+ */
 void backlight_level(uint8_t level)
 {
-    backlight_config.level ^= level;
+    if (level > BACKLIGHT_LEVELS)
+        level = BACKLIGHT_LEVELS;
+    backlight_config.level = level;
     backlight_config.enable = !!backlight_config.level;
     eeconfig_update_backlight(backlight_config.raw);
     backlight_set(backlight_config.level);
 }
 
+/** \brief Get backlight level
+ *
+ * FIXME: needs doc
+ */
 uint8_t get_backlight_level(void)
 {
     return backlight_config.level;
-}
\ No newline at end of file
+}