|
|
|
@ -48,17 +48,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
|
|
|
#if (MATRIX_COLS <= 8) |
|
|
|
|
# define print_matrix_header() print("\nr/c 01234567\n") |
|
|
|
|
# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) |
|
|
|
|
# define matrix_bitpop(i) bitpop(matrix[i]) |
|
|
|
|
# define ROW_SHIFTER ((uint8_t)1) |
|
|
|
|
#elif (MATRIX_COLS <= 16) |
|
|
|
|
# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") |
|
|
|
|
# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) |
|
|
|
|
# define matrix_bitpop(i) bitpop16(matrix[i]) |
|
|
|
|
# define ROW_SHIFTER ((uint16_t)1) |
|
|
|
|
#elif (MATRIX_COLS <= 32) |
|
|
|
|
# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") |
|
|
|
|
# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) |
|
|
|
|
# define matrix_bitpop(i) bitpop32(matrix[i]) |
|
|
|
|
# define ROW_SHIFTER ((uint32_t)1) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
@ -234,17 +231,6 @@ void matrix_print(void) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
uint8_t matrix_key_count(void) |
|
|
|
|
{ |
|
|
|
|
uint8_t count = 0; |
|
|
|
|
for (uint8_t i = 0; i < MATRIX_ROWS; i++) { |
|
|
|
|
count += matrix_bitpop(i); |
|
|
|
|
} |
|
|
|
|
return count; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if (DIODE_DIRECTION == COL2ROW) |
|
|
|
|
|
|
|
|
|
static void init_cols(void) |
|
|
|
@ -388,4 +374,4 @@ static void unselect_cols(void) |
|
|
|
|
void matrix_setup(void){ |
|
|
|
|
i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
|
|
|
|
|
sei(); //enable interupts
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|