aboutsummaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2020-01-19 14:11:57 +1100
committerGitHub <noreply@github.com>2020-01-19 14:11:57 +1100
commiteb5d267e637db4c2c639932b8c8176bf47dff78f (patch)
tree8e9f36d80dac91f40b95eb53022118bb7deb94a3 /quantum
parenteaed517c0bfb10c9169457ba2a187c0c4b0eef2e (diff)
downloadqmk_firmware-eb5d267e637db4c2c639932b8c8176bf47dff78f.tar.gz
qmk_firmware-eb5d267e637db4c2c639932b8c8176bf47dff78f.zip
Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards (#7915)
* Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards * Define diode direction for failing boards * Matching parentheses * Put onekey diode directions in top level config
Diffstat (limited to 'quantum')
-rw-r--r--quantum/matrix.c10
-rw-r--r--quantum/split_common/matrix.c10
2 files changed, 16 insertions, 4 deletions
diff --git a/quantum/matrix.c b/quantum/matrix.c
index 1675f2477..6bd604bb7 100644
--- a/quantum/matrix.c
+++ b/quantum/matrix.c
@@ -62,7 +62,8 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
62 return (last_row_value != current_matrix[current_row]); 62 return (last_row_value != current_matrix[current_row]);
63} 63}
64 64
65#elif (DIODE_DIRECTION == COL2ROW) 65#elif defined(DIODE_DIRECTION)
66# if (DIODE_DIRECTION == COL2ROW)
66 67
67static void select_row(uint8_t row) { 68static void select_row(uint8_t row) {
68 setPinOutput(row_pins[row]); 69 setPinOutput(row_pins[row]);
@@ -110,7 +111,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
110 return (last_row_value != current_matrix[current_row]); 111 return (last_row_value != current_matrix[current_row]);
111} 112}
112 113
113#elif (DIODE_DIRECTION == ROW2COL) 114# elif (DIODE_DIRECTION == ROW2COL)
114 115
115static void select_col(uint8_t col) { 116static void select_col(uint8_t col) {
116 setPinOutput(col_pins[col]); 117 setPinOutput(col_pins[col]);
@@ -165,6 +166,11 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
165 return matrix_changed; 166 return matrix_changed;
166} 167}
167 168
169# else
170# error DIODE_DIRECTION must be one of COL2ROW or ROW2COL!
171# endif
172#else
173# error DIODE_DIRECTION is not defined!
168#endif 174#endif
169 175
170void matrix_init(void) { 176void matrix_init(void) {
diff --git a/quantum/split_common/matrix.c b/quantum/split_common/matrix.c
index ed1ff5acf..454ea59c3 100644
--- a/quantum/split_common/matrix.c
+++ b/quantum/split_common/matrix.c
@@ -79,7 +79,8 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
79 return (last_row_value != current_matrix[current_row]); 79 return (last_row_value != current_matrix[current_row]);
80} 80}
81 81
82#elif (DIODE_DIRECTION == COL2ROW) 82#elif defined(DIODE_DIRECTION)
83# if (DIODE_DIRECTION == COL2ROW)
83 84
84static void select_row(uint8_t row) { 85static void select_row(uint8_t row) {
85 setPinOutput(row_pins[row]); 86 setPinOutput(row_pins[row]);
@@ -124,7 +125,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
124 return (last_row_value != current_matrix[current_row]); 125 return (last_row_value != current_matrix[current_row]);
125} 126}
126 127
127#elif (DIODE_DIRECTION == ROW2COL) 128# elif (DIODE_DIRECTION == ROW2COL)
128 129
129static void select_col(uint8_t col) { 130static void select_col(uint8_t col) {
130 setPinOutput(col_pins[col]); 131 setPinOutput(col_pins[col]);
@@ -179,6 +180,11 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
179 return matrix_changed; 180 return matrix_changed;
180} 181}
181 182
183# else
184# error DIODE_DIRECTION must be one of COL2ROW or ROW2COL!
185# endif
186#else
187# error DIODE_DIRECTION is not defined!
182#endif 188#endif
183 189
184void matrix_init(void) { 190void matrix_init(void) {