You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

36 lines
719 B

#pragma once
// clang-format off
#define DIRECT_SWITCH 1
#define DIODE_ROW2COL 2
#define DIODE_COL2ROW 3
#ifndef ROW2COL
# define COL2ROW 0
# define ROW2COL 1
#endif
#ifdef DIRECT_PINS
# define MATRIX_TYPE DIRECT_SWITCH
#else
# if DIODE_DIRECTION == ROW2COL
# define MATRIX_TYPE DIODE_ROW2COL
# endif
# if DIODE_DIRECTION == COL2ROW
# define MATRIX_TYPE DIODE_COL2ROW
# endif
#endif
#ifndef MATRIX_TYPE
# error "MATRIX_TYPE could not be determined."
#endif
#if (MATRIX_ROWS <= 8)
typedef uint8_t matrix_col_t;
#elif (MATRIX_ROWS <= 16)
typedef uint16_t matrix_col_t;
#elif (MATRIX_ROWS <= 32)
typedef uint32_t matrix_col_t;
#else
# error "MATRIX_ROWS: invalid value"
#endif