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