ec.h (1182B)
1 /* Copyright 2023 Viktus Design LLC 2 * 3 * This program is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation, either version 2 of the License, or 6 * (at your option) any later version. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 17 #include <stdint.h> 18 #include <stdbool.h> 19 20 #include "matrix.h" 21 22 typedef struct { 23 uint16_t reset_pt; 24 uint16_t actuation_pt; 25 } ec_config_t; 26 27 void ec_init(ec_config_t const* const ec_config); 28 bool ec_matrix_scan(matrix_row_t current_matrix[]); 29 //void ec_dprint_matrix(void); // needed for debugging 30 uint16_t ec_readkey_raw(uint8_t col, uint8_t row); 31 bool ec_update_key(matrix_row_t* current_row, uint8_t col, uint16_t sw_value, uint16_t reset_pt, uint16_t actuation_pt);