diff options
Diffstat (limited to 'keyboards/xelus')
111 files changed, 1115 insertions, 371 deletions
diff --git a/keyboards/xelus/akis/config.h b/keyboards/xelus/akis/config.h index 2cbdb8bb00..9a1eddcd28 100644 --- a/keyboards/xelus/akis/config.h +++ b/keyboards/xelus/akis/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -// USB Device descriptor parameter -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0xA04B // A-K -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT AkiS - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 @@ -32,7 +25,6 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { F5, F4, F1, F0, E6 } #define MATRIX_COL_PINS { B4, D7, D6, D4, D5, D3, D2, D1, D0, F6, F7, C7, C6, B6, B5 } -#define UNUSED_PINS /* RGB Lighting */ #define RGB_DI_PIN B0 diff --git a/keyboards/xelus/akis/info.json b/keyboards/xelus/akis/info.json index 29dec68aee..36a6d78277 100644 --- a/keyboards/xelus/akis/info.json +++ b/keyboards/xelus/akis/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "akiS", + "keyboard_name": "AkiS", + "manufacturer": "Xelus", "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/xelus/akis", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0xA04B", + "device_version": "0.0.1" + }, "layout_aliases": { "LAYOUT_65_all": "LAYOUT_all" }, diff --git a/keyboards/xelus/dawn60/info.json b/keyboards/xelus/dawn60/info.json index 346422b92a..24eba75384 100644 --- a/keyboards/xelus/dawn60/info.json +++ b/keyboards/xelus/dawn60/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Dawn60", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x0060", + "device_version": "0.0.1" + }, "layout_aliases": { "LAYOUT_60_all": "LAYOUT_all" }, diff --git a/keyboards/xelus/dawn60/rev1/config.h b/keyboards/xelus/dawn60/rev1/config.h index 52dab44f48..4b3a1641b9 100644 --- a/keyboards/xelus/dawn60/rev1/config.h +++ b/keyboards/xelus/dawn60/rev1/config.h @@ -17,12 +17,6 @@ #include "config_common.h" -// USB Device descriptor parameter -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x0060 // Dawn60 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Dawn60 // key matrix size #define MATRIX_ROWS 5 #define MATRIX_COLS 14 @@ -30,12 +24,10 @@ //no underglow - prototype //#define MATRIX_ROW_PINS { B1, B3, B7, F6, F7 } //#define MATRIX_COL_PINS { B0, D5, B2, F5, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7 } -//#define UNUSED_PINS //underglow #define MATRIX_ROW_PINS { B1, B3, F1, F6, F7 } #define MATRIX_COL_PINS { B0, D5, B2, F5, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 } -#define UNUSED_PINS // IS31FL3731 driver #define DRIVER_COUNT 2 diff --git a/keyboards/xelus/dawn60/rev1_qmk/config.h b/keyboards/xelus/dawn60/rev1_qmk/config.h index 67c88efb4c..11c59f8847 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/config.h +++ b/keyboards/xelus/dawn60/rev1_qmk/config.h @@ -17,13 +17,6 @@ #include "config_common.h" -// USB Device descriptor parameter -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x0060 // Dawn60 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Dawn60 - // key matrix size #define MATRIX_ROWS 5 #define MATRIX_COLS 14 @@ -31,7 +24,6 @@ //underglow #define MATRIX_ROW_PINS { B1, B3, F1, F6, F7 } #define MATRIX_COL_PINS { B0, D5, B2, F5, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 } -#define UNUSED_PINS // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/dharma/config.h b/keyboards/xelus/dharma/config.h index eab2c224c2..08fd8fb8f8 100644 --- a/keyboards/xelus/dharma/config.h +++ b/keyboards/xelus/dharma/config.h @@ -16,13 +16,6 @@ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0xDAAA // Dharma -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Dharma - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 18 @@ -30,7 +23,6 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { D0, D1, D2, D3, B0 } #define MATRIX_COL_PINS { B3, B2, B1, D5, D4, E6, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1 } -#define UNUSED_PINS /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/dharma/info.json b/keyboards/xelus/dharma/info.json index 661df2afbb..174cf2a1f0 100644 --- a/keyboards/xelus/dharma/info.json +++ b/keyboards/xelus/dharma/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "Xelus Dharma", + "keyboard_name": "Dharma", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0xDAAA", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/xelus/dharma/keymaps/default/config.h b/keyboards/xelus/dharma/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/dharma/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/kangaroo/info.json b/keyboards/xelus/kangaroo/info.json index c7b45eb946..adb6450826 100644 --- a/keyboards/xelus/kangaroo/info.json +++ b/keyboards/xelus/kangaroo/info.json @@ -1,7 +1,11 @@ { - "keyboard_name": "Kangaroo", - "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/xelus/kangaroo", - "maintainer": "qmk", + "manufacturer": "Xelus", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/xelus/kangaroo", + "maintainer": "qmk", + "usb": { + "vid": "0x5845", + "pid": "0x524F" + }, "layouts": { "LAYOUT_all": { "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"label":"PrtSc", "x":4.25, "y":0}, {"label":"Scroll Lock", "x":5.25, "y":0}, {"label":"Pause", "x":6.25, "y":0}, {"label":"Esc", "x":7.5, "y":0}, {"label":"F1", "x":9.5, "y":0}, {"label":"F2", "x":10.5, "y":0}, {"label":"F3", "x":11.5, "y":0}, {"label":"F4", "x":12.5, "y":0}, {"label":"F5", "x":14, "y":0}, {"label":"F6", "x":15, "y":0}, {"label":"F7", "x":16, "y":0}, {"label":"F8", "x":17, "y":0}, {"label":"F9", "x":18.5, "y":0}, {"label":"F10", "x":19.5, "y":0}, {"label":"F11", "x":20.5, "y":0}, {"label":"F12", "x":21.5, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"label":"Insert", "x":4.25, "y":1.25}, {"label":"Home", "x":5.25, "y":1.25}, {"label":"PgUp", "x":6.25, "y":1.25}, {"label":"~", "x":7.5, "y":1.25}, {"label":"!", "x":8.5, "y":1.25}, {"label":"@", "x":9.5, "y":1.25}, {"label":"#", "x":10.5, "y":1.25}, {"label":"$", "x":11.5, "y":1.25}, {"label":"%", "x":12.5, "y":1.25}, {"label":"^", "x":13.5, "y":1.25}, {"label":"&", "x":14.5, "y":1.25}, {"label":"*", "x":15.5, "y":1.25}, {"label":"(", "x":16.5, "y":1.25}, {"label":")", "x":17.5, "y":1.25}, {"label":"_", "x":18.5, "y":1.25}, {"label":"+", "x":19.5, "y":1.25}, {"x":20.5, "y":1.25}, {"x":21.5, "y":1.25}, {"x":0, "y":2.25}, {"x":1, "y":2.25}, {"x":2, "y":2.25}, {"x":3, "y":2.25}, {"label":"Delete", "x":4.25, "y":2.25}, {"label":"End", "x":5.25, "y":2.25}, {"label":"PgDn", "x":6.25, "y":2.25}, {"label":"Tab", "x":7.5, "y":2.25, "w":1.5}, {"label":"Q", "x":9, "y":2.25}, {"label":"W", "x":10, "y":2.25}, {"label":"E", "x":11, "y":2.25}, {"label":"R", "x":12, "y":2.25}, {"label":"T", "x":13, "y":2.25}, {"label":"Y", "x":14, "y":2.25}, {"label":"U", "x":15, "y":2.25}, {"label":"I", "x":16, "y":2.25}, {"label":"O", "x":17, "y":2.25}, {"label":"P", "x":18, "y":2.25}, {"label":"{", "x":19, "y":2.25}, {"label":"}", "x":20, "y":2.25}, {"label":"|", "x":21, "y":2.25, "w":1.5}, {"x":0, "y":3.25}, {"x":1, "y":3.25}, {"x":2, "y":3.25}, {"x":3, "y":3.25}, {"label":"Caps Lock", "x":7.5, "y":3.25, "w":1.75}, {"label":"A", "x":9.25, "y":3.25}, {"label":"S", "x":10.25, "y":3.25}, {"label":"D", "x":11.25, "y":3.25}, {"label":"F", "x":12.25, "y":3.25}, {"label":"G", "x":13.25, "y":3.25}, {"label":"H", "x":14.25, "y":3.25}, {"label":"J", "x":15.25, "y":3.25}, {"label":"K", "x":16.25, "y":3.25}, {"label":"L", "x":17.25, "y":3.25}, {"label":":", "x":18.25, "y":3.25}, {"label":"\"", "x":19.25, "y":3.25}, {"label":"Enter", "x":20.25, "y":3.25, "w":2.25}, {"x":0, "y":4.25}, {"x":1, "y":4.25}, {"x":2, "y":4.25}, {"x":3, "y":4.25}, {"label":"\u2191", "x":5.25, "y":4.25}, {"label":"Shift", "x":7.5, "y":4.25, "w":2.25}, {"label":"Z", "x":9.75, "y":4.25}, {"label":"X", "x":10.75, "y":4.25}, {"label":"C", "x":11.75, "y":4.25}, {"label":"V", "x":12.75, "y":4.25}, {"label":"B", "x":13.75, "y":4.25}, {"label":"N", "x":14.75, "y":4.25}, {"label":"M", "x":15.75, "y":4.25}, {"label":"<", "x":16.75, "y":4.25}, {"label":">", "x":17.75, "y":4.25}, {"label":"?", "x":18.75, "y":4.25}, {"x":19.75, "y":4.25, "w":1.75}, {"x":21.5, "y":4.25}, {"x":0, "y":5.25}, {"x":1, "y":5.25}, {"x":2, "y":5.25}, {"x":3, "y":5.25}, {"label":"\u2190", "x":4.25, "y":5.25}, {"label":"\u2193", "x":5.25, "y":5.25}, {"label":"\u2192", "x":6.25, "y":5.25}, {"label":"Ctrl", "x":7.5, "y":5.25, "w":1.25}, {"label":"Win", "x":8.75, "y":5.25, "w":1.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":6.25}, {"label":"Alt", "x":17.5, "y":5.25, "w":1.25}, {"label":"Win", "x":18.75, "y":5.25, "w":1.25}, {"label":"Menu", "x":20, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":21.25, "y":5.25, "w":1.25}] diff --git a/keyboards/xelus/kangaroo/kangaroo.c b/keyboards/xelus/kangaroo/kangaroo.c index a7a3d24800..585d33d498 100644 --- a/keyboards/xelus/kangaroo/kangaroo.c +++ b/keyboards/xelus/kangaroo/kangaroo.c @@ -1,4 +1,4 @@ -/* Copyright 2020 Harrison Chan (Xelus) +/* Copyright 2022 Harrison Chan (Xelus) * * 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,9 +16,4 @@ #include "kangaroo.h" -void board_init(void) { - SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; - SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); -} - void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } diff --git a/keyboards/xelus/kangaroo/config.h b/keyboards/xelus/kangaroo/rev1/config.h index 1d746b342e..a57d22a7f8 100644 --- a/keyboards/xelus/kangaroo/config.h +++ b/keyboards/xelus/kangaroo/rev1/config.h @@ -16,13 +16,6 @@ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x524F // RO -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Kangaroo - /* key matrix size */ #define MATRIX_ROWS 12 #define MATRIX_COLS 11 diff --git a/keyboards/xelus/kangaroo/halconf.h b/keyboards/xelus/kangaroo/rev1/halconf.h index 633d94a880..633d94a880 100644 --- a/keyboards/xelus/kangaroo/halconf.h +++ b/keyboards/xelus/kangaroo/rev1/halconf.h diff --git a/keyboards/xelus/kangaroo/rev1/info.json b/keyboards/xelus/kangaroo/rev1/info.json new file mode 100644 index 0000000000..523aef4aaa --- /dev/null +++ b/keyboards/xelus/kangaroo/rev1/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Kangaroo Rev 1.0", + "usb": { + "device_version": "0.0.1" + } +} diff --git a/keyboards/xelus/kangaroo/mcuconf.h b/keyboards/xelus/kangaroo/rev1/mcuconf.h index 20db196d29..20db196d29 100644 --- a/keyboards/xelus/kangaroo/mcuconf.h +++ b/keyboards/xelus/kangaroo/rev1/mcuconf.h diff --git a/keyboards/xelus/kangaroo/readme.md b/keyboards/xelus/kangaroo/rev1/readme.md index e91f32f96a..800497b698 100644 --- a/keyboards/xelus/kangaroo/readme.md +++ b/keyboards/xelus/kangaroo/rev1/readme.md @@ -1,4 +1,4 @@ -# Kangaroo +# Kangaroo Rev 1 Left Hand Fullsized Keyboard designed by Jono. @@ -8,6 +8,7 @@ Left Hand Fullsized Keyboard designed by Jono. Make example for this keyboard (after setting up your build environment): - make xelus/kangaroo:default + make xelus/kangaroo/rev1:default + make xelus/kangaroo/rev1:via 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/xelus/la_plus/keymaps/default/config.h b/keyboards/xelus/kangaroo/rev1/rev1.c index e559a15426..a71f476498 100644 --- a/keyboards/xelus/la_plus/keymaps/default/config.h +++ b/keyboards/xelus/kangaroo/rev1/rev1.c @@ -1,4 +1,4 @@ -/* Copyright 2021 Harrison Chan (Xelus) +/* Copyright 2022 Harrison Chan (Xelus) * * 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 @@ -14,6 +14,9 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#pragma once +#include "rev1.h" -#define QMK_KEYS_PER_SCAN 4 +void board_init(void) { + SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; + SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); +} diff --git a/keyboards/xelus/dharma/keymaps/via/config.h b/keyboards/xelus/kangaroo/rev1/rev1.h index 5d972dd48c..f146b4f964 100644 --- a/keyboards/xelus/dharma/keymaps/via/config.h +++ b/keyboards/xelus/kangaroo/rev1/rev1.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Harrison Chan (Xelus) +/* Copyright 2022 Harrison Chan (Xelus) * * 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 @@ -13,6 +13,5 @@ * 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 -#define QMK_KEYS_PER_SCAN 4 +#include "quantum.h" diff --git a/keyboards/xelus/kangaroo/rules.mk b/keyboards/xelus/kangaroo/rev1/rules.mk index 80826fae5f..80826fae5f 100644 --- a/keyboards/xelus/kangaroo/rules.mk +++ b/keyboards/xelus/kangaroo/rev1/rules.mk diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h b/keyboards/xelus/kangaroo/rev2/config.h index 7b8de5510e..a2f89a0ab1 100644 --- a/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h +++ b/keyboards/xelus/kangaroo/rev2/config.h @@ -13,6 +13,26 @@ * 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 -#define QMK_KEYS_PER_SCAN 4 +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 11 + +#define MATRIX_COL_PINS { B10, B2, B11, A10, B7, B6, B5, B4, B3, A15, A14 } +#define MATRIX_ROW_PINS { A9, A8, B15, B14, B13, B12, A4, A5, A6, A7, B0, B1 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* 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 + +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE WEAR_LEVELING_LOGICAL_SIZE*2 diff --git a/keyboards/xelus/kangaroo/rev2/info.json b/keyboards/xelus/kangaroo/rev2/info.json new file mode 100644 index 0000000000..8f7a2c6ce9 --- /dev/null +++ b/keyboards/xelus/kangaroo/rev2/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Kangaroo Rev 2.0", + "usb": { + "device_version": "0.0.2" + } +} diff --git a/keyboards/xelus/kangaroo/rev2/readme.md b/keyboards/xelus/kangaroo/rev2/readme.md new file mode 100644 index 0000000000..b94bd43cd1 --- /dev/null +++ b/keyboards/xelus/kangaroo/rev2/readme.md @@ -0,0 +1,14 @@ +# Kangaroo Rev 2 + +Left Hand Fullsized Keyboard designed by Jono. + +* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) +* Hardware Supported: Kangaroo +* Hardware Availability: Custom keyboard group buys + +Make example for this keyboard (after setting up your build environment): + + make xelus/kangaroo/rev2:default + make xelus/kangaroo/rev2:via + +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/xelus/kangaroo/rev2/rules.mk b/keyboards/xelus/kangaroo/rev2/rules.mk new file mode 100644 index 0000000000..44ac92bb81 --- /dev/null +++ b/keyboards/xelus/kangaroo/rev2/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = STM32L412 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +EEPROM_DRIVER = i2c + +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = embedded_flash + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/la_plus/config.h b/keyboards/xelus/la_plus/config.h index 14cad0fa87..40d53adb06 100755 --- a/keyboards/xelus/la_plus/config.h +++ b/keyboards/xelus/la_plus/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x4C50 // LP -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT MechaMaker La+ - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 @@ -32,7 +25,6 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { B0, B1, F0, F4, F5 } #define MATRIX_COL_PINS { E6, D5, B2, B3, D3, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 } -#define UNUSED_PINS /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/la_plus/info.json b/keyboards/xelus/la_plus/info.json index bfa3a4dc20..ced81e6f3d 100644 --- a/keyboards/xelus/la_plus/info.json +++ b/keyboards/xelus/la_plus/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "La+", + "keyboard_name": "MechaMaker La+", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x4C50", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/xelus/la_plus/keymaps/via/config.h b/keyboards/xelus/la_plus/keymaps/via/config.h index 58c086282c..43760bd281 100644 --- a/keyboards/xelus/la_plus/keymaps/via/config.h +++ b/keyboards/xelus/la_plus/keymaps/via/config.h @@ -18,5 +18,3 @@ // Enable RGB Matrix #define VIA_QMK_RGBLIGHT_ENABLE - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/ninjin/config.h b/keyboards/xelus/ninjin/config.h index 4dd40210a6..7f49c299af 100644 --- a/keyboards/xelus/ninjin/config.h +++ b/keyboards/xelus/ninjin/config.h @@ -16,13 +16,6 @@ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x4E4A // NJ -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Ninjin - /* key matrix size */ #define MATRIX_ROWS 6 #define MATRIX_COLS 17 diff --git a/keyboards/xelus/ninjin/info.json b/keyboards/xelus/ninjin/info.json index 8b44ea9ded..f85a6a54c4 100644 --- a/keyboards/xelus/ninjin/info.json +++ b/keyboards/xelus/ninjin/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Ninjin", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus", + "usb": { + "vid": "0x5845", + "pid": "0x4E4A", + "device_version": "0.0.1" + }, "layout_aliases": { "LAYOUT_all": "LAYOUT_tkl_ansi_tsangan" }, diff --git a/keyboards/xelus/pachi/mini_32u4/config.h b/keyboards/xelus/pachi/mini_32u4/config.h index cf15d57cfc..f2abc3619f 100644 --- a/keyboards/xelus/pachi/mini_32u4/config.h +++ b/keyboards/xelus/pachi/mini_32u4/config.h @@ -16,13 +16,6 @@ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x5041 // PA -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Xelus Pachi Mini - /* key matrix size */ #define MATRIX_ROWS 6 #define MATRIX_COLS 17 diff --git a/keyboards/xelus/pachi/mini_32u4/info.json b/keyboards/xelus/pachi/mini_32u4/info.json index 3b0128ee82..ca78bdbffe 100644 --- a/keyboards/xelus/pachi/mini_32u4/info.json +++ b/keyboards/xelus/pachi/mini_32u4/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "Xelus Pachi Mini", + "keyboard_name": "Pachi Mini", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5041", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h b/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h b/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h index fc3a2bd0b2..47bbf2bf81 100644 --- a/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h +++ b/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h @@ -18,5 +18,3 @@ // 3 layers or else it will not fit in EEPROM #define DYNAMIC_KEYMAP_LAYER_COUNT 3 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rev1/config.h b/keyboards/xelus/pachi/rev1/config.h index 2379700138..8a8c51779f 100644 --- a/keyboards/xelus/pachi/rev1/config.h +++ b/keyboards/xelus/pachi/rev1/config.h @@ -16,13 +16,6 @@ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x5041 // PA -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Xelus Pachi - /* key matrix size */ #define MATRIX_ROWS 6 #define MATRIX_COLS 17 diff --git a/keyboards/xelus/pachi/rev1/info.json b/keyboards/xelus/pachi/rev1/info.json index 2fb0c55479..1b14340edd 100644 --- a/keyboards/xelus/pachi/rev1/info.json +++ b/keyboards/xelus/pachi/rev1/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "Xelus Pachi Rev 1", + "keyboard_name": "Pachi Rev 1", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5041", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/xelus/pachi/rev1/keymaps/default/config.h b/keyboards/xelus/pachi/rev1/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/pachi/rev1/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rev1/keymaps/via/config.h b/keyboards/xelus/pachi/rev1/keymaps/via/config.h index fc3a2bd0b2..47bbf2bf81 100644 --- a/keyboards/xelus/pachi/rev1/keymaps/via/config.h +++ b/keyboards/xelus/pachi/rev1/keymaps/via/config.h @@ -18,5 +18,3 @@ // 3 layers or else it will not fit in EEPROM #define DYNAMIC_KEYMAP_LAYER_COUNT 3 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rgb/keymaps/default/config.h b/keyboards/xelus/pachi/rgb/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/pachi/rgb/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/config.h b/keyboards/xelus/pachi/rgb/keymaps/via/config.h index 1213e7a8f2..0e34ad2c1a 100644 --- a/keyboards/xelus/pachi/rgb/keymaps/via/config.h +++ b/keyboards/xelus/pachi/rgb/keymaps/via/config.h @@ -21,5 +21,3 @@ // Enable RGB Matrix #define VIA_QMK_RGBLIGHT_ENABLE - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rgb/rev1/config.h b/keyboards/xelus/pachi/rgb/rev1/config.h index 2711b5c7a8..9eda99ed32 100644 --- a/keyboards/xelus/pachi/rgb/rev1/config.h +++ b/keyboards/xelus/pachi/rgb/rev1/config.h @@ -16,13 +16,6 @@ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // "XE" -#define PRODUCT_ID 0x5052 // "PR" -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Xelus Pachi RGB Rev1 - /* key matrix size */ #define MATRIX_ROWS 6 #define MATRIX_COLS 17 @@ -30,7 +23,6 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { B14, B13, B12, B2, A8, B15 } #define MATRIX_COL_PINS { C13, C14, C15, H0, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, H1, B10, B11 } -#define UNUSED_PINS /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/pachi/rgb/rev1/info.json b/keyboards/xelus/pachi/rgb/rev1/info.json index 7448e755f0..24b6c4834a 100644 --- a/keyboards/xelus/pachi/rgb/rev1/info.json +++ b/keyboards/xelus/pachi/rgb/rev1/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "Xelus Pachi RGB Rev 1", + "keyboard_name": "Pachi RGB Rev 1", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5052", + "device_version": "0.0.1" + }, "layout_aliases": { "LAYOUT_ansi_tsangan": "LAYOUT_tkl_ansi_tsangan" }, diff --git a/keyboards/xelus/pachi/rgb/rev2/config.h b/keyboards/xelus/pachi/rgb/rev2/config.h index 35a4cf238f..6295228c31 100644 --- a/keyboards/xelus/pachi/rgb/rev2/config.h +++ b/keyboards/xelus/pachi/rgb/rev2/config.h @@ -16,13 +16,6 @@ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // "XE" -#define PRODUCT_ID 0x5053 // "PR" + 1 -#define DEVICE_VER 0x0002 -#define MANUFACTURER Xelus -#define PRODUCT Xelus Pachi RGB Rev 2 - /* key matrix size */ #define MATRIX_ROWS 12 #define MATRIX_COLS 9 @@ -30,7 +23,6 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { A5, A6, B0, A7, A8, B1, B4, B5, A15, B3, A13, A14 } #define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A10, A9} -#define UNUSED_PINS /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/pachi/rgb/rev2/info.json b/keyboards/xelus/pachi/rgb/rev2/info.json index 7448e755f0..46a4de5920 100644 --- a/keyboards/xelus/pachi/rgb/rev2/info.json +++ b/keyboards/xelus/pachi/rgb/rev2/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "Xelus Pachi RGB Rev 1", + "keyboard_name": "Pachi RGB Rev 2", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5053", + "device_version": "0.0.2" + }, "layout_aliases": { "LAYOUT_ansi_tsangan": "LAYOUT_tkl_ansi_tsangan" }, diff --git a/keyboards/xelus/rs108/config.h b/keyboards/xelus/rs108/config.h new file mode 100644 index 0000000000..990c0aca55 --- /dev/null +++ b/keyboards/xelus/rs108/config.h @@ -0,0 +1,67 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * 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 + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 11 + +#define MATRIX_ROW_PINS { B5, B6, B7, A1, A0, C13, B0, A7, A5, A4, A3, A2 } +#define MATRIX_COL_PINS { A10, A8, B15, B14, B13, B12, B1, B10, B4, B3, A15 } + +// COL2ROW or ROW2COL +#define DIODE_DIRECTION COL2ROW + +// Set 0 if debouncing isn't needed +#define DEBOUNCE 5 + +// 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 + +//Indicator +#define LED_CAPS_LOCK_PIN A6 +#define LED_SCROLL_LOCK_PIN A13 +#define LED_NUM_LOCK_PIN A14 + +// I2C config +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_SDA_PAL_MODE 4 +#define I2C1_CLOCK_SPEED 400000 +#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 + +// EEPROM config +// 24LC32 +#define EXTERNAL_EEPROM_BYTE_COUNT 4096 +#define EXTERNAL_EEPROM_PAGE_SIZE 32 +#define EXTERNAL_EEPROM_ADDRESS_SIZE 2 +#define EXTERNAL_EEPROM_WRITE_TIME 5 + +// More EEPROM for layers +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 + +// Hardware Defines +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE + +// HSE CLK +#define STM32_HSECLK 16000000 + +//Force NKRO +#define FORCE_NKRO diff --git a/keyboards/xelus/rs60/rev2/halconf.h b/keyboards/xelus/rs108/halconf.h index b3e848852b..b3e848852b 100644 --- a/keyboards/xelus/rs60/rev2/halconf.h +++ b/keyboards/xelus/rs108/halconf.h diff --git a/keyboards/xelus/rs108/info.json b/keyboards/xelus/rs108/info.json new file mode 100644 index 0000000000..c266a5193b --- /dev/null +++ b/keyboards/xelus/rs108/info.json @@ -0,0 +1,125 @@ +{ + "keyboard_name": "RS108", + "manufacturer": "Xelus", + "url": "", + "maintainer": "xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5208", + "device_version": "0.0.2" + }, + "layouts": { + "LAYOUT_108_fullsize_ansi": { + "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": "Num Lock", "x": 18.5, "y": 0 }, + { "label": "MUTE", "x": 19.5, "y": 0 }, + { "label": "VOLD", "x": 20.5, "y": 0 }, + { "label": "VOLU", "x": 21.5, "y": 0 }, + { "label": "~", "x": 0, "y": 1.25 }, + { "label": "!", "x": 1, "y": 1.25 }, + { "label": "@", "x": 2, "y": 1.25 }, + { "label": "#", "x": 3, "y": 1.25 }, + { "label": "$", "x": 4, "y": 1.25 }, + { "label": "%", "x": 5, "y": 1.25 }, + { "label": "^", "x": 6, "y": 1.25 }, + { "label": "&", "x": 7, "y": 1.25 }, + { "label": "*", "x": 8, "y": 1.25 }, + { "label": "(", "x": 9, "y": 1.25 }, + { "label": ")", "x": 10, "y": 1.25 }, + { "label": "_", "x": 11, "y": 1.25 }, + { "label": "+", "x": 12, "y": 1.25 }, + { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 }, + { "label": "Insert", "x": 15.25, "y": 1.25 }, + { "label": "Home", "x": 16.25, "y": 1.25 }, + { "label": "PgUp", "x": 17.25, "y": 1.25 }, + { "label": "Num Lock", "x": 18.5, "y": 1.25 }, + { "label": "/", "x": 19.5, "y": 1.25 }, + { "label": "*", "x": 20.5, "y": 1.25 }, + { "label": "-", "x": 21.5, "y": 1.25 }, + { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.25 }, + { "label": "W", "x": 2.5, "y": 2.25 }, + { "label": "E", "x": 3.5, "y": 2.25 }, + { "label": "R", "x": 4.5, "y": 2.25 }, + { "label": "T", "x": 5.5, "y": 2.25 }, + { "label": "Y", "x": 6.5, "y": 2.25 }, + { "label": "U", "x": 7.5, "y": 2.25 }, + { "label": "I", "x": 8.5, "y": 2.25 }, + { "label": "O", "x": 9.5, "y": 2.25 }, + { "label": "P", "x": 10.5, "y": 2.25 }, + { "label": "{", "x": 11.5, "y": 2.25 }, + { "label": "}", "x": 12.5, "y": 2.25 }, + { "label": "|", "x": 13.5, "y": 2.25, "w": 1.5 }, + { "label": "Delete", "x": 15.25, "y": 2.25 }, + { "label": "End", "x": 16.25, "y": 2.25 }, + { "label": "PgDn", "x": 17.25, "y": 2.25 }, + { "label": "7", "x": 18.5, "y": 2.25 }, + { "label": "8", "x": 19.5, "y": 2.25 }, + { "label": "9", "x": 20.5, "y": 2.25 }, + { "label": "+", "x": 21.5, "y": 2.25, "h": 2 }, + { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.25 }, + { "label": "S", "x": 2.75, "y": 3.25 }, + { "label": "D", "x": 3.75, "y": 3.25 }, + { "label": "F", "x": 4.75, "y": 3.25 }, + { "label": "G", "x": 5.75, "y": 3.25 }, + { "label": "H", "x": 6.75, "y": 3.25 }, + { "label": "J", "x": 7.75, "y": 3.25 }, + { "label": "K", "x": 8.75, "y": 3.25 }, + { "label": "L", "x": 9.75, "y": 3.25 }, + { "label": ":", "x": 10.75, "y": 3.25 }, + { "label": "\"", "x": 11.75, "y": 3.25 }, + { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 }, + { "label": "4", "x": 18.5, "y": 3.25 }, + { "label": "5", "x": 19.5, "y": 3.25 }, + { "label": "6", "x": 20.5, "y": 3.25 }, + { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 }, + { "label": "Z", "x": 2.25, "y": 4.25 }, + { "label": "X", "x": 3.25, "y": 4.25 }, + { "label": "C", "x": 4.25, "y": 4.25 }, + { "label": "V", "x": 5.25, "y": 4.25 }, + { "label": "B", "x": 6.25, "y": 4.25 }, + { "label": "N", "x": 7.25, "y": 4.25 }, + { "label": "M", "x": 8.25, "y": 4.25 }, + { "label": "<", "x": 9.25, "y": 4.25 }, + { "label": ">", "x": 10.25, "y": 4.25 }, + { "label": "?", "x": 11.25, "y": 4.25 }, + { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 }, + { "label": "\u2191", "x": 16.25, "y": 4.25 }, + { "label": "1", "x": 18.5, "y": 4.25 }, + { "label": "2", "x": 19.5, "y": 4.25 }, + { "label": "3", "x": 20.5, "y": 4.25 }, + { "label": "Enter", "x": 21.5, "y": 4.25, "h": 2 }, + { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 }, + { "x": 3.75, "y": 5.25, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 }, + { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.25 }, + { "label": "\u2193", "x": 16.25, "y": 5.25 }, + { "label": "\u2192", "x": 17.25, "y": 5.25 }, + { "label": "0", "x": 18.5, "y": 5.25, "w": 2 }, + { "label": ".", "x": 20.5, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/xelus/rs108/keymaps/default/keymap.c b/keyboards/xelus/rs108/keymaps/default/keymap.c new file mode 100644 index 0000000000..24f2ae7668 --- /dev/null +++ b/keyboards/xelus/rs108/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * 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_108_fullsize_ansi( + 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_PSCR, KC_SLCK, KC_PAUS, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, + 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_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_108_fullsize_ansi( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/xelus/rs108/keymaps/via/keymap.c b/keyboards/xelus/rs108/keymaps/via/keymap.c new file mode 100644 index 0000000000..359c9aef3f --- /dev/null +++ b/keyboards/xelus/rs108/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * 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_108_fullsize_ansi( + 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_PSCR, KC_SLCK, KC_PAUS, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, + 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_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_108_fullsize_ansi( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_108_fullsize_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_108_fullsize_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; diff --git a/keyboards/xelus/rs108/keymaps/via/rules.mk b/keyboards/xelus/rs108/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/xelus/rs108/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/xelus/rs60/rev2/mcuconf.h b/keyboards/xelus/rs108/mcuconf.h index 2ef15d0720..2ef15d0720 100644 --- a/keyboards/xelus/rs60/rev2/mcuconf.h +++ b/keyboards/xelus/rs108/mcuconf.h diff --git a/keyboards/xelus/rs108/readme.md b/keyboards/xelus/rs108/readme.md new file mode 100644 index 0000000000..d287387190 --- /dev/null +++ b/keyboards/xelus/rs108/readme.md @@ -0,0 +1,19 @@ +# RS108 + +Full-size PCB in collaboration with Bisoromi and Mekibo + +* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) +* Hardware Supported: RS108 +* Hardware Availability: Custom Keyboard Group Buys + +Make example for this keyboard (after setting up your build environment): + + make xelus/rs108:default + +Reset your keyboard in 3 ways: + +* Software reset on Fn [MO(1)] + Backspace +* Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard +* Physical reset button: on the back of the PCB, there should be a small golden button you can press + +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/xelus/rs60/rev2/rev2.c b/keyboards/xelus/rs108/rs108.c index f51e262ea0..7c23446466 100644 --- a/keyboards/xelus/rs60/rev2/rev2.c +++ b/keyboards/xelus/rs108/rs108.c @@ -1,4 +1,4 @@ -/* Copyright 2021 Harrison Chan (Xelus) +/* Copyright 2022 Harrison Chan (Xelus) * * 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 @@ -13,4 +13,4 @@ * 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 "rev2.h" + #include "rs108.h" diff --git a/keyboards/xelus/rs108/rs108.h b/keyboards/xelus/rs108/rs108.h new file mode 100644 index 0000000000..5ba9d70ce8 --- /dev/null +++ b/keyboards/xelus/rs108/rs108.h @@ -0,0 +1,42 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * 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" + +#define XXXXX KC_NO + +#define LAYOUT_108_fullsize_ansi( \ + K0000, K0001, K0101, K0002, K0102, K0003, K0103, K0004, K0104, K0005, K0105, K0006, K0106, K0007, K0107, K0008, K0108, K0009, K0109, K0010, \ + K0200, K0300, K0201, K0301, K0202, K0302, K0203, K0303, K0204, K0304, K0205, K0305, K0206, K0306, K0207, K0307, K0208, K0308, K0209, K0309, K0210, \ + K0400, K0500, K0401, K0501, K0402, K0502, K0403, K0503, K0404, K0504, K0405, K0505, K0406, K0506, K0407, K0507, K0408, K0508, K0409, K0509, \ + K0600, K0700, K0601, K0701, K0602, K0702, K0603, K0703, K0604, K0704, K0605, K0705, K0706, K0708, K0609, K0709, K0610, \ + K0800, K0900, K0801, K0901, K0802, K0902, K0803, K0903, K0804, K0904, K0805, K0906, K0907, K0908, K0809, K0909, \ + K1000, K1100, K1001, K1102, K1104, K1005, K1006, K1106, K1007, K1107, K1008, K1009, K1109, K1010 \ +) { \ + { K0000, K0001, K0002, K0003, K0004, K0005, K0006, K0007, K0008, K0009, K0010 }, \ + { XXXXX, K0101, K0102, K0103, K0104, K0105, K0106, K0107, K0108, K0109, XXXXX }, \ + { K0200, K0201, K0202, K0203, K0204, K0205, K0206, K0207, K0208, K0209, K0210 }, \ + { K0300, K0301, K0302, K0303, K0304, K0305, K0306, K0307, K0308, K0309, XXXXX }, \ + { K0400, K0401, K0402, K0403, K0404, K0405, K0406, K0407, K0408, K0409, XXXXX }, \ + { K0500, K0501, K0502, K0503, K0504, K0505, K0506, K0507, K0508, K0509, XXXXX }, \ + { K0600, K0601, K0602, K0603, K0604, K0605, XXXXX, XXXXX, XXXXX, K0609, K0610 }, \ + { K0700, K0701, K0702, K0703, K0704, K0705, K0706, XXXXX, K0708, K0709, XXXXX }, \ + { K0800, K0801, K0802, K0803, K0804, K0805, XXXXX, XXXXX, XXXXX, K0809, XXXXX }, \ + { K0900, K0901, K0902, K0903, K0904, XXXXX, K0906, K0907, K0908, K0909, XXXXX }, \ + { K1000, K1001, XXXXX, XXXXX, XXXXX, K1005, K1006, K1007, K1008, K1009, K1010 }, \ + { K1100, XXXXX, K1102, XXXXX, K1104, XXXXX, K1106, K1107, XXXXX, K1109, XXXXX }, \ +} diff --git a/keyboards/xelus/rs108/rules.mk b/keyboards/xelus/rs108/rules.mk new file mode 100644 index 0000000000..46df2e4e8e --- /dev/null +++ b/keyboards/xelus/rs108/rules.mk @@ -0,0 +1,27 @@ +# MCU name +MCU = STM32F401 +BOARD = GENERIC_STM32_F401XC + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # 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 + +EEPROM_DRIVER = i2c + +# Save hid interface +KEYBOARD_SHARED_EP = yes + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/rs60/info.json b/keyboards/xelus/rs60/info.json index 3a0582fc7f..241f1cbe44 100644 --- a/keyboards/xelus/rs60/info.json +++ b/keyboards/xelus/rs60/info.json @@ -1,7 +1,12 @@ { "keyboard_name": "RS60", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5253" + }, "layouts": { "LAYOUT_60_ansi_split_bs_rshift": { "layout": [ diff --git a/keyboards/xelus/rs60/keymaps/default/config.h b/keyboards/xelus/rs60/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/rs60/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/rs60/keymaps/via/config.h b/keyboards/xelus/rs60/keymaps/via/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/rs60/keymaps/via/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/rs60/rev1/config.h b/keyboards/xelus/rs60/rev1/config.h index ce0c2e1d02..00fbf6712b 100644 --- a/keyboards/xelus/rs60/rev1/config.h +++ b/keyboards/xelus/rs60/rev1/config.h @@ -15,20 +15,12 @@ */ #pragma once -// USB Device descriptor parameter -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x5253 // RS60 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT RS60 - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 14 #define MATRIX_ROW_PINS { B3, B7, F0, F4, F1 } #define MATRIX_COL_PINS { E6, D5, D3, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4} -#define UNUSED_PINS // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/rs60/rev1/info.json b/keyboards/xelus/rs60/rev1/info.json new file mode 100644 index 0000000000..cf78bc4ec7 --- /dev/null +++ b/keyboards/xelus/rs60/rev1/info.json @@ -0,0 +1,5 @@ +{ + "usb": { + "device_version": "0.1.0" + } +} diff --git a/keyboards/xelus/rs60/rev2/config.h b/keyboards/xelus/rs60/rev2_0/config.h index 74258b1289..71eb5fb262 100644 --- a/keyboards/xelus/rs60/rev2/config.h +++ b/keyboards/xelus/rs60/rev2_0/config.h @@ -15,20 +15,12 @@ */ #pragma once -// USB Device descriptor parameter -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x5253 // RS60 -#define DEVICE_VER 0x0002 -#define MANUFACTURER Xelus -#define PRODUCT RS60 - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 14 #define MATRIX_ROW_PINS { B15, B14, B12, B1, B0 } #define MATRIX_COL_PINS { B13, A7, A6, A5, A4, A3, A2, B7, B6, B5, B4, B3, A15, A14 } -#define UNUSED_PINS // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/rs60/rev2_0/halconf.h b/keyboards/xelus/rs60/rev2_0/halconf.h new file mode 100644 index 0000000000..b3e848852b --- /dev/null +++ b/keyboards/xelus/rs60/rev2_0/halconf.h @@ -0,0 +1,26 @@ +/* Copyright 2022 QMK + * + * 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/>. + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/acheron/austin/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next <halconf.h> diff --git a/keyboards/xelus/rs60/rev2_0/info.json b/keyboards/xelus/rs60/rev2_0/info.json new file mode 100644 index 0000000000..f9f8400732 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_0/info.json @@ -0,0 +1,5 @@ +{ + "usb": { + "device_version": "0.2.0" + } +} diff --git a/keyboards/xelus/rs60/rev2/chconf.h b/keyboards/xelus/rs60/rev2_0/mcuconf.h index a9608a4c75..2ef15d0720 100644 --- a/keyboards/xelus/rs60/rev2/chconf.h +++ b/keyboards/xelus/rs60/rev2_0/mcuconf.h @@ -16,15 +16,27 @@ /* * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/acheron/austin/chconf.h -r platforms/chibios/common/configs/chconf.h` + * `qmk chibios-confmigrate -i keyboards/xelus/kangaroo/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` */ #pragma once -#define CH_CFG_ST_FREQUENCY 10000 +#include_next <mcuconf.h> -#define CH_CFG_OPTIMIZE_SPEED FALSE +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_PPRE1 +#undef STM32_PPRE2 -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE +// 64MHz core +#define STM32_PLLM_VALUE 8 +#define STM32_PLLN_VALUE 168 +#define STM32_PLLP_VALUE 4 +#define STM32_PLLQ_VALUE 7 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE1_DIV1 -#include_next <chconf.h> +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/xelus/rs60/rev2_0/readme.md b/keyboards/xelus/rs60/rev2_0/readme.md new file mode 100644 index 0000000000..692e4a9f0d --- /dev/null +++ b/keyboards/xelus/rs60/rev2_0/readme.md @@ -0,0 +1,20 @@ +# RS60 Rev2 Prototype Version + +60% PCB with daughterboard in collaboration with Bisoromi and Mekibo + +* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) +* Hardware Supported: RS60 +* Hardware Availability: Custom Keyboard Group Buys + +Make example for this keyboard (after setting up your build environment): + + make xelus/rs60/rev2_0:default + make xelus/rs60/rev2_0:via + +Reset your keyboard in 3 ways: + +* Software reset on Fn [MO(1)] + Backspace +* Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard +* Physical reset button: on the back of the PCB, there should be a small golden button you can press + +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/xelus/kangaroo/keymaps/default/config.h b/keyboards/xelus/rs60/rev2_0/rev2_0.c index 5d972dd48c..d2abbda521 100644 --- a/keyboards/xelus/kangaroo/keymaps/default/config.h +++ b/keyboards/xelus/rs60/rev2_0/rev2_0.c @@ -1,4 +1,4 @@ -/* Copyright 2021 Harrison Chan (Xelus) +/* Copyright 2022 Harrison Chan (Xelus) * * 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 @@ -13,6 +13,4 @@ * 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 - -#define QMK_KEYS_PER_SCAN 4 + #include "rev2_0.h" diff --git a/keyboards/xelus/rs60/rev2/rev2.h b/keyboards/xelus/rs60/rev2_0/rev2_0.h index 9b8e841de5..dd43418964 100644 --- a/keyboards/xelus/rs60/rev2/rev2.h +++ b/keyboards/xelus/rs60/rev2_0/rev2_0.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Harrison Chan (Xelus) +/* Copyright 2022 Harrison Chan (Xelus) * * 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 diff --git a/keyboards/xelus/rs60/rev2/rules.mk b/keyboards/xelus/rs60/rev2_0/rules.mk index 95c0f0bc60..df66f7dd37 100644 --- a/keyboards/xelus/rs60/rev2/rules.mk +++ b/keyboards/xelus/rs60/rev2_0/rules.mk @@ -1,5 +1,6 @@ # MCU name MCU = STM32F401 +BOARD = GENERIC_STM32_F401XC # Bootloader selection BOOTLOADER = stm32-dfu @@ -16,7 +17,6 @@ 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 - EEPROM_DRIVER = i2c # Save hid interface diff --git a/keyboards/xelus/rs60/rev2_1/config.h b/keyboards/xelus/rs60/rev2_1/config.h new file mode 100644 index 0000000000..9f5925f784 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_1/config.h @@ -0,0 +1,45 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * 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 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +#define MATRIX_ROW_PINS { B15, B14, B12, B1, B0 } +#define MATRIX_COL_PINS { B13, A7, A6, A5, A4, A3, A2, B7, B6, B5, B4, B3, A15, A14 } + +// COL2ROW or ROW2COL +#define DIODE_DIRECTION COL2ROW + +// Set 0 if debouncing isn't needed +#define DEBOUNCE 5 + +// 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 + +//Indicator +#define LED_CAPS_LOCK_PIN A1 + +// Emulated EEPROM +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE WEAR_LEVELING_LOGICAL_SIZE*2 + +//Force NKRO +#define FORCE_NKRO diff --git a/keyboards/xelus/rs60/rev2_1/info.json b/keyboards/xelus/rs60/rev2_1/info.json new file mode 100644 index 0000000000..79768e0009 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_1/info.json @@ -0,0 +1,5 @@ +{ + "usb": { + "device_version": "0.2.1" + } +} diff --git a/keyboards/xelus/rs60/rev2_1/readme.md b/keyboards/xelus/rs60/rev2_1/readme.md new file mode 100644 index 0000000000..2454fec271 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_1/readme.md @@ -0,0 +1,20 @@ +# RS60 Rev2 Production Version + +60% PCB with daughterboard in collaboration with Bisoromi and Mekibo + +* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) +* Hardware Supported: RS60 +* Hardware Availability: Custom Keyboard Group Buys + +Make example for this keyboard (after setting up your build environment): + + make xelus/rs60/rev2_1:default + make xelus/rs60/rev2_1:via + +Reset your keyboard in 3 ways: + +* Software reset on Fn [MO(1)] + Backspace +* Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard +* Physical reset button: on the back of the PCB, there should be a small golden button you can press + +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/xelus/kangaroo/keymaps/via/config.h b/keyboards/xelus/rs60/rev2_1/rev2_1.c index 5d972dd48c..dc234542b5 100644 --- a/keyboards/xelus/kangaroo/keymaps/via/config.h +++ b/keyboards/xelus/rs60/rev2_1/rev2_1.c @@ -1,4 +1,4 @@ -/* Copyright 2021 Harrison Chan (Xelus) +/* Copyright 2022 Harrison Chan (Xelus) * * 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 @@ -13,6 +13,4 @@ * 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 - -#define QMK_KEYS_PER_SCAN 4 + #include "rev2_1.h" diff --git a/keyboards/xelus/rs60/rev2_1/rev2_1.h b/keyboards/xelus/rs60/rev2_1/rev2_1.h new file mode 100644 index 0000000000..dd43418964 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_1/rev2_1.h @@ -0,0 +1,34 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * 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" + +#define XXX KC_NO + +#define LAYOUT_60_ansi_split_bs_rshift( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3C, K3D, \ + K40, K41, K42, K45, K49, K4A, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D } \ +} diff --git a/keyboards/xelus/rs60/rev2_1/rules.mk b/keyboards/xelus/rs60/rev2_1/rules.mk new file mode 100644 index 0000000000..da1f821141 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_1/rules.mk @@ -0,0 +1,29 @@ +# MCU name +MCU = STM32L412 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # 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 + +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = embedded_flash + +# Save hid interface +KEYBOARD_SHARED_EP = yes + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + +LAYOUTS = 60_ansi_split_bs_rshift diff --git a/keyboards/xelus/rs60/rs60.h b/keyboards/xelus/rs60/rs60.h index 81e4470db5..5a52d37a7f 100644 --- a/keyboards/xelus/rs60/rs60.h +++ b/keyboards/xelus/rs60/rs60.h @@ -19,6 +19,8 @@ #if defined(KEYBOARD_xelus_rs60_rev1) #include "rev1.h" -#elif defined(KEYBOARD_xelus_rs60_rev2) - #include "rev2.h" +#elif defined(KEYBOARD_xelus_rs60_rev2_0) + #include "rev2_0.h" +#elif defined(KEYBOARD_xelus_rs60_rev2_1) + #include "rev2_1.h" #endif diff --git a/keyboards/xelus/snap96/config.h b/keyboards/xelus/snap96/config.h index 96c5d24723..a42ecb1931 100644 --- a/keyboards/xelus/snap96/config.h +++ b/keyboards/xelus/snap96/config.h @@ -2,13 +2,6 @@ #include "config_common.h" -// USB Device descriptor parameter -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x5396 // Snap96 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Snap96 - // key matrix size #define MATRIX_ROWS 12 #define MATRIX_COLS 10 @@ -16,7 +9,6 @@ // key matrix pins #define MATRIX_ROW_PINS { B2, B1, B0, C7, F6, F7, B3, D1, D2, D7, B6, C6 } #define MATRIX_COL_PINS { E6, D5, B7, D0, F5, D3, B4, B5, D4, D6 } -#define UNUSED_PINS // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/snap96/info.json b/keyboards/xelus/snap96/info.json index 5130c5db6e..74c7d6225a 100644 --- a/keyboards/xelus/snap96/info.json +++ b/keyboards/xelus/snap96/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Snap96", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5396", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/xelus/trinityxttkl/config.h b/keyboards/xelus/trinityxttkl/config.h index 12745c54dc..d480a57ff8 100644 --- a/keyboards/xelus/trinityxttkl/config.h +++ b/keyboards/xelus/trinityxttkl/config.h @@ -16,13 +16,6 @@ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // XE -#define PRODUCT_ID 0x5854 // XT -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT TrinityXTtkl - /* key matrix size */ #define MATRIX_ROWS 6 #define MATRIX_COLS 19 diff --git a/keyboards/xelus/trinityxttkl/info.json b/keyboards/xelus/trinityxttkl/info.json index de113f2193..724eaef114 100644 --- a/keyboards/xelus/trinityxttkl/info.json +++ b/keyboards/xelus/trinityxttkl/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "Trinity XT TKL", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5854", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/xelus/valor/rev1/config.h b/keyboards/xelus/valor/rev1/config.h index a45ecbc079..96e4835996 100644 --- a/keyboards/xelus/valor/rev1/config.h +++ b/keyboards/xelus/valor/rev1/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // "XE" -#define PRODUCT_ID 0x5652 // Valor "VR" -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Xelus Valor - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 @@ -32,7 +25,6 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { B1, B2, C7, C6, B6 } #define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B5, B4, D7, D6, D4, D5, D3, D2 } -#define UNUSED_PINS /* RGB Underglow */ #define RGB_DI_PIN B0 diff --git a/keyboards/xelus/valor/rev1/info.json b/keyboards/xelus/valor/rev1/info.json index 33e367059c..7e8f874d2c 100644 --- a/keyboards/xelus/valor/rev1/info.json +++ b/keyboards/xelus/valor/rev1/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "Xelus Valor rev1", + "keyboard_name": "Valor Rev1", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5652", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_alice_split_bs": { "layout": [ diff --git a/keyboards/xelus/valor/rev2/config.h b/keyboards/xelus/valor/rev2/config.h index 8201373d23..44a16e9b7e 100644 --- a/keyboards/xelus/valor/rev2/config.h +++ b/keyboards/xelus/valor/rev2/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // "XE" -#define PRODUCT_ID 0x5653 // Valor "VR" + 1 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Xelus Valor Rev2 - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 @@ -32,7 +25,6 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { B11, B10, A3, A1, A2 } #define MATRIX_COL_PINS { B2, B1, B0, A7, A6, A5, A4, A13, B7, B6, B5, B4, B3, A15, A14 } -#define UNUSED_PINS /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/valor/rev2/info.json b/keyboards/xelus/valor/rev2/info.json index 47fd2c3e2b..1d19fbad2d 100644 --- a/keyboards/xelus/valor/rev2/info.json +++ b/keyboards/xelus/valor/rev2/info.json @@ -1,7 +1,13 @@ { - "keyboard_name": "Xelus Valor Rev2", + "keyboard_name": "Valor Rev2", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5653", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_alice_split_bs": { "layout": [ diff --git a/keyboards/xelus/valor/rev2/keymaps/default/config.h b/keyboards/xelus/valor/rev2/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/valor/rev2/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor/rev2/keymaps/via/config.h b/keyboards/xelus/valor/rev2/keymaps/via/config.h index 490964f272..e7fb31cb23 100644 --- a/keyboards/xelus/valor/rev2/keymaps/via/config.h +++ b/keyboards/xelus/valor/rev2/keymaps/via/config.h @@ -20,5 +20,3 @@ // More layers #define DYNAMIC_KEYMAP_LAYER_COUNT 8 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor_frl_tkl/info.json b/keyboards/xelus/valor_frl_tkl/info.json index 36c95032fb..dbd017dc5c 100644 --- a/keyboards/xelus/valor_frl_tkl/info.json +++ b/keyboards/xelus/valor_frl_tkl/info.json @@ -1,7 +1,11 @@ { - "keyboard_name": "Xelus Valor FRL TKL", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x4654" + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c b/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c index 24c1571995..c7b3a1818f 100644 --- a/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c +++ b/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_TILD, 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_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, 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_DEL, KC_END, KC_PGDN, 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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI, KC_UP, diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c b/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c index 24d2627272..d73d3c646f 100644 --- a/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c +++ b/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_TILD, 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_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, 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_DEL, KC_END, KC_PGDN, 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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI, KC_UP, diff --git a/keyboards/xelus/valor_frl_tkl/chconf.h b/keyboards/xelus/valor_frl_tkl/rev1/chconf.h index 5b1d65cb74..5b1d65cb74 100644 --- a/keyboards/xelus/valor_frl_tkl/chconf.h +++ b/keyboards/xelus/valor_frl_tkl/rev1/chconf.h diff --git a/keyboards/xelus/valor_frl_tkl/config.h b/keyboards/xelus/valor_frl_tkl/rev1/config.h index c1c08878c0..46c598c637 100644 --- a/keyboards/xelus/valor_frl_tkl/config.h +++ b/keyboards/xelus/valor_frl_tkl/rev1/config.h @@ -18,13 +18,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // "XE" -#define PRODUCT_ID 0x4654 // "FT" -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Xelus Valor FRL TKL - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 17 @@ -32,7 +25,6 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { A15, A14, A1, B3, B4 } #define MATRIX_COL_PINS { A9, A8, B15, B14, B13, B12, A0, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 } -#define UNUSED_PINS /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/valor_frl_tkl/halconf.h b/keyboards/xelus/valor_frl_tkl/rev1/halconf.h index 1dbf1a4fe0..1dbf1a4fe0 100644 --- a/keyboards/xelus/valor_frl_tkl/halconf.h +++ b/keyboards/xelus/valor_frl_tkl/rev1/halconf.h diff --git a/keyboards/xelus/valor_frl_tkl/rev1/info.json b/keyboards/xelus/valor_frl_tkl/rev1/info.json new file mode 100644 index 0000000000..694c988376 --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev1/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Valor FRL TKL Rev1", + "usb": { + "device_version": "0.0.1" + } +} diff --git a/keyboards/xelus/valor_frl_tkl/mcuconf.h b/keyboards/xelus/valor_frl_tkl/rev1/mcuconf.h index 6013ff13fb..6013ff13fb 100644 --- a/keyboards/xelus/valor_frl_tkl/mcuconf.h +++ b/keyboards/xelus/valor_frl_tkl/rev1/mcuconf.h diff --git a/keyboards/xelus/valor_frl_tkl/readme.md b/keyboards/xelus/valor_frl_tkl/rev1/readme.md index da85ebbd47..7069a57f06 100644 --- a/keyboards/xelus/valor_frl_tkl/readme.md +++ b/keyboards/xelus/valor_frl_tkl/rev1/readme.md @@ -8,6 +8,6 @@ An Alice-esque FRL TKL keyboard PCB. Make example for this keyboard (after setting up your build environment): - make xelus/valor_frl_tkl:default + make xelus/valor_frl_tkl/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/xelus/valor_frl_tkl/keymaps/default/config.h b/keyboards/xelus/valor_frl_tkl/rev1/rev1.c index 7b8de5510e..d26d2021f9 100644 --- a/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h +++ b/keyboards/xelus/valor_frl_tkl/rev1/rev1.c @@ -13,6 +13,12 @@ * 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 -#define QMK_KEYS_PER_SCAN 4 +// Nothing to see here, move along... ;-) + +#include "rev1.h" + +void board_init(void) { + SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; + SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); +} diff --git a/keyboards/xelus/valor_frl_tkl/rev1/rev1.h b/keyboards/xelus/valor_frl_tkl/rev1/rev1.h new file mode 100644 index 0000000000..94ae0fcbab --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev1/rev1.h @@ -0,0 +1,35 @@ +/* Copyright 2020 Harrison Chan (Xelus) + * + * 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" + +#define ____ KC_NO + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ + K400, K402, K404, K405, K407, K409, K412, K414, K415, K416 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, ____, ____ }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, ____, K315, ____ }, \ + { K400, ____, K402, ____, K404, K405, ____, K407, ____, K409, ____, ____, K412, ____, K414, K415, K416 } \ +} diff --git a/keyboards/xelus/valor_frl_tkl/rules.mk b/keyboards/xelus/valor_frl_tkl/rev1/rules.mk index 1c71897c3e..1c71897c3e 100644 --- a/keyboards/xelus/valor_frl_tkl/rules.mk +++ b/keyboards/xelus/valor_frl_tkl/rev1/rules.mk diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/.noci b/keyboards/xelus/valor_frl_tkl/rev2_0/.noci new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_0/.noci diff --git a/keyboards/xelus/kangaroo/chconf.h b/keyboards/xelus/valor_frl_tkl/rev2_0/config.h index 71b34b0591..4f42348b56 100644 --- a/keyboards/xelus/kangaroo/chconf.h +++ b/keyboards/xelus/valor_frl_tkl/rev2_0/config.h @@ -1,4 +1,4 @@ -/* Copyright 2020 QMK +/* Copyright 2022 Harrison Chan (Xelus) * * 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 @@ -14,18 +14,27 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/xelus/kangaroo/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - #pragma once -#define CH_CFG_ST_FREQUENCY 10000 +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 17 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { A15, A14, A10, B3, B4 } +#define MATRIX_COL_PINS { A9, A8, B15, B14, B13, B12, B9, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW -#define CH_CFG_OPTIMIZE_SPEED FALSE +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE -#include_next <chconf.h> +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE +#define STM32_HSECLK 16000000 diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/info.json b/keyboards/xelus/valor_frl_tkl/rev2_0/info.json new file mode 100644 index 0000000000..1764cc45eb --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_0/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Valor FRL TKL Rev2.0", + "usb": { + "device_version": "0.0.2" + } +} diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h b/keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h new file mode 100644 index 0000000000..d7550e5c76 --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h @@ -0,0 +1,34 @@ +/* Copyright 2022 QMK + * + * 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_next <mcuconf.h> + +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_PPRE1 +#undef STM32_PPRE2 + +// 96MHz core +#define STM32_PLLM_VALUE 8 +#define STM32_PLLN_VALUE 96 +#define STM32_PLLP_VALUE 2 +#define STM32_PLLQ_VALUE 4 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE1_DIV1 diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/readme.md b/keyboards/xelus/valor_frl_tkl/rev2_0/readme.md new file mode 100644 index 0000000000..3a1b4d53b5 --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_0/readme.md @@ -0,0 +1,79 @@ +# Valor FRL TKL Rev2.0 + +An Alice-esque FRL TKL keyboard PCB. + +* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) +* Hardware Supported: Valor FRL TKL +* Hardware Availability: Custom keyboard group buys + +### Important Note +This version uses the pin PA9 which is un-usable with the current ChibiOS. The first column will be disabled if this firmware is compiled normally. +A patch is required locally to use this version. +Please use this patch: +```diff --git a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c +index 0f48d1fd0..38aff8554 100644 +--- a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c ++++ b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c +@@ -40,18 +40,18 @@ + + #if STM32_OTG_STEPPING == 1 + #if defined(BOARD_OTG_NOVBUSSENS) +-#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | GCCFG_VBUSASEN | \ +- GCCFG_VBUSBSEN | GCCFG_PWRDWN) ++#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | \ ++ GCCFG_PWRDWN) + #else +-#define GCCFG_INIT_VALUE (GCCFG_VBUSASEN | GCCFG_VBUSBSEN | \ ++#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | \ + GCCFG_PWRDWN) + #endif + + #elif STM32_OTG_STEPPING == 2 + #if defined(BOARD_OTG_NOVBUSSENS) +-#define GCCFG_INIT_VALUE GCCFG_PWRDWN ++#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | GCCFG_PWRDWN) + #else +-#define GCCFG_INIT_VALUE (GCCFG_VBDEN | GCCFG_PWRDWN) ++#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | GCCFG_VBDEN | GCCFG_PWRDWN) + #endif + + #endif +@@ -815,7 +815,7 @@ void usb_lld_start(USBDriver *usbp) { + otgp->PCGCCTL = 0; + + /* VBUS sensing and transceiver enabled.*/ +- otgp->GOTGCTL = GOTGCTL_BVALOEN | GOTGCTL_BVALOVAL; ++ // otgp->GOTGCTL = GOTGCTL_BVALOEN | GOTGCTL_BVALOVAL; + + #if defined(BOARD_OTG2_USES_ULPI) + #if STM32_USB_USE_OTG1 +diff --git a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h +index 69a5ab603..200b4b91a 100644 +--- a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h ++++ b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h +@@ -534,7 +534,7 @@ struct USBDriver { + * @notapi + */ + #if (STM32_OTG_STEPPING == 1) || defined(__DOXYGEN__) +-#define usb_lld_connect_bus(usbp) ((usbp)->otg->GCCFG |= GCCFG_VBUSBSEN) ++#define usb_lld_connect_bus(usbp) + #else + #define usb_lld_connect_bus(usbp) ((usbp)->otg->DCTL &= ~DCTL_SDIS) + #endif +@@ -545,7 +545,7 @@ struct USBDriver { + * @notapi + */ + #if (STM32_OTG_STEPPING == 1) || defined(__DOXYGEN__) +-#define usb_lld_disconnect_bus(usbp) ((usbp)->otg->GCCFG &= ~GCCFG_VBUSBSEN) ++#define usb_lld_disconnect_bus(usbp) + #else + #define usb_lld_disconnect_bus(usbp) ((usbp)->otg->DCTL |= DCTL_SDIS) + #endif +``` + +Make example for this keyboard (after setting up your build environment): + + make xelus/valor_frl_tkl/rev2_0:default + make xelus/valor_frl_tkl/rev2_0:via + +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/xelus/valor_frl_tkl/rev2_0/rules.mk b/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk new file mode 100644 index 0000000000..0adbc4f383 --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = STM32F411 +BOARD = GENERIC_STM32_F411XE + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # 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 + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + +KEYBOARD_SHARED_EP = yes diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/config.h b/keyboards/xelus/valor_frl_tkl/rev2_1/config.h new file mode 100644 index 0000000000..2ab1350753 --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_1/config.h @@ -0,0 +1,40 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * 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 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 17 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { A15, A14, A13, B3, B4 } +#define MATRIX_COL_PINS { A10, A8, B15, B14, B13, B12, B9, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* 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 + +#define STM32_HSECLK 16000000 diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/info.json b/keyboards/xelus/valor_frl_tkl/rev2_1/info.json new file mode 100644 index 0000000000..1c7fb1dd6b --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_1/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Valor FRL TKL Rev2.2", + "usb": { + "device_version": "0.0.3" + } +} diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h b/keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h new file mode 100644 index 0000000000..f25665e06e --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h @@ -0,0 +1,34 @@ +/* Copyright 2022 QMK + * + * 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_next <mcuconf.h> + +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_PPRE1 +#undef STM32_PPRE2 + +// 84MHz core +#define STM32_PLLM_VALUE 8 +#define STM32_PLLN_VALUE 168 +#define STM32_PLLP_VALUE 4 +#define STM32_PLLQ_VALUE 7 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE1_DIV1 diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/readme.md b/keyboards/xelus/valor_frl_tkl/rev2_1/readme.md new file mode 100644 index 0000000000..c0f409b3ae --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_1/readme.md @@ -0,0 +1,14 @@ +# Valor FRL TKL Rev2.1 + +An Alice-esque FRL TKL keyboard PCB. + +* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) +* Hardware Supported: Valor FRL TKL +* Hardware Availability: Custom keyboard group buys + +Make example for this keyboard (after setting up your build environment): + + make xelus/valor_frl_tkl/rev2_1:default + make xelus/valor_frl_tkl/rev2_1:via + +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/xelus/valor_frl_tkl/rev2_1/rules.mk b/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk new file mode 100644 index 0000000000..6b2ee6520d --- /dev/null +++ b/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = STM32F401 +BOARD = GENERIC_STM32_F401XC + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # 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 + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + +KEYBOARD_SHARED_EP = yes diff --git a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c index 08e08068b9..b5eca9abde 100644 --- a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c +++ b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c @@ -17,8 +17,3 @@ // Nothing to see here, move along... ;-) #include "valor_frl_tkl.h" - -void board_init(void) { - SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; - SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); -} diff --git a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h index 757f64adf9..94ae0fcbab 100644 --- a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h +++ b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h @@ -17,7 +17,7 @@ #pragma once #include "quantum.h" - + #define ____ KC_NO #define LAYOUT_all( \ diff --git a/keyboards/xelus/xs60/config.h b/keyboards/xelus/xs60/config.h index 3a72af86ad..a61cd22e53 100644 --- a/keyboards/xelus/xs60/config.h +++ b/keyboards/xelus/xs60/config.h @@ -16,13 +16,6 @@ #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x5845 // "XE" -#define PRODUCT_ID 0x5860 // "XS60" -#define DEVICE_VER 0x0001 -#define MANUFACTURER Xelus -#define PRODUCT Xelus XS60 - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 14 @@ -30,7 +23,6 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { B4, B3, A15, A14, A7 } #define MATRIX_COL_PINS { B0, B1, A8, A9, B5, A6, C14, C15, A0, A5, A4, A3, A2, A1 } -#define UNUSED_PINS /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/xs60/info.json b/keyboards/xelus/xs60/info.json index 55665b0399..089d728b01 100644 --- a/keyboards/xelus/xs60/info.json +++ b/keyboards/xelus/xs60/info.json @@ -1,7 +1,13 @@ { "keyboard_name": "XS60", + "manufacturer": "Xelus", "url": "", "maintainer": "Xelus22", + "usb": { + "vid": "0x5845", + "pid": "0x5860", + "device_version": "0.0.1" + }, "layouts": { "LAYOUT_60_ansi_split_bs_rshift": { "layout": [ diff --git a/keyboards/xelus/xs60/keymaps/default/config.h b/keyboards/xelus/xs60/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/xs60/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/xs60/keymaps/via/config.h b/keyboards/xelus/xs60/keymaps/via/config.h index b608adcfc4..8c0ed0c6e3 100644 --- a/keyboards/xelus/xs60/keymaps/via/config.h +++ b/keyboards/xelus/xs60/keymaps/via/config.h @@ -17,5 +17,3 @@ // More layers #define DYNAMIC_KEYMAP_LAYER_COUNT 8 - -#define QMK_KEYS_PER_SCAN 4 |