diff options
| author | Ante Vukorepa <o.orcinus@gmail.com> | 2015-07-25 17:11:31 +0200 | 
|---|---|---|
| committer | Ante Vukorepa <o.orcinus@gmail.com> | 2015-07-25 17:11:31 +0200 | 
| commit | 1f52d60ef1d9aa551cb3db41999bec6bf71cf5f2 (patch) | |
| tree | 6d0f4261db35d6de47fb6be74e372af46d6172c4 /keyboard/planck | |
| parent | b8c8ecbcd67481ed69b3da95da0630bcf8e8a238 (diff) | |
Fixed brightness control; Reduced number of brightness levels to 4.
Diffstat (limited to 'keyboard/planck')
| -rw-r--r-- | keyboard/planck/backlight.c | 22 | ||||
| -rw-r--r-- | keyboard/planck/config.h | 9 | 
2 files changed, 20 insertions, 11 deletions
| diff --git a/keyboard/planck/backlight.c b/keyboard/planck/backlight.c index 06f103b4ac..f69364b2af 100644 --- a/keyboard/planck/backlight.c +++ b/keyboard/planck/backlight.c @@ -36,14 +36,26 @@ void backlight_set(uint8_t level)      {          // Turn off PWM control on PB7, revert to output low.          TCCR1A &= ~(_BV(COM1C1)); -        // CHANNEL = level << OFFSET | 0x0FFF; -        CHANNEL = ((1 << level) - 1); +        CHANNEL = 0x0; +        // Prevent backlight blink on lowest level +        PORTB &= ~(_BV(PORTB7));      } -    else +    else if ( level == BACKLIGHT_LEVELS )      { +        // Prevent backlight blink on lowest level +        PORTB &= ~(_BV(PORTB7));          // Turn on PWM control of PB7          TCCR1A |= _BV(COM1C1); -        // CHANNEL = level << OFFSET | 0x0FFF; -        CHANNEL = ((1 << level) - 1); +        // Set the brightness +        CHANNEL = 0xFFFF; +    } +    else         +    { +        // Prevent backlight blink on lowest level +        PORTB &= ~(_BV(PORTB7)); +        // Turn on PWM control of PB7 +        TCCR1A |= _BV(COM1C1); +        // Set the brightness +        CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));      }  }
\ No newline at end of file diff --git a/keyboard/planck/config.h b/keyboard/planck/config.h index 4e49a2b897..7e95afddea 100644 --- a/keyboard/planck/config.h +++ b/keyboard/planck/config.h @@ -35,8 +35,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  //#define MATRIX_HAS_GHOST  /* number of backlight levels */ -/* NOTE: this is the max value of 0..BACKLIGHT_LEVELS so really 16 levels. */ -#define BACKLIGHT_LEVELS 15 +#define BACKLIGHT_LEVELS 3  /* Set 0 if debouncing isn't needed */  #define DEBOUNCE    5 @@ -51,18 +50,16 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.      keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \  ) - -  /*   * Feature disable options   *  These options are also useful to firmware size reduction.   */  /* disable debug print */ -//#define NO_DEBUG +#define NO_DEBUG  /* disable print */ -//#define NO_PRINT +#define NO_PRINT  /* disable action features */  //#define NO_ACTION_LAYER | 
