diff options
author | QMK Bot <hello@qmk.fm> | 2023-03-23 10:10:35 +0000 |
---|---|---|
committer | QMK Bot <hello@qmk.fm> | 2023-03-23 10:10:35 +0000 |
commit | b72b487b4dcfff01ebdd1c7ad697af20e7180354 (patch) | |
tree | 910d514b80fe4f1fdcae9901a94ccbe5c081deac /keyboards/cipulot/ec_prox/ansi_iso/matrix.c | |
parent | c7756f53263f33352ba2a76cc1e674965d4d0137 (diff) | |
parent | 15cb7ded76794a94fa7be3c2b8d3bad1607582aa (diff) |
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/cipulot/ec_prox/ansi_iso/matrix.c')
-rw-r--r-- | keyboards/cipulot/ec_prox/ansi_iso/matrix.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/matrix.c b/keyboards/cipulot/ec_prox/ansi_iso/matrix.c new file mode 100644 index 0000000000..1850acf264 --- /dev/null +++ b/keyboards/cipulot/ec_prox/ansi_iso/matrix.c @@ -0,0 +1,44 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "ec_switch_matrix.h" +#include "matrix.h" + +/* matrix state(1:on, 0:off) */ +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +void matrix_init_custom(void) { + // Default values, overwritten by VIA if enabled later + ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL; + ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL; + + ecsm_init(&ecsm_config); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool updated = ecsm_matrix_scan(current_matrix); + +// RAW matrix values on console +#ifdef CONSOLE_ENABLE + static int cnt = 0; + if (cnt++ == 350) { + cnt = 0; + ecsm_print_matrix(); + } +#endif + return updated; +} |