Remove matrix_key_count() (#16603)
				
					
				
			* Remove `matrix_key_count()` * Remove `matrix_bitpop()`
This commit is contained in:
		
							parent
							
								
									dc8db6551d
								
							
						
					
					
						commit
						bd70f5261c
					
				
					 51 changed files with 4 additions and 527 deletions
				
			
		| 
						 | 
				
			
			@ -118,15 +118,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Column pin configuration
 | 
			
		||||
 * col: 0   1   2   3   4   5   6   7   8   9   10  11
 | 
			
		||||
 * pin: D7  E6  B4  B5  B6  B2  B3  B1  F7  F6  F5  F4
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -130,15 +130,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Column pin configuration
 | 
			
		||||
 * col: 0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15
 | 
			
		||||
 * pin: F7  F6  F5  F4  F1  F0  E6  D7  D6  D5  D1  D0  B7  B6  B0  C7
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -245,15 +245,3 @@ void matrix_print(void)
 | 
			
		|||
        print("\n");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t matrix_key_count(void)
 | 
			
		||||
{
 | 
			
		||||
    uint8_t count = 0;
 | 
			
		||||
    for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
 | 
			
		||||
        for (uint8_t j = 0; j < MATRIX_COLS; j++) {
 | 
			
		||||
            if (matrix_is_on(i, j))
 | 
			
		||||
                count++;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,14 +132,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 += bitpop32(matrix[i]);
 | 
			
		||||
  }
 | 
			
		||||
  return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static uint8_t read_rows(void) {
 | 
			
		||||
  return
 | 
			
		||||
    (PINC&(1<<7) ? 0 : (1<<0)) |
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,15 +132,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 += bitpop16(matrix[i]);
 | 
			
		||||
	}
 | 
			
		||||
	return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static matrix_row_t read_cols(void)
 | 
			
		||||
{
 | 
			
		||||
	return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -111,15 +111,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 += bitpop16(matrix_get_row(i));
 | 
			
		||||
  }
 | 
			
		||||
  return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static matrix_row_t read_cols(void)
 | 
			
		||||
{
 | 
			
		||||
  return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -146,10 +146,3 @@ void matrix_print(void) {
 | 
			
		|||
    }
 | 
			
		||||
	#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t matrix_key_count(void) {
 | 
			
		||||
    uint8_t count = 0;
 | 
			
		||||
    for (uint8_t row = 0; row < MATRIX_ROWS; row++)
 | 
			
		||||
        count += bitpop32(matrix[row]);
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -147,10 +147,3 @@ void matrix_print(void) {
 | 
			
		|||
    }
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t matrix_key_count(void) {
 | 
			
		||||
    uint8_t count = 0;
 | 
			
		||||
    for (uint8_t row = 0; row < MATRIX_ROWS; row++)
 | 
			
		||||
        count += bitpop32(matrix[row]);
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#define print_matrix_row(row)  print_bin_reverse8(matrix_get_row(row))
 | 
			
		||||
#define print_matrix_header()  print("\nr/c 01234567\n")
 | 
			
		||||
#define matrix_bitpop(i)       bitpop(matrix[i])
 | 
			
		||||
#define ROW_SHIFTER ((uint8_t)1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -379,12 +379,3 @@ void matrix_print(void)
 | 
			
		|||
        print("\n");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t matrix_key_count(void)
 | 
			
		||||
{
 | 
			
		||||
    uint8_t count = 0;
 | 
			
		||||
    for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
 | 
			
		||||
        count += bitpop(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -179,12 +179,3 @@ void matrix_print(void)
 | 
			
		|||
        print("\n");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t matrix_key_count(void)
 | 
			
		||||
{
 | 
			
		||||
    uint8_t count = 0;
 | 
			
		||||
    for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
 | 
			
		||||
        count += bitpop(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -225,18 +225,6 @@ extern "C"
 | 
			
		|||
        return row_bits;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    uint8_t matrix_key_count(void) {
 | 
			
		||||
        uint8_t count = 0;
 | 
			
		||||
 | 
			
		||||
        count += bitpop(local_keyboard_report.mods);
 | 
			
		||||
        for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
 | 
			
		||||
            if (IS_ANY(local_keyboard_report.keys[i])) {
 | 
			
		||||
                count++;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return count;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void matrix_print(void) {
 | 
			
		||||
        print("\nr/c 0123456789ABCDEF\n");
 | 
			
		||||
        for (uint8_t row = 0; row < matrix_rows(); row++) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,17 +52,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -259,17 +256,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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,17 +49,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -235,17 +232,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)
 | 
			
		||||
| 
						 | 
				
			
			@ -389,4 +375,4 @@ static void unselect_cols(void)
 | 
			
		|||
void matrix_setup(void){
 | 
			
		||||
    i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
 | 
			
		||||
    sei(); //enable interupts
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,17 +34,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -215,12 +212,3 @@ void matrix_print(void)
 | 
			
		|||
        print("\n");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -136,15 +136,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 += bitpop32(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void init_ports(void)
 | 
			
		||||
{
 | 
			
		||||
    // Rows are inputs (inputs are 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -268,4 +259,4 @@ static void select_col(uint8_t col)
 | 
			
		|||
            PORTB |= 0b00000001;
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -221,15 +221,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Remember this means ROWS
 | 
			
		||||
static void  init_cols(void)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -242,15 +242,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Remember this means ROWS
 | 
			
		||||
static void  init_cols(void)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -286,14 +286,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Remember this means ROWS
 | 
			
		||||
static void  init_cols(void) {
 | 
			
		||||
    // init on mcp23018
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -164,13 +164,6 @@ void matrix_print(void) {
 | 
			
		|||
        print("\n");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
uint8_t matrix_key_count(void) {
 | 
			
		||||
    uint8_t count = 0;
 | 
			
		||||
    for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
 | 
			
		||||
        count += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Remember this means ROWS
 | 
			
		||||
static void init_cols(void) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -307,15 +307,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if (DIODE_DIRECTION == COL2ROW)
 | 
			
		||||
 | 
			
		||||
static void init_cols(void) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -196,15 +196,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Column pin configuration
 | 
			
		||||
 *
 | 
			
		||||
 * Teensy
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,17 +33,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -130,15 +127,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// uses standard row code
 | 
			
		||||
static void select_row(uint8_t row)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,17 +43,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -178,16 +175,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define ROW_MASK 0b11100000
 | 
			
		||||
 | 
			
		||||
static const uint8_t row_bit[MATRIX_ROWS] = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -308,15 +308,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if (DIODE_DIRECTION == COL2ROW)
 | 
			
		||||
 | 
			
		||||
static void init_cols(void) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -309,15 +309,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void  init_cols(void)
 | 
			
		||||
{
 | 
			
		||||
    for(int x = 0; x < MATRIX_COLS; x++) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -189,14 +189,6 @@ void matrix_print(void)
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t matrix_key_count(void) {
 | 
			
		||||
    uint8_t count = 0;
 | 
			
		||||
    for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
 | 
			
		||||
        count += bitpop16(matrix_get_row(r));
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_power_up(void) {
 | 
			
		||||
    KEY_POWER_ON();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -190,14 +190,6 @@ void matrix_print(void)
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t matrix_key_count(void) {
 | 
			
		||||
    uint8_t count = 0;
 | 
			
		||||
    for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
 | 
			
		||||
        count += bitpop16(matrix_get_row(r));
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_power_up(void) {
 | 
			
		||||
    KEY_POWER_ON();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,17 +35,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -191,12 +188,3 @@ void matrix_print(void)
 | 
			
		|||
        print("\n");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -160,15 +160,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 += bitpop16(matrix[i]);
 | 
			
		||||
  }
 | 
			
		||||
  return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void init_cols(void)
 | 
			
		||||
{
 | 
			
		||||
  // Pro Micro
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -119,15 +116,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void select_row(uint8_t row)
 | 
			
		||||
{
 | 
			
		||||
    setPinOutput(row_pins[row]);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -119,15 +116,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void select_row(uint8_t row)
 | 
			
		||||
{
 | 
			
		||||
    setPinOutput(row_pins[row]);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -119,15 +116,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void select_row(uint8_t row)
 | 
			
		||||
{
 | 
			
		||||
    setPinOutput(row_pins[row]);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -158,15 +158,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static matrix_row_t read_row(uint8_t row)
 | 
			
		||||
{
 | 
			
		||||
	_delay_us(30);  // without this wait read unstable value.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,15 +132,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 += bitpop32(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
 | 
			
		||||
{
 | 
			
		||||
    bool matrix_changed = false;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -158,15 +158,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 += bitpop16(matrix[i]);
 | 
			
		||||
  }
 | 
			
		||||
  return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Column pin configuration
 | 
			
		||||
 *
 | 
			
		||||
 * Pro Micro: 6    5    4    3    2    1    0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -76,17 +76,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -125,14 +122,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void init_i2c(void) {
 | 
			
		||||
  pca9555_init(IC1);
 | 
			
		||||
  pca9555_init(IC2);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,17 +50,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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -123,16 +120,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef DIRECT_PINS
 | 
			
		||||
 | 
			
		||||
static void init_pins(void) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -123,16 +120,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef DIRECT_PINS
 | 
			
		||||
 | 
			
		||||
static void init_pins(void) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -123,16 +120,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef DIRECT_PINS
 | 
			
		||||
 | 
			
		||||
static void init_pins(void) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -205,18 +205,6 @@ extern "C"
 | 
			
		|||
        return row_bits;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    uint8_t matrix_key_count(void) {
 | 
			
		||||
        uint8_t count = 0;
 | 
			
		||||
 | 
			
		||||
        count += bitpop(local_keyboard_report.mods);
 | 
			
		||||
        for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
 | 
			
		||||
            if (IS_ANY(local_keyboard_report.keys[i])) {
 | 
			
		||||
                count++;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return count;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void matrix_print(void) {
 | 
			
		||||
        print("\nr/c 0123456789ABCDEF\n");
 | 
			
		||||
        for (uint8_t row = 0; row < matrix_rows(); row++) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -129,13 +129,3 @@ matrix_row_t matrix_get_row(uint8_t row)
 | 
			
		|||
void matrix_print(void)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t matrix_key_count(void)
 | 
			
		||||
{
 | 
			
		||||
    uint8_t count = 0;
 | 
			
		||||
    for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
 | 
			
		||||
        count += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,17 +42,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -201,15 +198,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void init_cols(void)
 | 
			
		||||
{
 | 
			
		||||
    for(uint8_t x = 0; x < ATMEGA_COLS; x++) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,17 +45,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -183,16 +180,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void init_rows(void)
 | 
			
		||||
{
 | 
			
		||||
    for(uint8_t x = 0; x < MATRIX_ROWS; x++) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -154,15 +154,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 += bitpop16(matrix[i]);
 | 
			
		||||
  }
 | 
			
		||||
  return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void matrix_select_row(uint8_t row)
 | 
			
		||||
{
 | 
			
		||||
#ifdef RIGHT_HALF
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -311,15 +311,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 += bitpop16(matrix[i]);
 | 
			
		||||
    }
 | 
			
		||||
    return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void  init_cols(void)
 | 
			
		||||
{
 | 
			
		||||
    for(int x = 0; x < MATRIX_COLS; x++) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,15 +72,12 @@ inline matrix_row_t matrix_get_row(uint8_t row) {
 | 
			
		|||
#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(row) bitpop(matrix_get_row(row))
 | 
			
		||||
#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(row) bitpop16(matrix_get_row(row))
 | 
			
		||||
#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(row) bitpop32(matrix_get_row(row))
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void matrix_print(void) {
 | 
			
		||||
| 
						 | 
				
			
			@ -94,14 +91,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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef SPLIT_KEYBOARD
 | 
			
		||||
bool matrix_post_scan(void) {
 | 
			
		||||
    bool changed = false;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue