reaches the value in the output compare register,
and are turned on when it reaches TOP (=256). */
static
-void setup_leds(void) {
- TCCR1A |= // Timer control register 1A
- (1<<WGM10) | // Fast PWM 8-bit
- (1<<COM1B1)| // Clear OC1B on match, set at TOP
- (1<<COM1C1); // Clear OC1C on match, set at TOP
- TCCR1B |= // Timer control register 1B
- (1<<WGM12) | // Fast PWM 8-bit
- (1<<CS12); // Prescaler 256
- OCR1B = 250; // Output compare register 1B
- OCR1C = 250; // Output compare register 1C
- // LEDs: LED_A -> PORTB6, LED_B -> PORTB7
- DDRB &= 0x3F;
- PORTB &= 0x3F;
+void setup_leds(void)
+{
+ TCCR1A |= // Timer control register 1A
+ (1<<WGM10) | // Fast PWM 8-bit
+ (1<<COM1B1)| // Clear OC1B on match, set at TOP
+ (1<<COM1C1); // Clear OC1C on match, set at TOP
+ TCCR1B |= // Timer control register 1B
+ (1<<WGM12) | // Fast PWM 8-bit
+ (1<<CS12); // Prescaler 256
+ OCR1B = 250; // Output compare register 1B
+ OCR1C = 250; // Output compare register 1C
+ // LEDs: LED_A -> PORTB6, LED_B -> PORTB7
+ DDRB &= 0x3F;
+ PORTB &= 0x3F;
}
-
inline
uint8_t matrix_rows(void)
{
setup_leds();
// initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
+ for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
matrix[i] = 0;
matrix_debouncing[i] = 0;
}