Merge pull request #25 from orcinus/master
Fixed brightness control; Reduced number of brightness levels to 4.
This commit is contained in:
		
						commit
						0aa0f75432
					
				
					 2 changed files with 20 additions and 11 deletions
				
			
		|  | @ -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)); | ||||
|     } | ||||
| } | ||||
|  | @ -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
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jack Humbert
						Jack Humbert