aboutsummaryrefslogtreecommitdiff
path: root/keyboards/melgeek/mj63/rev1/rev1.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/melgeek/mj63/rev1/rev1.c')
-rw-r--r--keyboards/melgeek/mj63/rev1/rev1.c130
1 files changed, 130 insertions, 0 deletions
diff --git a/keyboards/melgeek/mj63/rev1/rev1.c b/keyboards/melgeek/mj63/rev1/rev1.c
new file mode 100644
index 000000000..e9f75739c
--- /dev/null
+++ b/keyboards/melgeek/mj63/rev1/rev1.c
@@ -0,0 +1,130 @@
1/* Copyright 2020 MelGeek <melgeek001365@gmail.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 "mj63.h"
18
19
20#ifdef RGB_MATRIX_ENABLE
21
22const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
23 {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
24 {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
25 {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
26 {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
27 {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
28 {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
29 {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
30 {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
31 {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
32 {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
33 {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
34 {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
35 {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
36 {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
37 {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
38 {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
39 {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
40 {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB18 */
41 {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB19 */
42 {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20 */
43 {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB21 */
44 {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB22 */
45 {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB23 */
46 {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB24 */
47 {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB25 */
48 {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB26 */
49 {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
50 {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
51 {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
52 {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
53 {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
54 {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
55 {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
56 {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB34 */
57 {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB35 */
58 {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
59 {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
60 {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB38 */
61 {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB39 */
62 {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB40 */
63 {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
64 {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB42 */
65 {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB43 */
66 {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB44 */
67 {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
68 {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
69 {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
70 {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB49 */
71 {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
72 {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
73 {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB52 */
74 {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB53 */
75 {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
76 {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB55 */
77 {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB56 */
78 {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB57 */
79 {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB58 */
80 {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB59 */
81 {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB60 */
82 {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB61 */
83 {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB62 */
84 {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB63 */
85 {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
86 {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB65 */
87 {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB66 */
88};
89
90led_config_t g_led_config = {
91 {
92 /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 */
93 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, /* R0 */
94 { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 }, /* R1 */
95 { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NO_LED }, /* R2 */
96 { 53, NO_LED, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41 }, /* R3 */
97 { 61, 60, 59, NO_LED, 64, 62, 63, NO_LED, NO_LED, 58, 57, 56, 55, 54 }, /* R4 */
98 }, {
99 {0, 0}, {16, 0}, {32, 0}, {48, 0}, {64, 0}, {80, 0}, {96, 0}, {112, 0}, {128, 0}, {144, 0}, {160, 0}, {176, 0}, {192, 0}, {208, 0},
100 {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16},
101 {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32},
102 {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48},
103 {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 64}, {160, 64},
104 }, {
105 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
106 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
107 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
108 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
109 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
110 }
111};
112
113void suspend_power_down_kb(void) {
114 rgb_matrix_set_suspend_state(true);
115 suspend_power_down_user();
116}
117
118void suspend_wakeup_init_kb(void) {
119 rgb_matrix_set_suspend_state(false);
120 suspend_wakeup_init_user();
121}
122
123void keyboard_pre_init_kb(void) {
124 setPinOutput(A2);
125 writePinHigh(A2);
126 keyboard_pre_init_user();
127}
128
129#endif
130