|
|
|
@ -27,17 +27,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 |
|
|
|
|
|
|
|
|
@ -79,14 +76,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; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Columns 0 - 15
|
|
|
|
|
* These columns uses two 74HC237D 3 to 8 bit demultiplexers. |
|
|
|
|
* col / pin: PB6 PC6 PC7 PF1 PF0 |
|
|
|
|