diff options
Diffstat (limited to 'keyboards/splitkb')
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/drashna/rules.mk | 8 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/readme.md | 22 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/config.h | 27 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/proton_c/chconf.h | 22 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/proton_c/halconf.h | 22 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/proton_c/mcuconf.h | 29 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/proton_c/proton_c.c | 17 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/proton_c/proton_c.h | 19 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/proton_c/rules.mk | 5 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/rev1.h | 3 |
10 files changed, 162 insertions, 12 deletions
diff --git a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk index b51cc1b62..f2ae5a191 100644 --- a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk | |||
@@ -12,11 +12,11 @@ COMMAND_ENABLE = no # Commands for debug and configuration | |||
12 | NKRO_ENABLE = yes # USB Nkey Rollover | 12 | NKRO_ENABLE = yes # USB Nkey Rollover |
13 | UNICODE_ENABLE = no # Unicode | 13 | UNICODE_ENABLE = no # Unicode |
14 | KEY_LOCK_ENABLE = no | 14 | KEY_LOCK_ENABLE = no |
15 | CTPC = yes | ||
15 | 16 | ||
16 | 17 | # BOOTLOADER = hid | |
17 | BOOTLOADER = hid | 18 | # BOOTLOADER_SIZE = 512 |
18 | BOOTLOADER_SIZE = 512 | 19 | # PROGRAM_CMD = $(HID_BOOTLOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex |
19 | PROGRAM_CMD = $(HID_BOOTLOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex | ||
20 | # TAP_DANCE_ENABLE = yes | 20 | # TAP_DANCE_ENABLE = yes |
21 | 21 | ||
22 | WPM_ENABLE = yes | 22 | WPM_ENABLE = yes |
diff --git a/keyboards/splitkb/kyria/readme.md b/keyboards/splitkb/kyria/readme.md index 5ce652589..7ecf3946f 100644 --- a/keyboards/splitkb/kyria/readme.md +++ b/keyboards/splitkb/kyria/readme.md | |||
@@ -10,7 +10,8 @@ Hardware Availability: [splitkb.com](https://splitkb.com) and partners. | |||
10 | 10 | ||
11 | Make example for this keyboard (after setting up your build environment): | 11 | Make example for this keyboard (after setting up your build environment): |
12 | 12 | ||
13 | make splitkb/kyria:default | 13 | make splitkb/kyria/rev1:default |
14 | make splitkb/kyria/rev1/proton_c:default | ||
14 | 15 | ||
15 | Example of flashing this keyboard: | 16 | Example of flashing this keyboard: |
16 | 17 | ||
@@ -19,3 +20,22 @@ Example of flashing this keyboard: | |||
19 | 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). | 20 | 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). |
20 | 21 | ||
21 | A build guide for the Kyria can be found at [docs.splitkb.com](https://docs.splitkb.com/hc/en-us/articles/360010552059-Kyria-Build-Guide-Introduction). | 22 | A build guide for the Kyria can be found at [docs.splitkb.com](https://docs.splitkb.com/hc/en-us/articles/360010552059-Kyria-Build-Guide-Introduction). |
23 | |||
24 | ## Proton C Conversion Guide | ||
25 | |||
26 | If you're one of the lucky people to have Proton Cs to use with their Kyria, there are a couple of caveats to getting this working. | ||
27 | |||
28 | 1. You need to have 2x Proton Cs, as you cannot mix and match with Pro Micros or Elite C's. They both need to be Proton Cs. | ||
29 | 2. You'll need to do some modding to enable proper support with the Proton C. | ||
30 | |||
31 | By design, the Kyria uses every available pin on the Pro Micro footprint. This includes using D3 (RX) for RGB. This poses a challenge with using the Proton C, since it needs both the TX and RX pins. The Proton C needs both pins, especially if you plan on using Full Duplex Serial. | ||
32 | |||
33 | To fix this, you need to break off the last header position on the right-hand side on the footprint. This is the `TX0/D3` pad. Leave this pad without a header connected to. | ||
34 | |||
35 | From the A9 pin on the Proton C, you want to run a wire from it to the `SDA + Extra Data` pad near the TRRS jack on the PCB. This will allow for proper, full duplex communication over the TRRS cable. | ||
36 | |||
37 | To get RGB working properly, as well, you want to run a wire from the `A3` pin on the Proton C, next to the GND and DFU pin, right under the USB port. Run this to the `TX0/D3` pad (the one you left without a header pin on the PCB). | ||
38 | |||
39 | Once you've done that, you can solder in the Proton C. and flash it. | ||
40 | |||
41 |  | ||
diff --git a/keyboards/splitkb/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h index a330dfc10..e19e8dfa9 100644 --- a/keyboards/splitkb/kyria/rev1/config.h +++ b/keyboards/splitkb/kyria/rev1/config.h | |||
@@ -57,18 +57,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
57 | /* | 57 | /* |
58 | * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. | 58 | * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. |
59 | */ | 59 | */ |
60 | #define SOFT_SERIAL_PIN D2 | ||
61 | 60 | ||
62 | #define RGB_DI_PIN D3 | 61 | #if defined(CONVERT_TO_PROTON_C) |
62 | # define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. | ||
63 | # define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve. | ||
64 | # define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 | ||
65 | # define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 | ||
66 | # define SERIAL_USART_TX_PIN D3 | ||
67 | # define SERIAL_USART_RX_PIN D2 | ||
68 | |||
69 | # define RGB_DI_PIN PAL_LINE(GPIOA, 3) | ||
70 | # define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 | ||
71 | # define WS2812_PWM_CHANNEL 4 // default: 2 | ||
72 | # define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 | ||
73 | # define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. | ||
74 | # define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. | ||
75 | # define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. | ||
76 | #else | ||
77 | # define RGB_DI_PIN D3 | ||
78 | # define SOFT_SERIAL_PIN D2 | ||
79 | #endif | ||
80 | |||
63 | #define RGBLED_SPLIT \ | 81 | #define RGBLED_SPLIT \ |
64 | { 10, 10 } | 82 | { 10, 10 } |
65 | #define RGBLED_NUM 20 | 83 | #define RGBLED_NUM 20 |
66 | 84 | ||
67 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
68 | #define LOCKING_SUPPORT_ENABLE | ||
69 | /* Locking resynchronize hack */ | ||
70 | #define LOCKING_RESYNC_ENABLE | ||
71 | |||
72 | #ifdef OLED_ENABLE | 85 | #ifdef OLED_ENABLE |
73 | # define OLED_DISPLAY_128X64 | 86 | # define OLED_DISPLAY_128X64 |
74 | # define SPLIT_OLED_ENABLE | 87 | # define SPLIT_OLED_ENABLE |
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/chconf.h b/keyboards/splitkb/kyria/rev1/proton_c/chconf.h new file mode 100644 index 000000000..7ca1d3d24 --- /dev/null +++ b/keyboards/splitkb/kyria/rev1/proton_c/chconf.h | |||
@@ -0,0 +1,22 @@ | |||
1 | /* Copyright 2020 QMK | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #pragma once | ||
18 | |||
19 | #define CH_CFG_ST_RESOLUTION 16 | ||
20 | #define CH_CFG_ST_FREQUENCY 10000 | ||
21 | |||
22 | #include_next "chconf.h" | ||
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/halconf.h b/keyboards/splitkb/kyria/rev1/proton_c/halconf.h new file mode 100644 index 000000000..99f2e11b9 --- /dev/null +++ b/keyboards/splitkb/kyria/rev1/proton_c/halconf.h | |||
@@ -0,0 +1,22 @@ | |||
1 | /* Copyright 2020 QMK | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 3 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | #pragma once | ||
17 | |||
18 | #define HAL_USE_I2C TRUE | ||
19 | #define HAL_USE_PWM TRUE | ||
20 | #define HAL_USE_SERIAL TRUE | ||
21 | |||
22 | #include_next <halconf.h> | ||
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/mcuconf.h b/keyboards/splitkb/kyria/rev1/proton_c/mcuconf.h new file mode 100644 index 000000000..58348af39 --- /dev/null +++ b/keyboards/splitkb/kyria/rev1/proton_c/mcuconf.h | |||
@@ -0,0 +1,29 @@ | |||
1 | /* Copyright 2020 QMK | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 3 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | #pragma once | ||
17 | |||
18 | #include_next <mcuconf.h> | ||
19 | |||
20 | #undef STM32_PWM_USE_TIM2 | ||
21 | #define STM32_PWM_USE_TIM2 TRUE | ||
22 | #undef STM32_PWM_USE_TIM3 | ||
23 | #define STM32_PWM_USE_TIM3 FALSE | ||
24 | |||
25 | #undef STM32_SERIAL_USE_USART1 | ||
26 | #define STM32_SERIAL_USE_USART1 TRUE | ||
27 | |||
28 | #undef STM32_ST_USE_TIMER | ||
29 | #define STM32_ST_USE_TIMER 3 | ||
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/proton_c.c b/keyboards/splitkb/kyria/rev1/proton_c/proton_c.c new file mode 100644 index 000000000..628fabb2e --- /dev/null +++ b/keyboards/splitkb/kyria/rev1/proton_c/proton_c.c | |||
@@ -0,0 +1,17 @@ | |||
1 | /* Copyright 2019 Thomas Baart <thomas@splitkb.com> | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #include "proton_c.h" | ||
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/proton_c.h b/keyboards/splitkb/kyria/rev1/proton_c/proton_c.h new file mode 100644 index 000000000..718f5636f --- /dev/null +++ b/keyboards/splitkb/kyria/rev1/proton_c/proton_c.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* Copyright 2019 Thomas Baart <thomas@splitkb.com> | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #pragma once | ||
18 | |||
19 | #include "rev1.h" | ||
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/rules.mk b/keyboards/splitkb/kyria/rev1/proton_c/rules.mk new file mode 100644 index 000000000..9e0942398 --- /dev/null +++ b/keyboards/splitkb/kyria/rev1/proton_c/rules.mk | |||
@@ -0,0 +1,5 @@ | |||
1 | WS2812_DRIVER = pwm | ||
2 | SERIAL_DRIVER = usart | ||
3 | AUDIO_ENABLE = no | ||
4 | LTO_ENABLE = no | ||
5 | CONVERT_TO_PROTON_C = yes | ||
diff --git a/keyboards/splitkb/kyria/rev1/rev1.h b/keyboards/splitkb/kyria/rev1/rev1.h index bf9864fe3..8a5fbeb21 100644 --- a/keyboards/splitkb/kyria/rev1/rev1.h +++ b/keyboards/splitkb/kyria/rev1/rev1.h | |||
@@ -16,6 +16,9 @@ | |||
16 | #pragma once | 16 | #pragma once |
17 | 17 | ||
18 | #include "kyria.h" | 18 | #include "kyria.h" |
19 | #ifdef KEYBOARD_splitkb_kyria_rev1_proton_c | ||
20 | # include "proton_c.h" | ||
21 | #endif | ||
19 | 22 | ||
20 | /* This a shortcut to help you visually see your layout. | 23 | /* This a shortcut to help you visually see your layout. |
21 | * | 24 | * |