diff options
Diffstat (limited to 'keyboards/angel64/rev1')
-rw-r--r-- | keyboards/angel64/rev1/config.h | 137 | ||||
-rw-r--r-- | keyboards/angel64/rev1/info.json | 10 | ||||
-rw-r--r-- | keyboards/angel64/rev1/keymaps/default/keymap.c | 35 | ||||
-rw-r--r-- | keyboards/angel64/rev1/keymaps/default/readme.md | 1 | ||||
-rw-r--r-- | keyboards/angel64/rev1/keymaps/kakunpc/config.h | 19 | ||||
-rw-r--r-- | keyboards/angel64/rev1/keymaps/kakunpc/keymap.c | 196 | ||||
-rw-r--r-- | keyboards/angel64/rev1/keymaps/kakunpc/readme.md | 1 | ||||
-rw-r--r-- | keyboards/angel64/rev1/matrix.c | 280 | ||||
-rw-r--r-- | keyboards/angel64/rev1/readme.md | 15 | ||||
-rw-r--r-- | keyboards/angel64/rev1/rev1.c | 16 | ||||
-rw-r--r-- | keyboards/angel64/rev1/rev1.h | 48 | ||||
-rw-r--r-- | keyboards/angel64/rev1/rules.mk | 0 |
12 files changed, 0 insertions, 758 deletions
diff --git a/keyboards/angel64/rev1/config.h b/keyboards/angel64/rev1/config.h deleted file mode 100644 index b3270fdd8b..0000000000 --- a/keyboards/angel64/rev1/config.h +++ /dev/null @@ -1,137 +0,0 @@ -/* -Copyright 2019 kakunpc - -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/>. -*/ - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0A64 -#define DEVICE_VER 0x0001 -#define MANUFACTURER kakunpc -#define PRODUCT angel64 - -/* key matrix size */ -#define MATRIX_ROWS 12 -#define MATRIX_COLS 6 - -/* - * Keyboard Matrix Assignments - * -*/ -#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 } -#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 } -#define UNUSED_PINS - -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -// #define BACKLIGHT_PIN B7 -// #define BACKLIGHT_BREATHING -// #define BACKLIGHT_LEVELS 3 - -#define RGB_DI_PIN D3 -#ifdef RGB_DI_PIN - #define RGBLED_NUM 64 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_LIMIT_VAL 25 /* The maximum brightness level */ - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /*== all animations enable ==*/ - #define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -// /*== customize breathing effect ==*/ -// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -// /*==== use exp() and sin() ====*/ -// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -#endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is userful for the Windows task manager shortcut (ctrl+shift+esc). - */ -// #define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -/* Bootmagic Lite key configuration */ -// #define BOOTMAGIC_LITE_ROW 0 -// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/angel64/rev1/info.json b/keyboards/angel64/rev1/info.json deleted file mode 100644 index fe6b4f5e05..0000000000 --- a/keyboards/angel64/rev1/info.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "keyboard_name": "angel64_rev1", - "url": "https://kakunpc.booth.pm/", - "maintainer": "kakunpc", - "layouts": { - "LAYOUT_all": { - "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":2}, {"label":"A", "x":2, "y":2}, {"label":"S", "x":3, "y":2}, {"label":"D", "x":4, "y":2}, {"label":"F", "x":5, "y":2}, {"label":"G", "x":6, "y":2}, {"label":"H", "x":7, "y":2}, {"label":"J", "x":8, "y":2}, {"label":"K", "x":9, "y":2}, {"label":"L", "x":10, "y":2}, {"label":":", "x":11, "y":2}, {"label":"\"", "x":12, "y":2}, {"label":"Enter", "x":13, "y":2, "w":2}, {"label":"Shift", "x":0, "y":3, "w":2.5}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":"<", "x":9.5, "y":3}, {"label":">", "x":10.5, "y":3}, {"label":"?", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":2.5}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Alt", "x":1.25, "y":4, "w":1.5}, {"label":"Win", "x":2.75, "y":4, "w":1.5}, {"x":4.25, "y":4}, {"x":5.25, "y":4, "w":1.5}, {"x":6.75, "y":4, "w":1.5}, {"x":8.25, "y":4, "w":1.5}, {"x":9.75, "y":4}, {"label":"Alt", "x":10.75, "y":4, "w":1.5}, {"label":"Menu", "x":12.25, "y":4, "w":1.5}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] - } - } -} diff --git a/keyboards/angel64/rev1/keymaps/default/keymap.c b/keyboards/angel64/rev1/keymaps/default/keymap.c deleted file mode 100644 index 7ad3964e24..0000000000 --- a/keyboards/angel64/rev1/keymaps/default/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2019 kakunpc - * - * 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 QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_APP, KC_RCTL), -}; - -#ifdef OLED_ENABLE -bool oled_task_user(void) { - // Host Keyboard LED Status - oled_write_P(IS_HOST_LED_ON(USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false); - oled_write_P(IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false); - oled_write_P(IS_HOST_LED_ON(USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); - return false; -} -#endif diff --git a/keyboards/angel64/rev1/keymaps/default/readme.md b/keyboards/angel64/rev1/keymaps/default/readme.md deleted file mode 100644 index f4cd48f2ef..0000000000 --- a/keyboards/angel64/rev1/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for angel64
\ No newline at end of file diff --git a/keyboards/angel64/rev1/keymaps/kakunpc/config.h b/keyboards/angel64/rev1/keymaps/kakunpc/config.h deleted file mode 100644 index bf1149ebc6..0000000000 --- a/keyboards/angel64/rev1/keymaps/kakunpc/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 kakunpc - * - * 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/>. - */ - -#pragma once - -// place overrides here diff --git a/keyboards/angel64/rev1/keymaps/kakunpc/keymap.c b/keyboards/angel64/rev1/keymaps/kakunpc/keymap.c deleted file mode 100644 index 6c5184c1b3..0000000000 --- a/keyboards/angel64/rev1/keymaps/kakunpc/keymap.c +++ /dev/null @@ -1,196 +0,0 @@ -/* Copyright 2019 kakunpc - * - * 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/>. - */ -#define USE_LED_RIPPLE_EFFECT -// #define RANDOM_RIPPLE_EFFECT - -#include QMK_KEYBOARD_H -#include "lufa.h" - -#ifdef USE_LED_RIPPLE_EFFECT -struct keybuf { - char col, row; - char frame; -}; -struct keybuf keybufs[256]; -unsigned char keybuf_begin, keybuf_end; - -unsigned char r = 0; -unsigned char g = 112; -unsigned char b = 255; -int col, row; -#endif - - -enum layers{ - BASE = 0, - COMMAND -}; - -#define KC_COMMAND_NUM LT(COMMAND,KC_F13) -#define KC_COMMAND_KANA LT(COMMAND,KC_F14) -#define KC_COMMAND LT(COMMAND,KC_SPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT_all( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_LGUI, KC_COMMAND_NUM, KC_SPC, KC_SPC, KC_SPC, KC_COMMAND_KANA, KC_RALT, MO(COMMAND),KC_RCTL), - [COMMAND] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, - KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LCTL, KC_NO, KC_NO, _______, KC_NO, RGB_MOD, KC_NO, _______, KC_NO, _______, KC_NO), -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { -#ifdef USE_LED_RIPPLE_EFFECT - col = record->event.key.col; - row = record->event.key.row; - if (record->event.pressed) { - int end = keybuf_end; - keybufs[end].col = col; - keybufs[end].row = row; - keybufs[end].frame = 0; - keybuf_end ++; - } -#endif - return true; -} - -void keyboard_post_init_user(void) { -#ifdef USE_LED_RIPPLE_EFFECT - rgblight_enable_noeeprom(); - rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); -#endif -} - -#ifdef USE_LED_RIPPLE_EFFECT -int scan_count = -10; -int keys[] = { 14, 14, 13, 12, 11 }; -int keys_sum[] = { 0, 14, 28, 41, 53 }; -unsigned char rgb[14][5][3]; -int row_max = 12; -int ToIndex(char _col, char _row) { - return (_col * row_max) + _row; -} - -void led_ripple_effect(void){ - if (scan_count == -1) { - rgblight_enable_noeeprom(); - rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); - } else if (scan_count >= 0 && scan_count < 5) { - for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) { - int i = c; - // FIXME: - - int index = ToIndex(keybufs[i].col,keybufs[i].row); - int coll = 0; - for(int s = 4; s >= 0; --s){ - if( index >= keys_sum[s]){ - coll = s; - break; - } - } - int roww = MAX(0,index - keys_sum[coll]); - - int y = scan_count; - int dist_y = abs(y - coll); - for (int x=0; x<keys[y]; x++) { - int dist = abs(x - roww) + dist_y; - if (dist <= keybufs[i].frame) { - int elevation = MAX(0, (8 + dist - keybufs[i].frame)) << 2; - if (elevation) { - if ((rgb[x][y][0] != 255) && r) { rgb[x][y][0] = MIN(255, elevation + rgb[x][y][0]); } - if ((rgb[x][y][1] != 255) && g) { rgb[x][y][1] = MIN(255, elevation + rgb[x][y][1]); } - if ((rgb[x][y][2] != 255) && b) { rgb[x][y][2] = MIN(255, elevation + rgb[x][y][2]); } - } - } - } - } - } else if (scan_count == 5) { - for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) { - int i = c; - if (keybufs[i].frame < 64) { - keybufs[i].frame ++; - } else { - keybuf_begin ++; - } - } - } else if (scan_count >= 6 && scan_count <= 10) { - int y = scan_count - 6; - for (int x=0; x<keys[y]; x++) { - int at = keys_sum[y] + x; - led[at].r = rgb[x][y][0]; - led[at].g = rgb[x][y][1]; - led[at].b = rgb[x][y][2]; - } - rgblight_set(); - } else if (scan_count == 11) { - memset(rgb, 0, sizeof(rgb)); - } - scan_count++; - if (scan_count >= 12) { scan_count = 0; } -} - -#endif - -void matrix_scan_user(void) { -#ifdef USE_LED_RIPPLE_EFFECT -#ifdef RANDOM_RIPPLE_EFFECT - static int timer = 0; - static int timeout = 300; - timer++; - if(timer > timeout){ - int end = keybuf_end; - col = rand() % 6; - row = rand() % 12; - keybufs[end].col = col; - keybufs[end].row = row; - keybufs[end].frame = 0; - keybuf_end ++; - timer = rand() % timeout; - } -#endif - led_ripple_effect(); -#endif -} - -#ifdef OLED_ENABLE -bool oled_task_user(void) { - oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { - case BASE: - oled_write_P(PSTR("Default\n"), false); - break; - case COMMAND: - oled_write_P(PSTR("COMMAND\n"), false); - break; - default: - // Or use the write_ln shortcut over adding 'n' to the end of your string - oled_write_ln_P(PSTR("Undefined"), false); - } - - // Host Keyboard LED Status - oled_write_P(IS_HOST_LED_ON(USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false); - oled_write_P(IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false); - oled_write_P(IS_HOST_LED_ON(USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); - return false; -} -#endif diff --git a/keyboards/angel64/rev1/keymaps/kakunpc/readme.md b/keyboards/angel64/rev1/keymaps/kakunpc/readme.md deleted file mode 100644 index ca7d7961fc..0000000000 --- a/keyboards/angel64/rev1/keymaps/kakunpc/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The kakunpc keymap for angel64 diff --git a/keyboards/angel64/rev1/matrix.c b/keyboards/angel64/rev1/matrix.c deleted file mode 100644 index 2851859cf2..0000000000 --- a/keyboards/angel64/rev1/matrix.c +++ /dev/null @@ -1,280 +0,0 @@ -/* -Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar - -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 <stdint.h> -#include <stdbool.h> -#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 - -static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; - -/* 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; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<<col)); -} - -inline -matrix_row_t matrix_get_row(uint8_t row) -{ - // Matrix mask lets you disable switches in the returned matrix data. For example, if you have a - // switch blocker installed and the switch is always pressed. -#ifdef MATRIX_MASKED - return matrix[row] & matrix_mask[row]; -#else - return matrix[row]; -#endif -} - -void matrix_print(void) -{ - print_matrix_header(); - - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - print_hex8(row); print(": "); - print_matrix_row(row); - print("\n"); - } -} - -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - -static void select_row(uint8_t row) -{ - setPinOutput(row_pins[row]); - writePinLow(row_pins[row]); -} - -static void unselect_row(uint8_t row) -{ - setPinInputHigh(row_pins[row]); -} - -static void unselect_rows(void) -{ - for(uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh(row_pins[x]); - } -} - -static void select_col(uint8_t col) -{ - setPinOutput(col_pins[col]); - writePinLow(col_pins[col]); -} - -static void unselect_col(uint8_t col) -{ - setPinInputHigh(col_pins[col]); -} - -static void unselect_cols(void) -{ - for(uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh(col_pins[x]); - } -} - -static void init_pins(void) { - unselect_rows(); - unselect_cols(); - for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh(col_pins[x]); - } - for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh(row_pins[x]); - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) -{ - // Store last value of row prior to reading - matrix_row_t last_row_value = current_matrix[current_row]; - - // Clear data in matrix row - current_matrix[current_row] = 0; - - // Select row and wait for row selecton to stabilize - select_row(current_row); - wait_us(30); - - // For each col... - for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - - // Select the col pin to read (active low) - uint8_t pin_state = readPin(col_pins[col_index]); - - // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); - } - - // Unselect row - unselect_row(current_row); - - return (last_row_value != current_matrix[current_row]); -} - -static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) -{ - bool matrix_changed = false; - - // Select col and wait for col selecton to stabilize - select_col(current_col); - wait_us(30); - - // For each row... - for(uint8_t row_index = 0; row_index < MATRIX_ROWS/2; row_index++) - { - uint8_t tmp = row_index + MATRIX_ROWS/2; - // Store last value of row prior to reading - matrix_row_t last_row_value = current_matrix[tmp]; - - // Check row pin state - if (readPin(row_pins[row_index]) == 0) - { - // Pin LO, set col bit - current_matrix[tmp] |= (ROW_SHIFTER << current_col); - } - else - { - // Pin HI, clear col bit - current_matrix[tmp] &= ~(ROW_SHIFTER << current_col); - } - - // Determine if the matrix changed state - if ((last_row_value != current_matrix[tmp]) && !(matrix_changed)) - { - matrix_changed = true; - } - } - - // Unselect col - unselect_col(current_col); - - return matrix_changed; -} - -void matrix_init(void) { - - // initialize key pins - init_pins(); - - // initialize matrix state: all keys off - for (uint8_t i=0; i < MATRIX_ROWS; i++) { - raw_matrix[i] = 0; - matrix[i] = 0; - } - - debounce_init(MATRIX_ROWS); - - matrix_init_quantum(); -} - -uint8_t matrix_scan(void) -{ - bool changed = false; - - // Set row, read cols - for (uint8_t current_row = 0; current_row < MATRIX_ROWS / 2; current_row++) { - changed |= read_cols_on_row(raw_matrix, current_row); - } - //else - // Set col, read rows - for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { - changed |= read_rows_on_col(raw_matrix, current_col); - } - - debounce(raw_matrix, matrix, MATRIX_ROWS, changed); - - matrix_scan_quantum(); - return (uint8_t)changed; -} diff --git a/keyboards/angel64/rev1/readme.md b/keyboards/angel64/rev1/readme.md deleted file mode 100644 index 4ce77807c9..0000000000 --- a/keyboards/angel64/rev1/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# angel64 - -![angel64](https://i.gyazo.com/d114d4b1789009dbe8c910eaeb3295c5.jpg) - -Keyboard for tablets. - -* Keyboard Maintainer: [kakunpc](https://github.com/kakunpc) -* Hardware Supported: angel64_rev1, promicro -* Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/)) - -Make example for this keyboard (after setting up your build environment): - - make angel64/rev1:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/angel64/rev1/rev1.c b/keyboards/angel64/rev1/rev1.c deleted file mode 100644 index 40ff30e620..0000000000 --- a/keyboards/angel64/rev1/rev1.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Copyright 2019 kakunpc - * - * 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 "rev1.h" diff --git a/keyboards/angel64/rev1/rev1.h b/keyboards/angel64/rev1/rev1.h deleted file mode 100644 index f4335601a9..0000000000 --- a/keyboards/angel64/rev1/rev1.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2019 kakunpc - * - * 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/>. - */ -#pragma once - -#include "quantum.h" - -/* This a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. - */ -#define LAYOUT_all( \ - k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, \ - k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, \ - k29, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, \ - k42, k43, k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, \ - k54, k55, k56, k57, k58, k59, k60, k61, k62, k63, k64\ -) \ -{ \ - { k01, k13, k25, k37, k49, k61 }, \ - { k02, k14, k26, k38, k50, k62 }, \ - { k03, k15, k27, k39, k51, k63 }, \ - { k04, k16, k28, k40, k52, k64 }, \ - { k05, k17, k29, k41, k53, KC_NO }, \ - { k06, k18, k30, k42, k54, KC_NO }, \ - { k07, k19, k31, k43, k55, KC_NO }, \ - { k08, k20, k32, k44, k56, KC_NO }, \ - { k09, k21, k33, k45, k57, KC_NO }, \ - { k10, k22, k34, k46, k58, KC_NO }, \ - { k11, k23, k35, k47, k59, KC_NO }, \ - { k12, k24, k36, k48, k60, KC_NO } \ -} diff --git a/keyboards/angel64/rev1/rules.mk b/keyboards/angel64/rev1/rules.mk deleted file mode 100644 index e69de29bb2..0000000000 --- a/keyboards/angel64/rev1/rules.mk +++ /dev/null |