From 489b287e1ff2d4140f28b17f439daa5efdef5382 Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun, 4 Sep 2022 01:27:00 +1000 Subject: [Keyboard] RS60 Rev2 change to eeprom emulation (#18201) by xelus --- keyboards/xelus/rs60/rev1/info.json | 2 +- keyboards/xelus/rs60/rev2/chconf.h | 30 ---------------- keyboards/xelus/rs60/rev2/config.h | 65 ----------------------------------- keyboards/xelus/rs60/rev2/halconf.h | 26 -------------- keyboards/xelus/rs60/rev2/info.json | 5 --- keyboards/xelus/rs60/rev2/mcuconf.h | 42 ---------------------- keyboards/xelus/rs60/rev2/rev2.c | 16 --------- keyboards/xelus/rs60/rev2/rev2.h | 34 ------------------ keyboards/xelus/rs60/rev2/rules.mk | 29 ---------------- keyboards/xelus/rs60/rev2_0/config.h | 65 +++++++++++++++++++++++++++++++++++ keyboards/xelus/rs60/rev2_0/halconf.h | 26 ++++++++++++++ keyboards/xelus/rs60/rev2_0/info.json | 5 +++ keyboards/xelus/rs60/rev2_0/mcuconf.h | 42 ++++++++++++++++++++++ keyboards/xelus/rs60/rev2_0/readme.md | 20 +++++++++++ keyboards/xelus/rs60/rev2_0/rev2_0.c | 16 +++++++++ keyboards/xelus/rs60/rev2_0/rev2_0.h | 34 ++++++++++++++++++ keyboards/xelus/rs60/rev2_0/rules.mk | 28 +++++++++++++++ keyboards/xelus/rs60/rev2_1/config.h | 45 ++++++++++++++++++++++++ keyboards/xelus/rs60/rev2_1/info.json | 5 +++ keyboards/xelus/rs60/rev2_1/readme.md | 20 +++++++++++ keyboards/xelus/rs60/rev2_1/rev2_1.c | 16 +++++++++ keyboards/xelus/rs60/rev2_1/rev2_1.h | 34 ++++++++++++++++++ keyboards/xelus/rs60/rev2_1/rules.mk | 29 ++++++++++++++++ keyboards/xelus/rs60/rs60.h | 6 ++-- 24 files changed, 390 insertions(+), 250 deletions(-) delete mode 100644 keyboards/xelus/rs60/rev2/chconf.h delete mode 100644 keyboards/xelus/rs60/rev2/config.h delete mode 100644 keyboards/xelus/rs60/rev2/halconf.h delete mode 100644 keyboards/xelus/rs60/rev2/info.json delete mode 100644 keyboards/xelus/rs60/rev2/mcuconf.h delete mode 100644 keyboards/xelus/rs60/rev2/rev2.c delete mode 100644 keyboards/xelus/rs60/rev2/rev2.h delete mode 100644 keyboards/xelus/rs60/rev2/rules.mk create mode 100644 keyboards/xelus/rs60/rev2_0/config.h create mode 100644 keyboards/xelus/rs60/rev2_0/halconf.h create mode 100644 keyboards/xelus/rs60/rev2_0/info.json create mode 100644 keyboards/xelus/rs60/rev2_0/mcuconf.h create mode 100644 keyboards/xelus/rs60/rev2_0/readme.md create mode 100644 keyboards/xelus/rs60/rev2_0/rev2_0.c create mode 100644 keyboards/xelus/rs60/rev2_0/rev2_0.h create mode 100644 keyboards/xelus/rs60/rev2_0/rules.mk create mode 100644 keyboards/xelus/rs60/rev2_1/config.h create mode 100644 keyboards/xelus/rs60/rev2_1/info.json create mode 100644 keyboards/xelus/rs60/rev2_1/readme.md create mode 100644 keyboards/xelus/rs60/rev2_1/rev2_1.c create mode 100644 keyboards/xelus/rs60/rev2_1/rev2_1.h create mode 100644 keyboards/xelus/rs60/rev2_1/rules.mk diff --git a/keyboards/xelus/rs60/rev1/info.json b/keyboards/xelus/rs60/rev1/info.json index 90ac25f360..cf78bc4ec7 100644 --- a/keyboards/xelus/rs60/rev1/info.json +++ b/keyboards/xelus/rs60/rev1/info.json @@ -1,5 +1,5 @@ { "usb": { - "device_version": "0.0.1" + "device_version": "0.1.0" } } diff --git a/keyboards/xelus/rs60/rev2/chconf.h b/keyboards/xelus/rs60/rev2/chconf.h deleted file mode 100644 index a9608a4c75..0000000000 --- a/keyboards/xelus/rs60/rev2/chconf.h +++ /dev/null @@ -1,30 +0,0 @@ -/* 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/acheron/austin/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_FREQUENCY 10000 - -#define CH_CFG_OPTIMIZE_SPEED FALSE - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next diff --git a/keyboards/xelus/rs60/rev2/config.h b/keyboards/xelus/rs60/rev2/config.h deleted file mode 100644 index 71eb5fb262..0000000000 --- a/keyboards/xelus/rs60/rev2/config.h +++ /dev/null @@ -1,65 +0,0 @@ -/* 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 . - */ -#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 - -// 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/rs60/rev2/halconf.h deleted file mode 100644 index b3e848852b..0000000000 --- a/keyboards/xelus/rs60/rev2/halconf.h +++ /dev/null @@ -1,26 +0,0 @@ -/* 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 . - */ - -/* - * 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 diff --git a/keyboards/xelus/rs60/rev2/info.json b/keyboards/xelus/rs60/rev2/info.json deleted file mode 100644 index e557e4d307..0000000000 --- a/keyboards/xelus/rs60/rev2/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "usb": { - "device_version": "0.0.2" - } -} diff --git a/keyboards/xelus/rs60/rev2/mcuconf.h b/keyboards/xelus/rs60/rev2/mcuconf.h deleted file mode 100644 index 2ef15d0720..0000000000 --- a/keyboards/xelus/rs60/rev2/mcuconf.h +++ /dev/null @@ -1,42 +0,0 @@ -/* 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/xelus/kangaroo/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` - */ - -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#undef STM32_PLLN_VALUE -#undef STM32_PLLP_VALUE -#undef STM32_PLLQ_VALUE -#undef STM32_PPRE1 -#undef STM32_PPRE2 - -// 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 - -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/xelus/rs60/rev2/rev2.c b/keyboards/xelus/rs60/rev2/rev2.c deleted file mode 100644 index f51e262ea0..0000000000 --- a/keyboards/xelus/rs60/rev2/rev2.c +++ /dev/null @@ -1,16 +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 . - */ - #include "rev2.h" diff --git a/keyboards/xelus/rs60/rev2/rev2.h b/keyboards/xelus/rs60/rev2/rev2.h deleted file mode 100644 index 9b8e841de5..0000000000 --- a/keyboards/xelus/rs60/rev2/rev2.h +++ /dev/null @@ -1,34 +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 . - */ -#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/rules.mk b/keyboards/xelus/rs60/rev2/rules.mk deleted file mode 100644 index 3bf99c0be7..0000000000 --- a/keyboards/xelus/rs60/rev2/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# 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 - -LAYOUTS = 60_ansi_split_bs_rshift diff --git a/keyboards/xelus/rs60/rev2_0/config.h b/keyboards/xelus/rs60/rev2_0/config.h new file mode 100644 index 0000000000..71eb5fb262 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_0/config.h @@ -0,0 +1,65 @@ +/* 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 . + */ +#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 + +// 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_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 . + */ + +/* + * 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 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_0/mcuconf.h b/keyboards/xelus/rs60/rev2_0/mcuconf.h new file mode 100644 index 0000000000..2ef15d0720 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_0/mcuconf.h @@ -0,0 +1,42 @@ +/* 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/xelus/kangaroo/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_PPRE1 +#undef STM32_PPRE2 + +// 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 + +#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/rs60/rev2_0/rev2_0.c b/keyboards/xelus/rs60/rev2_0/rev2_0.c new file mode 100644 index 0000000000..d2abbda521 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_0/rev2_0.c @@ -0,0 +1,16 @@ +/* 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 . + */ + #include "rev2_0.h" diff --git a/keyboards/xelus/rs60/rev2_0/rev2_0.h b/keyboards/xelus/rs60/rev2_0/rev2_0.h new file mode 100644 index 0000000000..dd43418964 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_0/rev2_0.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 . + */ +#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_0/rules.mk b/keyboards/xelus/rs60/rev2_0/rules.mk new file mode 100644 index 0000000000..df66f7dd37 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_0/rules.mk @@ -0,0 +1,28 @@ +# 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 + +LAYOUTS = 60_ansi_split_bs_rshift 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 . + */ +#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/rs60/rev2_1/rev2_1.c b/keyboards/xelus/rs60/rev2_1/rev2_1.c new file mode 100644 index 0000000000..dc234542b5 --- /dev/null +++ b/keyboards/xelus/rs60/rev2_1/rev2_1.c @@ -0,0 +1,16 @@ +/* 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 . + */ + #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 . + */ +#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 -- cgit v1.2.3