Browse Source

Fix backlight blinking issue for RedScarfII

old_master
Kai Ryu 9 years ago
parent
commit
430e15e0ba
1 changed files with 5 additions and 6 deletions
  1. 5
    6
      keyboard/RedScarfII/matrix.c

+ 5
- 6
keyboard/RedScarfII/matrix.c View File



static matrix_row_t read_cols(void); static matrix_row_t read_cols(void);
static void init_cols(void); static void init_cols(void);
static void unselect_rows(void);
static void init_rows(void);
static void select_row(uint8_t row); static void select_row(uint8_t row);


inline inline
MCUCR = (1<<JTD); MCUCR = (1<<JTD);


// initialize row and col // initialize row and col
unselect_rows();
init_rows();
init_cols(); init_cols();


// initialize matrix state: all keys off // initialize matrix state: all keys off
} }
debouncing = DEBOUNCE; debouncing = DEBOUNCE;
} }
unselect_rows();
// select next row
select_row((i + 1) % MATRIX_ROWS);
} }


if (debouncing) { if (debouncing) {
* B1 0 0 1 1 0 0 1 * B1 0 0 1 1 0 0 1
* B0 0 0 0 0 1 1 1 * B0 0 0 0 0 1 1 1
*/ */
static void unselect_rows(void)
static void init_rows(void)
{ {
// Select Y7
DDRB |= (1<<PB2 | 1<<PB1 | 1<<PB0); DDRB |= (1<<PB2 | 1<<PB1 | 1<<PB0);
PORTB |= (1<<PB2 | 1<<PB1 | 1<<PB0);
} }


static void select_row(uint8_t row) static void select_row(uint8_t row)