Pārlūkot izejas kodu

Extend maximum number of backlight levels to 31 (#6351)

fauxpark 6 gadi atpakaļ
vecāks
revīzija
3895b4b868
2 mainītis faili ar 5 papildinājumiem un 4 dzēšanām
  1. 1 1
      docs/feature_backlight.md
  2. 4 3
      tmk_core/common/backlight.h

+ 1 - 1
docs/feature_backlight.md

@@ -65,7 +65,7 @@ To change the behaviour of the backlighting, `#define` these in your `config.h`:
 |---------------------|-------------|-------------------------------------------------------------------------------------------------------------|
 |`BACKLIGHT_PIN`      |`B7`         |The pin that controls the LEDs. Unless you are designing your own keyboard, you shouldn't need to change this|
 |`BACKLIGHT_PINS`     |*Not defined*|experimental: see below for more information                                                                 |
-|`BACKLIGHT_LEVELS`   |`3`          |The number of brightness levels (maximum 15 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_BREATHING`|*Not defined*|Enable backlight breathing, if supported                                                                     |
 |`BREATHING_PERIOD`   |`6`          |The length of one backlight "breath" in seconds                                                              |

+ 4 - 3
tmk_core/common/backlight.h

@@ -22,8 +22,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #ifndef BACKLIGHT_LEVELS
   #define BACKLIGHT_LEVELS 3
-#elif BACKLIGHT_LEVELS > 15
-  #error "Maximum value of BACKLIGHT_LEVELS is 15"
+#elif BACKLIGHT_LEVELS > 31
+  #error "Maximum value of BACKLIGHT_LEVELS is 31"
 #endif
 
 typedef union {
@@ -31,7 +31,8 @@ typedef union {
     struct {
         bool    enable    :1;
         bool    breathing :1;
-        uint8_t level     :4;
+        uint8_t reserved  :1; // Reserved for possible future backlight modes
+        uint8_t level     :5;
     };
 } backlight_config_t;