diff options
Diffstat (limited to 'keyboards/gmmk')
-rw-r--r-- | keyboards/gmmk/pro/config.h | 17 | ||||
-rw-r--r-- | keyboards/gmmk/pro/halconf.h | 7 | ||||
-rw-r--r-- | keyboards/gmmk/pro/mcuconf.h | 6 | ||||
-rw-r--r-- | keyboards/gmmk/pro/pro.c | 222 | ||||
-rw-r--r-- | keyboards/gmmk/pro/rules.mk | 2 |
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 | ||
19 | led_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 | |||
137 | const 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 | |||
21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | 21 | BLUETOOTH_ENABLE = no # Enable Bluetooth |
22 | AUDIO_ENABLE = no # Audio output | 22 | AUDIO_ENABLE = no # Audio output |
23 | ENCODER_ENABLE = yes | 23 | ENCODER_ENABLE = yes |
24 | RGB_MATRIX_ENABLE = yes | ||
25 | RGB_MATRIX_DRIVER = AW20216 | ||