jsoltren/XMIT build fixes for macOS
[jackhill/qmk/firmware.git] / keyboards / xwhatsit / matrix_manipulate.h
CommitLineData
95520199
PA
1/* Copyright 2020 Purdea Andrei
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
38e6feca
PA
17#ifndef MATRIX_MANIPULATE_H
18#define MATRIX_MANIPULATE_H
19
20#include "quantum.h"
21
22// Contains stuff used to manipulate the matrix using the util.
23// These are defined in matrix.c. This file is not called matrix.h to avoid conflict with qmk-native matrix.h
24
25extern bool keyboard_scan_enabled;
26void matrix_scan_raw(matrix_row_t current_matrix[]);
27extern uint16_t cal_thresholds[CAPSENSE_CAL_BINS];
28extern matrix_row_t assigned_to_threshold[CAPSENSE_CAL_BINS][MATRIX_ROWS];
e8583e26 29uint16_t measure_middle_keymap_coords(uint8_t col, uint8_t row, uint8_t time, uint8_t reps);
61cf2ea0 30void shift_data(uint32_t data, int data_idle, int shcp_idle, int stcp_idle);
fd28099f
PA
31void dac_write_threshold(uint16_t value);
32uint8_t test_single(uint8_t col, uint16_t time, uint8_t *interference_ptr);
38e6feca
PA
33
34#endif
35