diff options
author | James Young <18669334+noroadsleft@users.noreply.github.com> | 2022-09-25 22:59:58 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-25 22:59:58 -0700 |
commit | e64ec530cd966c15653eb786da2afcd20eee2f30 (patch) | |
tree | 15dae5d43f277c3d09de877213f097014f7ba850 | |
parent | 1fd8a45ddee31fe30b79d0fc4bcae6c5941200c3 (diff) |
Durgod K310/K320 Refactor (#18224)
55 files changed, 492 insertions, 390 deletions
diff --git a/keyboards/durgod/k310/base/config.h b/keyboards/durgod/k310/base/config.h new file mode 100644 index 0000000000..018afb342d --- /dev/null +++ b/keyboards/durgod/k310/base/config.h @@ -0,0 +1,56 @@ +/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman + * Copyright 2021 Simon Arlott + * + * 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" + +#define WAIT_US_TIMER GPTD3 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 16 + +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6, A7 } +#define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +// Dynamic EEPROM +// Something sensible or else VIA may crash +// Users may enable more if they wish +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Bootmagic Lite key configuration */ +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +/* LED indicator pins */ +#define LED_NUM_LOCK_PIN C8 +#define LED_CAPS_LOCK_PIN C9 +#define LED_SCROLL_LOCK_PIN A8 +#define LED_WIN_LOCK_PIN A9 +#define LED_MR_LOCK_PIN A10 +#define LED_PIN_ON_STATE 0 + +/* Original hardware "reset" button on pin D2 */ +#define HARDWARE_RESET_PIN D2 diff --git a/keyboards/durgod/k310/base/readme.md b/keyboards/durgod/k310/base/readme.md deleted file mode 100644 index 1f818dacc9..0000000000 --- a/keyboards/durgod/k310/base/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# Taurus K310 - -Base Model - no backlight leds - -See: [K310](../../k3x0/k310/base/readme.md) - diff --git a/keyboards/durgod/k310/base/rules.mk b/keyboards/durgod/k310/base/rules.mk index ff432cc4aa..5c07a0fa71 100644 --- a/keyboards/durgod/k310/base/rules.mk +++ b/keyboards/durgod/k310/base/rules.mk @@ -1 +1,23 @@ -DEFAULT_FOLDER=durgod/k3x0/k310/base +# MCU name +# Actually F070, but close enough +MCU = STM32F072 +BOARD = DURGOD_STM32_F070 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes + +LAYOUTS = fullsize_ansi fullsize_iso diff --git a/keyboards/durgod/k3x0/halconf.h b/keyboards/durgod/k310/halconf.h index d2a9d8c7c0..d2a9d8c7c0 100644 --- a/keyboards/durgod/k3x0/halconf.h +++ b/keyboards/durgod/k310/halconf.h diff --git a/keyboards/durgod/k3x0/k310/info.json b/keyboards/durgod/k310/info.json index 06e935484e..06e935484e 100644 --- a/keyboards/durgod/k3x0/k310/info.json +++ b/keyboards/durgod/k310/info.json diff --git a/keyboards/durgod/k3x0/k3x0.c b/keyboards/durgod/k310/k310.c index d12b46bc51..fc41ee5657 100644 --- a/keyboards/durgod/k3x0/k3x0.c +++ b/keyboards/durgod/k310/k310.c @@ -15,7 +15,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "k3x0.h" +#include "k310.h" #include <ch.h> #include <hal.h> diff --git a/keyboards/durgod/k3x0/k310/k310.h b/keyboards/durgod/k310/k310.h index 2d82ee1550..e106c8dbe6 100644 --- a/keyboards/durgod/k3x0/k310/k310.h +++ b/keyboards/durgod/k310/k310.h @@ -17,6 +17,8 @@ #pragma once +#include "quantum.h" + #define XXX KC_NO // This a shortcut to help you visually see your layout. @@ -76,3 +78,23 @@ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \ } + +#ifndef WINLOCK_DISABLED +// Define the TGUI key here so it is available in QMK configurator +enum K3x0_keycodes { +#ifdef VIA_ENABLE + KC_TGUI = USER00, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE = SAFE_RANGE +#else + KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE +#endif +}; + +#undef SAFE_RANGE +#define SAFE_RANGE NEW_SAFE_RANGE +#endif /* WINLOCK_DISABLED */ + +/* Function Prototype */ +void off_all_leds(void); +void on_all_leds(void); diff --git a/keyboards/durgod/k3x0/keymaps/chimera/keymap.c b/keyboards/durgod/k310/keymaps/chimera/keymap.c index 5fa0d5eb4c..5fa0d5eb4c 100644 --- a/keyboards/durgod/k3x0/keymaps/chimera/keymap.c +++ b/keyboards/durgod/k310/keymaps/chimera/keymap.c diff --git a/keyboards/durgod/k3x0/keymaps/chimera/readme.md b/keyboards/durgod/k310/keymaps/chimera/readme.md index eb9a3ea5f3..eb9a3ea5f3 100644 --- a/keyboards/durgod/k3x0/keymaps/chimera/readme.md +++ b/keyboards/durgod/k310/keymaps/chimera/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/chimera/rules.mk b/keyboards/durgod/k310/keymaps/chimera/rules.mk index 19843e8a20..19843e8a20 100644 --- a/keyboards/durgod/k3x0/keymaps/chimera/rules.mk +++ b/keyboards/durgod/k310/keymaps/chimera/rules.mk diff --git a/keyboards/durgod/k3x0/keymaps/default/keymap.json b/keyboards/durgod/k310/keymaps/default/keymap.json index 507b5c909c..bd017f0e9d 100644 --- a/keyboards/durgod/k3x0/keymaps/default/keymap.json +++ b/keyboards/durgod/k310/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/k3x0", + "keyboard": "durgod/k310/base", "keymap": "default", "layout": "LAYOUT_all", "layers": [ diff --git a/keyboards/durgod/k3x0/keymaps/default/readme.md b/keyboards/durgod/k310/keymaps/default/readme.md index 952b1912ce..952b1912ce 100644 --- a/keyboards/durgod/k3x0/keymaps/default/readme.md +++ b/keyboards/durgod/k310/keymaps/default/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/default_mac/keymap.json b/keyboards/durgod/k310/keymaps/default_mac/keymap.json index acf221935e..26f8aea7f1 100644 --- a/keyboards/durgod/k3x0/keymaps/default_mac/keymap.json +++ b/keyboards/durgod/k310/keymaps/default_mac/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/k3x0", + "keyboard": "durgod/k310/base", "keymap": "default_mac", "layout": "LAYOUT_all", "layers": [ diff --git a/keyboards/durgod/k3x0/keymaps/default_mac/readme.md b/keyboards/durgod/k310/keymaps/default_mac/readme.md index 2765f14f90..2765f14f90 100644 --- a/keyboards/durgod/k3x0/keymaps/default_mac/readme.md +++ b/keyboards/durgod/k310/keymaps/default_mac/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/typhon/keymap.c b/keyboards/durgod/k310/keymaps/typhon/keymap.c index 21daf5687a..21daf5687a 100644 --- a/keyboards/durgod/k3x0/keymaps/typhon/keymap.c +++ b/keyboards/durgod/k310/keymaps/typhon/keymap.c diff --git a/keyboards/durgod/k3x0/keymaps/typhon/readme.md b/keyboards/durgod/k310/keymaps/typhon/readme.md index 9ddef43aa5..9ddef43aa5 100644 --- a/keyboards/durgod/k3x0/keymaps/typhon/readme.md +++ b/keyboards/durgod/k310/keymaps/typhon/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/typhon/rules.mk b/keyboards/durgod/k310/keymaps/typhon/rules.mk index 437d8205c7..437d8205c7 100644 --- a/keyboards/durgod/k3x0/keymaps/typhon/rules.mk +++ b/keyboards/durgod/k310/keymaps/typhon/rules.mk diff --git a/keyboards/durgod/k3x0/keymaps/via/keymap.c b/keyboards/durgod/k310/keymaps/via/keymap.c index 169ee2b586..169ee2b586 100644 --- a/keyboards/durgod/k3x0/keymaps/via/keymap.c +++ b/keyboards/durgod/k310/keymaps/via/keymap.c diff --git a/keyboards/durgod/k3x0/keymaps/via/readme.md b/keyboards/durgod/k310/keymaps/via/readme.md index ffa1c4ce0a..ffa1c4ce0a 100644 --- a/keyboards/durgod/k3x0/keymaps/via/readme.md +++ b/keyboards/durgod/k310/keymaps/via/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/via/rules.mk b/keyboards/durgod/k310/keymaps/via/rules.mk index 1e5b99807c..1e5b99807c 100644 --- a/keyboards/durgod/k3x0/keymaps/via/rules.mk +++ b/keyboards/durgod/k310/keymaps/via/rules.mk diff --git a/keyboards/durgod/k310/readme.md b/keyboards/durgod/k310/readme.md index 234fcc875d..1f39f79513 100644 --- a/keyboards/durgod/k310/readme.md +++ b/keyboards/durgod/k310/readme.md @@ -1,4 +1,29 @@ -# K310 +# Taurus K310 -See: [K310](../k3x0/k310/readme.md) +This code is shared between all K310 variants. Currently only the base model with no backlight is supported. +This is a standard off-the-shelf Durgod Taurus K310 full-sized 104/105-key +keyboard without backlight. This supports both the ANSI and ISO variants. + +* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) +* Hardware Supported: [Durgod Taurus K310 board with STM32F070RBT6](https://www.durgod.com/page9?product_id=53&_l=en "Durgod.com Product Page") +* Hardware Availability: [Amazon.com](https://www.amazon.com/Durgod-Taurus-K310-Mechanical-Keyboard/dp/B07TXB4XF3) + +## Instructions + +### Build + +Make command example for this keyboard (after setting up your build environment): + + make durgod/k310/base:default + +Flashing example for this keyboard: + + make durgod/k310/base:default:flash + +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). + +### Initial Flash + +Instructions for Flashing from initial Stock Firmware: +* [Initial Flashing](../k3x0/readme.md#initial-flash) diff --git a/keyboards/durgod/k310/rules.mk b/keyboards/durgod/k310/rules.mk deleted file mode 100644 index e200539b26..0000000000 --- a/keyboards/durgod/k310/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER=durgod/k3x0/k310 diff --git a/keyboards/durgod/k3x0/config.h b/keyboards/durgod/k320/base/config.h index 0f2e01cfc1..5f64a04f9a 100644 --- a/keyboards/durgod/k3x0/config.h +++ b/keyboards/durgod/k320/base/config.h @@ -21,9 +21,11 @@ #define WAIT_US_TIMER GPTD3 -/* key matrix size (rows in specific keyboard variant) */ +/* key matrix size */ +#define MATRIX_ROWS 7 #define MATRIX_COLS 16 +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 } #define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 } /* COL2ROW, ROW2COL*/ diff --git a/keyboards/durgod/k320/base/readme.md b/keyboards/durgod/k320/base/readme.md deleted file mode 100644 index 8b74e28e54..0000000000 --- a/keyboards/durgod/k320/base/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# Taurus K320 - -Base Model - no backlight leds - -See: [K320](../../k3x0/k320/base/readme.md) - diff --git a/keyboards/durgod/k320/base/rules.mk b/keyboards/durgod/k320/base/rules.mk index de33470cc0..37896a20ce 100644 --- a/keyboards/durgod/k320/base/rules.mk +++ b/keyboards/durgod/k320/base/rules.mk @@ -1 +1,23 @@ -DEFAULT_FOLDER=durgod/k3x0/k320/base +# MCU name +# Actually F070, but close enough +MCU = STM32F072 +BOARD = DURGOD_STM32_F070 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes + +LAYOUTS = tkl_ansi tkl_iso diff --git a/keyboards/durgod/k3x0/k310/base/config.h b/keyboards/durgod/k320/halconf.h index 2ccb2f2f0c..d2a9d8c7c0 100644 --- a/keyboards/durgod/k3x0/k310/base/config.h +++ b/keyboards/durgod/k320/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Don Kjer +/* Copyright 2021 Simon Arlott * * 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 @@ -16,4 +16,9 @@ #pragma once -#include "config_common.h" +#define HAL_USE_PAL TRUE +#define PAL_USE_CALLBACKS TRUE + +#define HAL_USE_GPT TRUE + +#include_next <halconf.h> diff --git a/keyboards/durgod/k3x0/k320/info.json b/keyboards/durgod/k320/info.json index 0386ef7709..4d239e05ac 100644 --- a/keyboards/durgod/k3x0/k320/info.json +++ b/keyboards/durgod/k320/info.json @@ -202,104 +202,6 @@ { "label": "\u2192", "x": 17.25, "y": 5.5 } ] }, - "LAYOUT_tkl": { - "layout": [ - { "label": "Esc", "x": 0, "y": 0 }, - { "label": "F1", "x": 2, "y": 0 }, - { "label": "F2", "x": 3, "y": 0 }, - { "label": "F3", "x": 4, "y": 0 }, - { "label": "F4", "x": 5, "y": 0 }, - { "label": "F5", "x": 6.5, "y": 0 }, - { "label": "F6", "x": 7.5, "y": 0 }, - { "label": "F7", "x": 8.5, "y": 0 }, - { "label": "F8", "x": 9.5, "y": 0 }, - { "label": "F9", "x": 11, "y": 0 }, - { "label": "F10", "x": 12, "y": 0 }, - { "label": "F11", "x": 13, "y": 0 }, - { "label": "F12", "x": 14, "y": 0 }, - { "label": "PrtSc", "x": 15.25, "y": 0 }, - { "label": "Scroll Lock", "x": 16.25, "y": 0 }, - { "label": "Pause", "x": 17.25, "y": 0 }, - - { "label": "~", "x": 0, "y": 1.5 }, - { "label": "!", "x": 1, "y": 1.5 }, - { "label": "@", "x": 2, "y": 1.5 }, - { "label": "#", "x": 3, "y": 1.5 }, - { "label": "$", "x": 4, "y": 1.5 }, - { "label": "%", "x": 5, "y": 1.5 }, - { "label": "^", "x": 6, "y": 1.5 }, - { "label": "&", "x": 7, "y": 1.5 }, - { "label": "*", "x": 8, "y": 1.5 }, - { "label": "(", "x": 9, "y": 1.5 }, - { "label": ")", "x": 10, "y": 1.5 }, - { "label": "_", "x": 11, "y": 1.5 }, - { "label": "+", "x": 12, "y": 1.5 }, - { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 }, - { "label": "Insert", "x": 15.25, "y": 1.5 }, - { "label": "Home", "x": 16.25, "y": 1.5 }, - { "label": "PgUp", "x": 17.25, "y": 1.5 }, - - { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, - { "label": "Q", "x": 1.5, "y": 2.5 }, - { "label": "W", "x": 2.5, "y": 2.5 }, - { "label": "E", "x": 3.5, "y": 2.5 }, - { "label": "R", "x": 4.5, "y": 2.5 }, - { "label": "T", "x": 5.5, "y": 2.5 }, - { "label": "Y", "x": 6.5, "y": 2.5 }, - { "label": "U", "x": 7.5, "y": 2.5 }, - { "label": "I", "x": 8.5, "y": 2.5 }, - { "label": "O", "x": 9.5, "y": 2.5 }, - { "label": "P", "x": 10.5, "y": 2.5 }, - { "label": "{", "x": 11.5, "y": 2.5 }, - { "label": "}", "x": 12.5, "y": 2.5 }, - { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 }, - { "label": "Delete", "x": 15.25, "y": 2.5 }, - { "label": "End", "x": 16.25, "y": 2.5 }, - { "label": "PgDn", "x": 17.25, "y": 2.5 }, - - { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, - { "label": "A", "x": 1.75, "y": 3.5 }, - { "label": "S", "x": 2.75, "y": 3.5 }, - { "label": "D", "x": 3.75, "y": 3.5 }, - { "label": "F", "x": 4.75, "y": 3.5 }, - { "label": "G", "x": 5.75, "y": 3.5 }, - { "label": "H", "x": 6.75, "y": 3.5 }, - { "label": "J", "x": 7.75, "y": 3.5 }, - { "label": "K", "x": 8.75, "y": 3.5 }, - { "label": "L", "x": 9.75, "y": 3.5 }, - { "label": ":", "x": 10.75, "y": 3.5 }, - { "label": "\"", "x": 11.75, "y": 3.5 }, - { "label": "#", "x": 12.75, "y": 3.5 }, - { "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 }, - - { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 }, - { "label": "\\", "x": 1.25, "y": 4.5 }, - { "label": "Z", "x": 2.25, "y": 4.5 }, - { "label": "X", "x": 3.25, "y": 4.5 }, - { "label": "C", "x": 4.25, "y": 4.5 }, - { "label": "V", "x": 5.25, "y": 4.5 }, - { "label": "B", "x": 6.25, "y": 4.5 }, - { "label": "N", "x": 7.25, "y": 4.5 }, - { "label": "M", "x": 8.25, "y": 4.5 }, - { "label": "<", "x": 9.25, "y": 4.5 }, - { "label": ">", "x": 10.25, "y": 4.5 }, - { "label": "?", "x": 11.25, "y": 4.5 }, - { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, - { "label": "\u2191", "x": 16.25, "y": 4.5 }, - - { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, - { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, - { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 }, - { "x": 3.75, "y": 5.5, "w": 6.25 }, - { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 }, - { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 }, - { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 }, - { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, - { "label": "\u2190", "x": 15.25, "y": 5.5 }, - { "label": "\u2193", "x": 16.25, "y": 5.5 }, - { "label": "\u2192", "x": 17.25, "y": 5.5 } - ] - }, "LAYOUT_all": { "layout": [ { "label": "Esc", "x": 0, "y": 0 }, @@ -336,10 +238 |