]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/dztech/dz40rgb/dz40rgb.c
rgb_led struct conversion (aka: Per led (key) type rgb matrix effects - part 2) ...
[qmk_firmware.git] / keyboards / dztech / dz40rgb / dz40rgb.c
1 #include "dz40rgb.h"
2 #include "config.h"
3 #if defined (split_space)
4 const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
5 /* Refer to IS31 manual for these locations
6  *   driver
7  *   |  R location
8  *   |  |       G location
9  *   |  |       |       B location
10  *   |  |       |       | */
11     {0, K_12,   J_12,   L_12},
12     {0, K_11,   J_11,   L_11},
13     {0, K_10,   J_10,   L_10},
14     {0, K_9,    J_9,    L_9},
15     {0, K_8,    J_8,    L_8},
16     {0, K_7,    J_7,    L_7},
17     {0, K_6,    J_6,    L_6},
18     {0, K_5,    J_5,    L_5},
19     {0, K_4,    J_4,    L_4},
20     {0, K_3,    J_3,    L_3},
21     {0, K_2,    J_2,    L_2},
22     {0, K_1,    J_1,    L_1},
23
24     {0, K_13,   J_13,   L_13},
25     {0, K_14,   J_14,   L_14},
26
27     {0, H_12,   G_12,   I_12},
28     {0, H_11,   G_11,   I_11},
29     {0, H_10,   G_10,   I_10},
30     {0, H_9,    G_9,    I_9},
31     {0, H_8,    G_8,    I_8},
32     {0, H_7,    G_7,    I_7},
33     {0, H_6,    G_6,    I_6},
34     {0, H_5,    G_5,    I_5},
35     {0, H_4,    G_4,    I_4},
36     {0, H_3,    G_3,    I_3},
37     {0, H_2,    G_2,    I_2},
38     {0, H_1,    G_1,    I_1},
39
40     {0, H_13,   G_13,   I_13},
41     {0, H_14,   G_14,   I_14},
42
43     {0, E_12,   D_12,   F_12},
44     {0, E_11,   D_11,   F_11},
45     {0, E_10,   D_10,   F_10},
46     {0, E_9,    D_9,    F_9},
47     {0, E_8,    D_8,    F_8},
48     {0, E_7,    D_7,    F_7},
49     {0, E_6,    D_6,    F_6},
50     {0, E_5,    D_5,    F_5},
51     {0, E_4,    D_4,    F_4},
52     {0, E_3,    D_3,    F_3},
53     {0, E_2,    D_2,    F_2},
54     {0, E_1,    D_1,    F_1},
55
56     {0, E_13,   D_13,   F_13},
57     {0, E_14,   D_14,   F_14},
58
59     {0, B_12,   A_12,   C_12},
60     {0, B_11,   A_11,   C_11},
61     {0, B_10,   A_10,   C_10},
62     {0, B_9,    A_9,    C_9},
63     {0, B_8,    A_8,    C_8},
64     {0, B_7,    A_7,    C_7},
65     {0, B_6,    A_6,    C_6},
66     {0, B_5,    A_5,    C_5},
67     {0, B_4,    A_4,    C_4},
68     {0, B_3,    A_3,    C_3},
69     {0, B_2,    A_2,    C_2},
70     {0, B_1,    A_1,    C_1}
71
72 };
73
74 led_config_t g_led_config = { {
75     {  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1,   0 },
76     {  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  15,  14 },
77     {  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,  29,  28 },
78     {  53,  52,  51,  50,  49,  48,  47,  46,  45,  44,  43,  42 }
79 }, {
80     { 223,   0 }, { 203,   0 }, { 183,   0 }, { 162,   0 }, { 142,   0 }, { 122,   0 }, { 101,   0 }, {  81,   0 }, {  61,   0 }, {  40,   0 }, {  20,   0 }, {   0,   0 },
81     { 223,  10 }, {   0,  10 }, { 223,  21 }, { 203,  21 }, { 183,  21 }, { 162,  21 }, { 142,  21 }, { 122,  21 }, { 101,  21 }, {  81,  21 }, {  61,  21 }, {  40,  21 },
82     {  20,  21 }, {   0,  21 }, { 223,  31 }, {   0,  31 }, { 223,  42 }, { 203,  42 }, { 183,  42 }, { 162,  42 }, { 142,  42 }, { 122,  42 }, { 101,  42 }, {  81,  42 },
83     {  61,  42 }, {  40,  42 }, {  20,  42 }, {   0,  42 }, { 223,  53 }, {   0,  53 }, { 223,  63 }, { 203,  63 }, { 183,  63 }, { 162,  63 }, { 142,  63 }, { 122,  63 },
84     { 101,  63 }, {  81,  63 }, {  61,  63 }, {  40,  63 }, {  20,  63 }, {   0,  63 }
85 }, {
86     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
87     1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
88     4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
89     4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1,
90     1, 1, 1, 1, 1, 1
91 } };
92
93 #else
94 const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
95 /* Refer to IS31 manual for these locations
96  *   driver
97  *   |  R location
98  *   |  |       G location
99  *   |  |       |       B location
100  *   |  |       |       | */
101     {0, K_12,   J_12,   L_12},
102     {0, K_11,   J_11,   L_11},
103     {0, K_10,   J_10,   L_10},
104     {0, K_9,    J_9,    L_9},
105     {0, K_8,    J_8,    L_8},
106     {0, K_7,    J_7,    L_7},
107     {0, K_6,    J_6,    L_6},
108     {0, K_5,    J_5,    L_5},
109     {0, K_4,    J_4,    L_4},
110     {0, K_3,    J_3,    L_3},
111     {0, K_2,    J_2,    L_2},
112     {0, K_1,    J_1,    L_1},
113
114     {0, K_13,   J_13,   L_13},
115     {0, K_14,   J_14,   L_14},
116
117     {0, H_12,   G_12,   I_12},
118     {0, H_11,   G_11,   I_11},
119     {0, H_10,   G_10,   I_10},
120     {0, H_9,    G_9,    I_9},
121     {0, H_8,    G_8,    I_8},
122     {0, H_7,    G_7,    I_7},
123     {0, H_6,    G_6,    I_6},
124     {0, H_5,    G_5,    I_5},
125     {0, H_4,    G_4,    I_4},
126     {0, H_3,    G_3,    I_3},
127     {0, H_2,    G_2,    I_2},
128     {0, H_1,    G_1,    I_1},
129
130     {0, H_13,   G_13,   I_13},
131     {0, H_14,   G_14,   I_14},
132
133     {0, E_12,   D_12,   F_12},
134     {0, E_11,   D_11,   F_11},
135     {0, E_10,   D_10,   F_10},
136     {0, E_9,    D_9,    F_9},
137     {0, E_8,    D_8,    F_8},
138     {0, E_7,    D_7,    F_7},
139     {0, E_6,    D_6,    F_6},
140     {0, E_5,    D_5,    F_5},
141     {0, E_4,    D_4,    F_4},
142     {0, E_3,    D_3,    F_3},
143     {0, E_2,    D_2,    F_2},
144     {0, E_1,    D_1,    F_1},
145
146     {0, E_13,   D_13,   F_13},
147     {0, E_14,   D_14,   F_14},
148
149     {0, B_12,   A_12,   C_12},
150     {0, B_11,   A_11,   C_11},
151     {0, B_10,   A_10,   C_10},
152     {0, B_9,    A_9,    C_9},
153     {0, B_8,    A_8,    C_8},
154     {0, B_13,   A_13,   C_13},
155     {0, B_5,    A_5,    C_5},
156     {0, B_4,    A_4,    C_4},
157     {0, B_3,    A_3,    C_3},
158     {0, B_2,    A_2,    C_2},
159     {0, B_1,    A_1,    C_1}
160
161 };
162
163 led_config_t g_led_config = { {
164     {  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1,   0 },
165     {  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  15,  14 },
166     {  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,  29,  28 },
167     {  52,  51,  50,  49,  48, NO_LED,  47,  46,  45,  44,  43,  42 }
168 }, {
169     { 223,   0 }, { 203,   0 }, { 183,   0 }, { 162,   0 }, { 142,   0 }, { 122,   0 }, { 101,   0 }, {  81,   0 }, {  61,   0 }, {  40,   0 }, {  20,   0 }, {   0,   0 },
170     { 223,  10 }, {   0,  10 }, { 223,  21 }, { 203,  21 }, { 183,  21 }, { 162,  21 }, { 142,  21 }, { 122,  21 }, { 101,  21 }, {  81,  21 }, {  61,  21 }, {  40,  21 },
171     {  20,  21 }, {   0,  21 }, { 223,  31 }, {   0,  31 }, { 223,  42 }, { 203,  42 }, { 183,  42 }, { 162,  42 }, { 142,  42 }, { 122,  42 }, { 101,  42 }, {  81,  42 },
172     {  61,  42 }, {  40,  42 }, {  20,  42 }, {   0,  42 }, { 223,  53 }, {   0,  53 }, { 223,  63 }, { 203,  63 }, { 183,  63 }, { 162,  63 }, { 142,  63 }, { 111,  63 },
173     {  81,  63 }, {  61,  63 }, {  40,  63 }, {  20,  63 }, {   0,  63 }
174 }, {
175     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
176     1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
177     4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
178     4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1,
179     1, 1, 1, 1, 1
180 } };
181
182 #endif
183
184
185 void matrix_init_kb(void) {
186     matrix_init_user();
187 }
188
189
190 void matrix_scan_kb(void) {
191     matrix_scan_user();
192 }
193
194
195 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
196     return process_record_user(keycode, record);
197 }
198
199
200 void suspend_power_down_kb(void)
201 {
202     rgb_matrix_set_suspend_state(true);
203 }
204
205 void suspend_wakeup_init_kb(void)
206 {
207     rgb_matrix_set_suspend_state(false);
208 }