aboutsummaryrefslogtreecommitdiff
path: root/keyboards/splitkb/kyria/rev1
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/splitkb/kyria/rev1')
-rw-r--r--keyboards/splitkb/kyria/rev1/config.h27
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/chconf.h22
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/halconf.h22
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/mcuconf.h29
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/proton_c.c17
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/proton_c.h19
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/rules.mk5
-rw-r--r--keyboards/splitkb/kyria/rev1/rev1.h3
8 files changed, 137 insertions, 7 deletions
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 @@
1WS2812_DRIVER = pwm
2SERIAL_DRIVER = usart
3AUDIO_ENABLE = no
4LTO_ENABLE = no
5CONVERT_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 *