From d50d6f678f49de7e3626827052876283b84c927f Mon Sep 17 00:00:00 2001 From: alittlepeace Date: Thu, 14 Nov 2019 02:04:57 -0600 Subject: Adding verd layout to RSII (#7296) * verd verd * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update keymap.c * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update rules.mk * Update rules.mk * Delete tests.txt * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update config.h * Update verd.h * Update keymap.c * Update keymap.c * Update readme.md * Update matrix.c * Update readme.md * Update verd.h * Update verd.c * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/config.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/config.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update verd.h * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.c Co-Authored-By: fauxpark * Update keymap.c * Update verd.c * Update config.h * Update verd.h added regular non split 0 * Update keymap.c * Update keyboards/redscarf_iiplus/verd/rules.mk Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update rules.mk * Update rules.mk * Update rules.mk * Update keymap.c * Update keymap.c * Update keymap.c * Update rules.mk * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update keymap.c * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/matrix.c Co-Authored-By: fauxpark * Update info.json * Update info.json * Update info.json * Update keyboards/redscarf_iiplus/verd/verd.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark --- keyboards/redscarf_iiplus/verd/matrix.c | 391 ++++++++++++++++++++++++++++++++ 1 file changed, 391 insertions(+) create mode 100644 keyboards/redscarf_iiplus/verd/matrix.c (limited to 'keyboards/redscarf_iiplus/verd/matrix.c') diff --git a/keyboards/redscarf_iiplus/verd/matrix.c b/keyboards/redscarf_iiplus/verd/matrix.c new file mode 100644 index 0000000000..28568653c5 --- /dev/null +++ b/keyboards/redscarf_iiplus/verd/matrix.c @@ -0,0 +1,391 @@ +/* +Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar +Port done by Andy Lee +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 . +*/ +#include +#include +#include "wait.h" +#include "print.h" +#include "debug.h" +#include "util.h" +#include "matrix.h" +#include "debounce.h" +#include "quantum.h" + +#if (MATRIX_COLS <= 8) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define matrix_bitpop(i) bitpop(matrix[i]) +# define ROW_SHIFTER ((uint8_t)1) +#elif (MATRIX_COLS <= 16) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define matrix_bitpop(i) bitpop16(matrix[i]) +# define ROW_SHIFTER ((uint16_t)1) +#elif (MATRIX_COLS <= 32) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define matrix_bitpop(i) bitpop32(matrix[i]) +# define ROW_SHIFTER ((uint32_t)1) +#endif + +#ifdef MATRIX_MASKED + extern const matrix_row_t matrix_mask[]; +#endif + +#ifdef DIRECT_PINS +static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; +#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) +// static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +#endif + +/* matrix state(1:on, 0:off) */ +static matrix_row_t raw_matrix[MATRIX_ROWS]; //raw values +static matrix_row_t matrix[MATRIX_ROWS]; //debounced values + +__attribute__ ((weak)) +void matrix_init_quantum(void) { + matrix_init_kb(); +} + +__attribute__ ((weak)) +void matrix_scan_quantum(void) { + matrix_scan_kb(); +} + +__attribute__ ((weak)) +void matrix_init_kb(void) { + matrix_init_user(); +} + +__attribute__ ((weak)) +void matrix_scan_kb(void) { + matrix_scan_user(); +} + +__attribute__ ((weak)) +void matrix_init_user(void) { +} + +__attribute__ ((weak)) +void matrix_scan_user(void) { +} + +inline +uint8_t matrix_rows(void) { + return MATRIX_ROWS; +} + +inline +uint8_t matrix_cols(void) { + return MATRIX_COLS; +} + +//Deprecated. +bool matrix_is_modified(void) +{ + if (debounce_active()) return false; + return true; +} + +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1<