aboutsummaryrefslogtreecommitdiff
path: root/keyboards/gmmk
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/gmmk')
-rw-r--r--keyboards/gmmk/pro/config.h17
-rw-r--r--keyboards/gmmk/pro/halconf.h7
-rw-r--r--keyboards/gmmk/pro/mcuconf.h6
-rw-r--r--keyboards/gmmk/pro/pro.c222
-rw-r--r--keyboards/gmmk/pro/rules.mk2
5 files changed, 254 insertions, 0 deletions
diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h
index ab3c7a7a2..64062bece 100644
--- a/keyboards/gmmk/pro/config.h
+++ b/keyboards/gmmk/pro/config.h
@@ -46,3 +46,20 @@
46#define LOCKING_SUPPORT_ENABLE 46#define LOCKING_SUPPORT_ENABLE
47/* Locking resynchronize hack */ 47/* Locking resynchronize hack */
48#define LOCKING_RESYNC_ENABLE 48#define LOCKING_RESYNC_ENABLE
49
50/* SPI Config for LED Driver */
51#define SPI_DRIVER SPID1
52#define SPI_SCK_PIN A5
53#define SPI_MOSI_PIN A6
54#define SPI_MISO_PIN A7
55
56#define DRIVER_1_CS B13
57#define DRIVER_2_CS B14
58#define DRIVER_1_EN C13
59#define DRIVER_2_EN C13
60
61#define DRIVER_COUNT 2
62#define DRIVER_1_LED_TOTAL 66
63#define DRIVER_2_LED_TOTAL 32
64#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
65
diff --git a/keyboards/gmmk/pro/halconf.h b/keyboards/gmmk/pro/halconf.h
new file mode 100644
index 000000000..23ecb202a
--- /dev/null
+++ b/keyboards/gmmk/pro/halconf.h
@@ -0,0 +1,7 @@
1#pragma once
2
3#define HAL_USE_SPI TRUE
4#define SPI_USE_WAIT TRUE
5#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
6
7#include_next <halconf.h>
diff --git a/keyboards/gmmk/pro/mcuconf.h b/keyboards/gmmk/pro/mcuconf.h
new file mode 100644
index 000000000..bb1c0acde
--- /dev/null
+++ b/keyboards/gmmk/pro/mcuconf.h
@@ -0,0 +1,6 @@
1#pragma once
2
3#include_next <mcuconf.h>
4
5#undef STM32_SPI_USE_SPI1
6#define STM32_SPI_USE_SPI1 TRUE
diff --git a/keyboards/gmmk/pro/pro.c b/keyboards/gmmk/pro/pro.c
index 816d089a5..9ed7ac886 100644
--- a/keyboards/gmmk/pro/pro.c
+++ b/keyboards/gmmk/pro/pro.c
@@ -14,3 +14,225 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "pro.h" 16#include "pro.h"
17
18#ifdef RGB_MATRIX_ENABLE
19led_config_t g_led_config = { {
20 { 4, NO_LED, NO_LED, 95, 65, 79, 5, 28 },
21 { 8, 2, 9, 0, 10, 75, 1, 7 },
22 { 14, 3, 15, NO_LED, 16, 86, 6, 13 },
23 { 20, 18, 21, 23, 22, 94, 12, 19 },
24 { 25, 30, 26, 31, 27, 32, 29, 24 },
25 { 41, 36, 42, 37, 43, 38, 35, 40 },
26 { 46, 89, 47, 34, 48, 72, 78, 45 },
27 { 52, 39, 53, 97, 54, 82, 44, 51 },
28 { 58, 63, 59, 64, NO_LED, 60, 62, 57 },
29 { 11, 90, 55, 17, 33, 49, NO_LED, 69 },
30 { NO_LED, 85, 93, 61, 96, 66, 50, 56 }
31}, {
32 { 0, 0 }, // 0, ESC, k13
33 { 0, 15 }, // 1, ~, k16
34 { 4, 26 }, // 2, Tab, k11
35 { 5, 38 }, // 3, Caps, k21
36 { 9, 49 }, // 4, Sh_L, k00
37 { 2, 61 }, // 5, Ct_L, k06
38 { 18, 0 }, // 6, F1, k26
39 { 14, 15 }, // 7, 1, k17
40 { 22, 26 }, // 8, Q, k10
41 { 25, 38 }, // 9, A, k12
42 { 33, 49 }, // 10, Z, k14
43 { 20, 61 }, // 11, Win_L, k90
44 { 33, 0 }, // 12, F2, k36
45 { 29, 15 }, // 13, 2, k27
46 { 36, 26 }, // 14, W, k20
47 { 40, 38 }, // 15, S, k22
48 { 47, 49 }, // 16, X, k24
49 { 38, 61 }, // 17, Alt_L, k93
50 { 47, 0 }, // 18, F3, k31
51 { 43, 15 }, // 19, 3, k37
52 { 51, 26 }, // 20, E, k30
53 { 54, 38 }, // 21, D, k32
54 { 61, 49 }, // 22, C, k34
55 { 61, 0 }, // 23, F4, k33
56 { 58, 15 }, // 24, 4, k47
57 { 65, 26 }, // 25, R, k40
58 { 69, 38 }, // 26, F, k42
59 { 76, 49 }, // 27, V, k44
60 { 79, 0 }, // 28, F5, k07
61 { 72, 15 }, // 29, 5, k46
62 { 79, 26 }, // 30, T, k41
63 { 83, 38 }, // 31, G, k43
64 { 90, 49 }, // 32, B, k45
65 { 92, 61 }, // 33, SPACE, k94
66 { 94, 0 }, // 34, F6, k63
67 { 87, 15 }, // 35, 6, k56
68 { 94, 26 }, // 36, Y, k51
69 { 98, 38 }, // 37, H, k53
70 { 105, 49 }, // 38, N, k55
71 { 108, 0 }, // 39, F7, k71
72 { 101, 15 }, // 40, 7, k57
73 { 108, 26 }, // 41, U, k50
74 { 112, 38 }, // 42, J, k52
75 { 119, 49 }, // 43, M, k54
76 { 123, 0 }, // 44, F8, k76
77 { 116, 15 }, // 45, 8, k67
78 { 123, 26 }, // 46, I, k60
79 { 126, 38 }, // 47, K, k62
80 { 134, 49 }, // 48, ,, k64
81 { 145, 61 }, // 49, Alt_R, k95
82 { 141, 0 }, // 50, F9, ka6
83 { 130, 15 }, // 51, 9, k77
84 { 137, 26 }, // 52, O, k70
85 { 141, 38 }, // 53, L, k72
86 { 148, 49 }, // 54, ., k74
87 { 159, 61 }, // 55, FN, k92
88 { 155, 0 }, // 56, F10, ka7
89 { 145, 15 }, // 57, 0, k87
90 { 152, 26 }, // 58, P, k80
91 { 155, 38 }, // 59, ;, k82
92 { 163, 49 }, // 60, ?, k85
93 { 170, 0 }, // 61, F11, ka3
94 { 159, 15 }, // 62, -, k86
95 { 166, 26 }, // 63, [, k81
96 { 170, 38 }, // 64, ", k83
97 { 173, 61 }, // 65, Ct_R, k04
98 { 184, 0 }, // 66, F12, ka5
99 { 0, 8 }, // 67, LED, l01
100 { 224, 8 }, // 68, LED, l11
101 { 202, 0 }, // 69, Prt, k97
102 { 0, 15 }, // 70, LED, l02
103 { 224, 15 }, // 71, LED, l12
104 { 224, 15 }, // 72, Del, k65
105 { 0, 21 }, // 73, LED, l03
106 { 224, 21 }, // 74, LED, l13
107 { 224, 26 }, // 75, PgUp, k15
108 { 0, 28 }, // 76, LED, l04
109 { 224, 28 }, // 77, LED, l14
110 { 173, 15 }, // 78, =, k66
111 { 220, 64 }, // 79, Right, k05
112 { 0, 35 }, // 80, LED, l05
113 { 224, 35 }, // 81, LED, l15
114 { 224, 49 }, // 82, End, k75
115 { 0, 42 }, // 83, LED, l06
116 { 224, 42 }, // 84, LED, l16
117 { 195, 15 }, // 85, BSpc, ka1
118 { 224, 38 }, // 86, PgDn, k25
119 { 0, 48 }, // 87, LED, l07
120 { 224, 48 }, // 88, LED, l17
121 { 181, 26 }, // 89, ], k61
122 { 182, 49 }, // 90, Sh_R, k91
123 { 0, 55 }, // 91, LED, l08
124 { 224, 55 }, // 92, LED, l18
125 { 199, 26 }, // 93, \, ka2
126 { 206, 52 }, // 94, Up, k35
127 { 191, 64 }, // 95, Left, k03
128 { 193, 38 }, // 96, Enter, ka4
129 { 206, 64 } // 97, Down, k73
130}, {
131 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
132 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
133 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 4, 2, 2, 4, 2, 2,
134 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
135} };
136
137const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
138 { 0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0, ESC, k13
139 { 0, CS4_SW1, CS5_SW1, CS6_SW1 }, // 1, ~, k16
140 { 0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 2, Tab, k11
141 { 0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 3, Caps, k21
142 { 0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 4, Sh_L, k00
143 { 0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 5, Ct_L, k06
144 { 0, CS1_SW2, CS2_SW2, CS3_SW2 }, // 6, F1, k26
145 { 0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 7, 1, k17
146 { 0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 8, Q, k10
147 { 0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 9, A, k12
148 { 0, CS13_SW2, CS14_SW2, CS15_SW2 }, // 10, Z, k14
149 { 0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 11, Win_L, k90
150 { 0, CS1_SW3, CS2_SW3, CS3_SW3 }, // 12, F2, k36
151 { 0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 13, 2, k27
152 { 0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 14, W, k20
153 { 0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 15, S, k22
154 { 0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 16, X, k24
155 { 0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 17, Alt_L, k93
156 { 0, CS1_SW4, CS2_SW4, CS3_SW4 }, // 18, F3, k31
157 { 0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 19, 3, k37
158 { 0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 20, E, k30
159 { 0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 21, D, k32
160 { 0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 22, C, k34
161 { 0, CS1_SW5, CS2_SW5, CS3_SW5 }, // 23, F4, k33
162 { 0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 24, 4, k47
163 { 0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 25, R, k40
164 { 0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 26, F, k42
165 { 0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 27, V, k44
166 { 0, CS1_SW6, CS2_SW6, CS3_SW6 }, // 28, F5, k07
167 { 0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 29, 5, k46
168 { 0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 30, T, k41
169 { 0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 31, G, k43
170 { 0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 32, B, k45
171 { 0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 33, SPACE, k94
172 { 0, CS1_SW7, CS2_SW7, CS3_SW7 }, // 34, F6, k63
173 { 0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 35, 6, k56
174 { 0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 36, Y, k51
175 { 0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 37, H, k53
176 { 0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 38, N, k55
177 { 0, CS1_SW8, CS2_SW8, CS3_SW8 }, // 39, F7, k71
178 { 0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 40, 7, k57
179 { 0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 41, U, k50
180 { 0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 42, J, k52
181 { 0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 43, M, k54
182 { 0, CS1_SW9, CS2_SW9, CS3_SW9 }, // 44, F8, k76
183 { 0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 45, 8, k67
184 { 0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 46, I, k60
185 { 0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 47, K, k62
186 { 0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 48, ,, k64
187 { 0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 49, Alt_R, k95
188 { 0, CS1_SW10, CS2_SW10, CS3_SW10 }, // 50, F9, ka6
189 { 0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 51, 9, k77
190 { 0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 52, O, k70
191 { 0, CS10_SW10, CS11_SW10, CS12_SW10 }, // 53, L, k72
192 { 0, CS13_SW10, CS14_SW10, CS15_SW10 }, // 54, ., k74
193 { 0, CS16_SW10, CS17_SW10, CS18_SW10 }, // 55, FN, k92
194 { 0, CS1_SW11, CS2_SW11, CS3_SW11 }, // 56, F10, ka7
195 { 0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 57, 0, k87
196 { 0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 58, P, k80
197 { 0, CS10_SW11, CS11_SW11, CS12_SW11 }, // 59, ;, k82
198 { 0, CS13_SW11, CS14_SW11, CS15_SW11 }, // 60, ?, k85
199 { 0, CS1_SW12, CS2_SW12, CS3_SW12 }, // 61, F11, ka3
200 { 0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 62, -, k86
201 { 0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 63, [, k81
202 { 0, CS10_SW12, CS11_SW12, CS12_SW12 }, // 64, ", k83
203 { 0, CS16_SW12, CS17_SW12, CS18_SW12 }, // 65, Ct_R, k04
204
205 { 1, CS1_SW1, CS2_SW1, CS3_SW1 }, // 66, F12, ka5
206 { 1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 67, LED, l01
207 { 1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 68, LED, l11
208 { 1, CS4_SW2, CS5_SW2, CS6_SW2 }, // 69, Prt, k97
209 { 1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 70, LED, l02
210 { 1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 71, LED, l12
211 { 1, CS4_SW3, CS5_SW3, CS6_SW3 }, // 72, Del, k65
212 { 1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 73, LED, l03
213 { 1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 74, LED, l13
214 { 1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 75, PgUp, k15
215 { 1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 76, LED, l04
216 { 1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 77, LED, l14
217 { 1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 78, =, k66
218 { 1, CS10_SW5, CS11_SW5, CS12_SW5 }, // 79, Right, k05
219 { 1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 80, LED, l05
220 { 1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 81, LED, l15
221 { 1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 82, End, k75
222 { 1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 83, LED, l06
223 { 1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 84, LED, l16
224 { 1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 85, BSpc, ka1
225 { 1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 86, PgDn, k25
226 { 1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 87, LED, l07
227 { 1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 88, LED, l17
228 { 1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 89, ], k61
229 { 1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 90, Sh_R, k91
230 { 1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 91, LED, l08
231 { 1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 92, LED, l18
232 { 1, CS1_SW9, CS2_SW9, CS3_SW9 }, // 93, \, ka2
233 { 1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 94, Up, k35
234 { 1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 95, Left, k03
235 { 1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 96, Enter, ka4
236 { 1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 97, Down, k73
237};
238#endif
diff --git a/keyboards/gmmk/pro/rules.mk b/keyboards/gmmk/pro/rules.mk
index b12d055a3..6221d6408 100644
--- a/keyboards/gmmk/pro/rules.mk
+++ b/keyboards/gmmk/pro/rules.mk
@@ -21,3 +21,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth 21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output 22AUDIO_ENABLE = no # Audio output
23ENCODER_ENABLE = yes 23ENCODER_ENABLE = yes
24RGB_MATRIX_ENABLE = yes
25RGB_MATRIX_DRIVER = AW20216