From d1f735b6d2739295faf932dbb61e3c8b4c0b2898 Mon Sep 17 00:00:00 2001 From: skullydazed Date: Wed, 23 Jan 2019 09:25:32 -0800 Subject: Clueboard refresh (#4902) * Cluecard: refactor - renamed layout macro KEYMAP to LAYOUT - reformatted layout macro to more closely resemble physical device layout - keymaps now use #include QMK_KEYBOARD_H - config.h files updated to use #pragma once method - deleted outdated QUANTUM_DIR code blocks from rules.mk files - white space changes on rules.mk files (alignment/readability) * Cluecard: Configurator support * Cluecard: readme update - added image - updated Docs links * Clueboard 66% HotSwap: corrected matrix and Configurator data - removed k31 and k84 from LAYOUT - both appear to be unsupported for this PCB according to images on clueboard.co - updated block comment mock-ups to match changes - rebuilt info.json file - delete removed keys from default keymap.c * Clueboard 66% HotSwap: readme update - fix make example - updated Docs links * Clueboard 66% HotSwap: 66_ansi keymap update Updated to use #include QMK_KEYBOARD_H * Clueboard 60% refactor - renamed layout macro KEYMAP to LAYOUT_all - renamed layout macro KEYMAP_AEK to LAYOUT_aek - removed redundant KC_TRNS definitions from keymaps - all keymaps now use #include QMK_KEYBOARD_H * Clueboard 17%: refactor * Clueboard 17%: Configurator support * Clueboard 17%: update Docs links in readme * Cleanup the 2x1800 files * Update Clueboard 60% to standard matrix * Update the clueboard default keymaps * Refresh and update clueboard 17 * Add the 66% hotswap to Clueboard's readme * Clarify the 66% hotswap's readme * change the image to imgur * Update the clueboard 66 to follow modern standards * update clueboard 66_hotswap to follow modern practices * Move the logo to imgur * update clueboard/card to follow modern practices * remove clueboard/66 as a valid make target * Address comments in #4902 * fix user keymaps after the changes --- keyboards/clueboard/60/matrix.c | 175 ---------------------------------------- 1 file changed, 175 deletions(-) delete mode 100644 keyboards/clueboard/60/matrix.c (limited to 'keyboards/clueboard/60/matrix.c') diff --git a/keyboards/clueboard/60/matrix.c b/keyboards/clueboard/60/matrix.c deleted file mode 100644 index 7c38a3bd4..000000000 --- a/keyboards/clueboard/60/matrix.c +++ /dev/null @@ -1,175 +0,0 @@ -#include -#include -#include -#include "hal.h" -#include "timer.h" -#include "wait.h" -#include "printf.h" -#include "backlight.h" -#include "matrix.h" - - -/* Clueboard 60% - * - * Column pins are input with internal pull-down. - * Row pins are output and strobe with high. - * Key is high or 1 when it turns on. - * - * col: { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC15, PC14, PC13, PB5, PB6 } - * row: { PB0, PB1, PB2, PA15, PA10 } - */ -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[MATRIX_COLS]; -static bool debouncing = false; -static uint16_t debouncing_time = 0; - -__attribute__ ((weak)) -void matrix_init_user(void) {} - -__attribute__ ((weak)) -void matrix_scan_user(void) {} - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -void matrix_init(void) { - printf("matrix init\n"); - //debug_matrix = true; - - /* Column(sense) */ - palSetPadMode(GPIOA, 2, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOA, 3, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOA, 6, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 14, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 15, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOA, 8, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOA, 9, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOA, 7, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 3, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 4, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOC, 15, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOC, 14, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOC, 13, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 5, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 6, PAL_MODE_OUTPUT_PUSHPULL); - - /* Row(strobe) */ - palSetPadMode(GPIOB, 0, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOB, 1, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOB, 2, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOA, 15, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOA, 10, PAL_MODE_INPUT_PULLDOWN); - - memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t)); - memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_row_t)); - - palClearPad(GPIOB, 7); // Turn off capslock - matrix_init_quantum(); -} - -uint8_t matrix_scan(void) { - for (int col = 0; col < MATRIX_COLS; col++) { - matrix_row_t data = 0; - - // strobe col { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC14, PC15, PC13, PB5, PB6 } - switch (col) { - case 0: palSetPad(GPIOA, 2); break; - case 1: palSetPad(GPIOA, 3); break; - case 2: palSetPad(GPIOA, 6); break; - case 3: palSetPad(GPIOB, 14); break; - case 4: palSetPad(GPIOB, 15); break; - case 5: palSetPad(GPIOA, 8); break; - case 6: palSetPad(GPIOA, 9); break; - case 7: palSetPad(GPIOA, 7); break; - case 8: palSetPad(GPIOB, 3); break; - case 9: palSetPad(GPIOB, 4); break; - case 10: palSetPad(GPIOC, 15); break; - case 11: palSetPad(GPIOC, 14); break; - case 12: palSetPad(GPIOC, 13); break; - case 13: palSetPad(GPIOB, 5); break; - case 14: palSetPad(GPIOB, 6); break; - } - - // need wait to settle pin state - wait_us(20); - - // read row data { PB0, PB1, PB2, PA15, PA10 } - data = ( - (palReadPad(GPIOB, 0) << 0 ) | - (palReadPad(GPIOB, 1) << 1 ) | - (palReadPad(GPIOB, 2) << 2 ) | - (palReadPad(GPIOA, 15) << 3 ) | - (palReadPad(GPIOA, 10) << 4 ) - ); - - // unstrobe col { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC15, PC14, PC13, PB5, PB6 } - switch (col) { - case 0: palClearPad(GPIOA, 2); break; - case 1: palClearPad(GPIOA, 3); break; - case 2: palClearPad(GPIOA, 6); break; - case 3: palClearPad(GPIOB, 14); break; - case 4: palClearPad(GPIOB, 15); break; - case 5: palClearPad(GPIOA, 8); break; - case 6: palClearPad(GPIOA, 9); break; - case 7: palClearPad(GPIOA, 7); break; - case 8: palClearPad(GPIOB, 3); break; - case 9: palClearPad(GPIOB, 4); break; - case 10: palClearPad(GPIOC, 15); break; - case 11: palClearPad(GPIOC, 14); break; - case 12: palClearPad(GPIOC, 13); break; - case 13: palClearPad(GPIOB, 5); break; - case 14: palClearPad(GPIOB, 6); break; - } - - if (matrix_debouncing[col] != data) { - matrix_debouncing[col] = data; - debouncing = true; - debouncing_time = timer_read(); - } - } - - if (debouncing && timer_elapsed(debouncing_time) > DEBOUNCE) { - for (int row = 0; row < MATRIX_ROWS; row++) { - matrix[row] = 0; - for (int col = 0; col < MATRIX_COLS; col++) { - matrix[row] |= ((matrix_debouncing[col] & (1 << row) ? 1 : 0) << col); - } - } - debouncing = false; - } - - matrix_scan_quantum(); - - return 1; -} - -bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & (1<