aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Trigg <lenbok@gmail.com>2019-04-20 18:33:07 +1200
committerDrashna Jaelre <drashna@live.com>2019-04-19 23:33:07 -0700
commit8170be5b10e92a4f4a8c23ad0c9dd558c4fc90c7 (patch)
treec681be7ad7196b409dfb3baf1362c695000a4177
parent4856552f8bf3d50a95396fc76e26669ed6f3d8b4 (diff)
downloadqmk_firmware-8170be5b10e92a4f4a8c23ad0c9dd558c4fc90c7.tar.gz
qmk_firmware-8170be5b10e92a4f4a8c23ad0c9dd558c4fc90c7.zip
[Keyboard] crkbd: compile time hand-dependent rgb_matrix LED declarations (#5657)
Set RGB_MATRIX_SPLIT_RIGHT=yes when flashing the right hand side of the keyboard.
-rw-r--r--keyboards/crkbd/rev1/rev1.c196
-rw-r--r--keyboards/crkbd/rev1/rules.mk6
2 files changed, 75 insertions, 127 deletions
diff --git a/keyboards/crkbd/rev1/rev1.c b/keyboards/crkbd/rev1/rev1.c
index a0bc4b4c2..0104adf15 100644
--- a/keyboards/crkbd/rev1/rev1.c
+++ b/keyboards/crkbd/rev1/rev1.c
@@ -55,133 +55,75 @@ void led_set_kb(uint8_t usb_led) {
55 * | {x=0..224, y=0..64} physical layout 55 * | {x=0..224, y=0..64} physical layout
56 * | | | modifier 56 * | | | modifier
57 * | | | */ 57 * | | | */
58 const rgb_led g_rgb_leds_left[27] = { 58#define RGB_MATRIX_LEFT_LEDS \
59 //LEFT 59 { { 0xFF }, { 85, 16 }, 0 }, /* 1 */ \
60 { { 0xFF }, { 85, 16 }, 0 }, // 1 60 { { 0xFF }, { 50, 13 }, 0 }, /* 2 */ \
61 { { 0xFF }, { 50, 13 }, 0 }, // 2 61 { { 0xFF }, { 16, 20 }, 0 }, /* 3 */ \
62 { { 0xFF }, { 16, 20 }, 0 }, // 3 62 { { 0xFF }, { 16, 38 }, 0 }, /* 4 */ \
63 { { 0xFF }, { 16, 38 }, 0 }, // 4 63 { { 0xFF }, { 50, 48 }, 0 }, /* 5 */ \
64 { { 0xFF }, { 50, 48 }, 0 }, // 5 64 { { 0xFF }, { 85, 52 }, 0 }, /* 6 */ \
65 { { 0xFF }, { 85, 52 }, 0 }, // 6 65 { { 3 | ( 5 << 4 ) }, { 95, 63 }, 1 }, /* 7 */ \
66 66 { { 2 | ( 5 << 4 ) }, { 85, 39 }, 0 }, /* 8 */ \
67 { { 3 | ( 5 << 4 ) }, { 95, 63 }, 1 }, // 7 67 { { 1 | ( 5 << 4 ) }, { 85, 21 }, 0 }, /* 9 */ \
68 { { 2 | ( 5 << 4 ) }, { 85, 39 }, 0 }, // 8 68 { { 0 | ( 5 << 4 ) }, { 85, 4 }, 0 }, /* 10 */ \
69 { { 1 | ( 5 << 4 ) }, { 85, 21 }, 0 }, // 9 69 { { 0 | ( 4 << 4 ) }, { 68, 02 }, 0 }, /* 11 */ \
70 { { 0 | ( 5 << 4 ) }, { 85, 4 }, 0 }, //10 70 { { 1 | ( 4 << 4 ) }, { 68, 19 }, 0 }, /* 12 */ \
71 { { 0 | ( 4 << 4 ) }, { 68, 02 }, 0 }, //11 71 { { 2 | ( 4 << 4 ) }, { 68, 37 }, 0 }, /* 13 */ \
72 { { 1 | ( 4 << 4 ) }, { 68, 19 }, 0 }, //12 72 { { 3 | ( 4 << 4 ) }, { 80, 58 }, 1 }, /* 14 */ \
73 { { 2 | ( 4 << 4 ) }, { 68, 37 }, 0 }, //13 73 { { 3 | ( 3 << 4 ) }, { 60, 55 }, 1 }, /* 15 */ \
74 { { 3 | ( 4 << 4 ) }, { 80, 58 }, 1 }, //14 74 { { 2 | ( 3 << 4 ) }, { 50, 35 }, 0 }, /* 16 */ \
75 { { 3 | ( 3 << 4 ) }, { 60, 55 }, 1 }, //15 75 { { 1 | ( 3 << 4 ) }, { 50, 13 }, 0 }, /* 17 */ \
76 { { 2 | ( 3 << 4 ) }, { 50, 35 }, 0 }, //16 76 { { 0 | ( 3 << 4 ) }, { 50, 0 }, 0 }, /* 18 */ \
77 { { 1 | ( 3 << 4 ) }, { 50, 13 }, 0 }, //17 77 { { 0 | ( 2 << 4 ) }, { 33, 3 }, 0 }, /* 19 */ \
78 { { 0 | ( 3 << 4 ) }, { 50, 0 }, 0 }, //18 78 { { 1 | ( 2 << 4 ) }, { 33, 20 }, 0 }, /* 20 */ \
79 { { 0 | ( 2 << 4 ) }, { 33, 3 }, 0 }, //19 79 { { 2 | ( 2 << 4 ) }, { 33, 37 }, 0 }, /* 21 */ \
80 { { 1 | ( 2 << 4 ) }, { 33, 20 }, 0 }, //20 80 { { 2 | ( 1 << 4 ) }, { 16, 42 }, 0 }, /* 22 */ \
81 { { 2 | ( 2 << 4 ) }, { 33, 37 }, 0 }, //21 81 { { 1 | ( 1 << 4 ) }, { 16, 24 }, 0 }, /* 23 */ \
82 { { 2 | ( 1 << 4 ) }, { 16, 42 }, 0 }, //22 82 { { 0 | ( 1 << 4 ) }, { 16, 7 }, 0 }, /* 24 */ \
83 { { 1 | ( 1 << 4 ) }, { 16, 24 }, 0 }, //23 83 { { 0 | ( 0 << 4 ) }, { 0, 7 }, 1 }, /* 25 */ \
84 { { 0 | ( 1 << 4 ) }, { 16, 7 }, 0 }, //24 84 { { 1 | ( 0 << 4 ) }, { 0, 24 }, 1 }, /* 26 */ \
85 { { 0 | ( 0 << 4 ) }, { 0, 7 }, 1 }, //25 85 { { 2 | ( 0 << 4 ) }, { 0, 41 }, 1 }, /* 27 */
86 { { 1 | ( 0 << 4 ) }, { 0, 24 }, 1 }, //26 86
87 { { 2 | ( 0 << 4 ) }, { 0, 41 }, 1 }, //27 87#define RGB_MATRIX_RIGHT_LEDS \
88 }; 88 { { 0xFF }, { 139, 16 }, 0 }, /* 1 */ \
89 const rgb_led g_rgb_leds_right[27] = { 89 { { 0xFF }, { 174, 13 }, 0 }, /* 2 */ \
90 //RIGHT 90 { { 0xFF }, { 208, 20 }, 0 }, /* 3 */ \
91 { { 0xFF }, { 139, 16 }, 0 }, // 1 91 { { 0xFF }, { 208, 38 }, 0 }, /* 4 */ \
92 { { 0xFF }, { 174, 13 }, 0 }, // 2 92 { { 0xFF }, { 174, 48 }, 0 }, /* 5 */ \
93 { { 0xFF }, { 208, 20 }, 0 }, // 3 93 { { 0xFF }, { 139, 52 }, 0 }, /* 6 */ \
94 { { 0xFF }, { 208, 38 }, 0 }, // 4 94 { { 7 | ( 5 << 4 ) }, { 129, 63 }, 1 }, /* 7 */ \
95 { { 0xFF }, { 174, 48 }, 0 }, // 5 95 { { 6 | ( 5 << 4 ) }, { 139, 39 }, 0 }, /* 8 */ \
96 { { 0xFF }, { 139, 52 }, 0 }, // 6 96 { { 5 | ( 5 << 4 ) }, { 139, 21 }, 0 }, /* 9 */ \
97 97 { { 4 | ( 5 << 4 ) }, { 139, 4 }, 0 }, /* 10 */ \
98 { { 7 | ( 5 << 4 ) }, { 129, 63 }, 1 }, // 7 98 { { 4 | ( 4 << 4 ) }, { 156, 02 }, 0 }, /* 11 */ \
99 { { 6 | ( 5 << 4 ) }, { 139, 39 }, 0 }, // 8 99 { { 5 | ( 4 << 4 ) }, { 156, 19 }, 0 }, /* 12 */ \
100 { { 5 | ( 5 << 4 ) }, { 139, 21 }, 0 }, // 9 100 { { 6 | ( 4 << 4 ) }, { 156, 37 }, 0 }, /* 13 */ \
101 { { 4 | ( 5 << 4 ) }, { 139, 4 }, 0 }, //10 101 { { 7 | ( 4 << 4 ) }, { 144, 58 }, 1 }, /* 14 */ \
102 { { 4 | ( 4 << 4 ) }, { 156, 02 }, 0 }, //11 102 { { 7 | ( 3 << 4 ) }, { 164, 55 }, 1 }, /* 15 */ \
103 { { 5 | ( 4 << 4 ) }, { 156, 19 }, 0 }, //12 103 { { 6 | ( 3 << 4 ) }, { 174, 35 }, 0 }, /* 16 */ \
104 { { 6 | ( 4 << 4 ) }, { 156, 37 }, 0 }, //13 104 { { 5 | ( 3 << 4 ) }, { 174, 13 }, 0 }, /* 17 */ \
105 { { 7 | ( 4 << 4 ) }, { 144, 58 }, 1 }, //14 105 { { 4 | ( 3 << 4 ) }, { 174, 0 }, 0 }, /* 18 */ \
106 { { 7 | ( 3 << 4 ) }, { 164, 55 }, 1 }, //15 106 { { 4 | ( 2 << 4 ) }, { 191, 3 }, 0 }, /* 19 */ \
107 { { 6 | ( 3 << 4 ) }, { 174, 35 }, 0 }, //16 107 { { 5 | ( 2 << 4 ) }, { 191, 20 }, 0 }, /* 20 */ \
108 { { 5 | ( 3 << 4 ) }, { 174, 13 }, 0 }, //17 108 { { 6 | ( 2 << 4 ) }, { 191, 37 }, 0 }, /* 21 */ \
109 { { 4 | ( 3 << 4 ) }, { 174, 0 }, 0 }, //18 109 { { 6 | ( 1 << 4 ) }, { 208, 42 }, 0 }, /* 22 */ \
110 { { 4 | ( 2 << 4 ) }, { 191, 3 }, 0 }, //19 110 { { 5 | ( 1 << 4 ) }, { 208, 24 }, 0 }, /* 23 */ \
111 { { 5 | ( 2 << 4 ) }, { 191, 20 }, 0 }, //20 111 { { 4 | ( 1 << 4 ) }, { 208, 7 }, 0 }, /* 24 */ \
112 { { 6 | ( 2 << 4 ) }, { 191, 37 }, 0 }, //21 112 { { 4 | ( 0 << 4 ) }, { 224, 7 }, 1 }, /* 25 */ \
113 { { 6 | ( 1 << 4 ) }, { 208, 42 }, 0 }, //22 113 { { 5 | ( 0 << 4 ) }, { 224, 24 }, 1 }, /* 26 */ \
114 { { 5 | ( 1 << 4 ) }, { 208, 24 }, 0 }, //23 114 { { 6 | ( 0 << 4 ) }, { 224, 41 }, 1 }, /* 27 */
115 { { 4 | ( 1 << 4 ) }, { 208, 7 }, 0 }, //24 115
116 { { 4 | ( 0 << 4 ) }, { 224, 7 }, 1 }, //25 116#ifdef RGB_MATRIX_SPLIT_RIGHT
117 { { 5 | ( 0 << 4 ) }, { 224, 24 }, 1 }, //26 117const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
118 { { 6 | ( 0 << 4 ) }, { 224, 41 }, 1 }, //27 118 RGB_MATRIX_RIGHT_LEDS
119 119 RGB_MATRIX_LEFT_LEDS
120 }; 120 };
121 121#else
122 const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = { 122const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
123 123 RGB_MATRIX_LEFT_LEDS
124 //LEFT 124 RGB_MATRIX_RIGHT_LEDS
125 { { 0xFF }, { 85, 16 }, 0 }, // 1 125 };
126 { { 0xFF }, { 50, 13 }, 0 }, // 2 126#endif
127 { { 0xFF }, { 16, 20 }, 0 }, // 3
128 { { 0xFF }, { 16, 38 }, 0 }, // 4
129 { { 0xFF }, { 50, 48 }, 0 }, // 5
130 { { 0xFF }, { 85, 52 }, 0 }, // 6
131
132 { { 3 | ( 5 << 4 ) }, { 95, 63 }, 1 }, // 7
133 { { 2 | ( 5 << 4 ) }, { 85, 39 }, 0 }, // 8
134 { { 1 | ( 5 << 4 ) }, { 85, 21 }, 0 }, // 9
135 { { 0 | ( 5 << 4 ) }, { 85, 4 }, 0 }, //10
136 { { 0 | ( 4 << 4 ) }, { 68, 02 }, 0 }, //11
137 { { 1 | ( 4 << 4 ) }, { 68, 19 }, 0 }, //12
138 { { 2 | ( 4 << 4 ) }, { 68, 37 }, 0 }, //13
139 { { 3 | ( 4 << 4 ) }, { 80, 58 }, 1 }, //14
140 { { 3 | ( 3 << 4 ) }, { 60, 55 }, 1 }, //15
141 { { 2 | ( 3 << 4 ) }, { 50, 35 }, 0 }, //16
142 { { 1 | ( 3 << 4 ) }, { 50, 13 }, 0 }, //17
143 { { 0 | ( 3 << 4 ) }, { 50, 0 }, 0 }, //18
144 { { 0 | ( 2 << 4 ) }, { 33, 3 }, 0 }, //19
145 { { 1 | ( 2 << 4 ) }, { 33, 20 }, 0 }, //20
146 { { 2 | ( 2 << 4 ) }, { 33, 37 }, 0 }, //21
147 { { 2 | ( 1 << 4 ) }, { 16, 42 }, 0 }, //22
148 { { 1 | ( 1 << 4 ) }, { 16, 24 }, 0 }, //23
149 { { 0 | ( 1 << 4 ) }, { 16, 7 }, 0 }, //24
150 { { 0 | ( 0 << 4 ) }, { 0, 7 }, 1 }, //25
151 { { 1 | ( 0 << 4 ) }, { 0, 24 }, 1 }, //26
152 { { 2 | ( 0 << 4 ) }, { 0, 41 }, 1 }, //27
153
154 //RIGHT
155 { { 0xFF }, { 139, 16 }, 0 }, // 1
156 { { 0xFF }, { 174, 13 }, 0 }, // 2
157 { { 0xFF }, { 208, 20 }, 0 }, // 3
158 { { 0xFF }, { 208, 38 }, 0 }, // 4
159 { { 0xFF }, { 174, 48 }, 0 }, // 5
160 { { 0xFF }, { 139, 52 }, 0 }, // 6
161
162 { { 7 | ( 5 << 4 ) }, { 129, 63 }, 1 }, // 7
163 { { 6 | ( 5 << 4 ) }, { 139, 39 }, 0 }, // 8
164 { { 5 | ( 5 << 4 ) }, { 139, 21 }, 0 }, // 9
165 { { 4 | ( 5 << 4 ) }, { 139, 4 }, 0 }, //10
166 { { 4 | ( 4 << 4 ) }, { 156, 02 }, 0 }, //11
167 { { 5 | ( 4 << 4 ) }, { 156, 19 }, 0 }, //12
168 { { 6 | ( 4 << 4 ) }, { 156, 37 }, 0 }, //13
169 { { 7 | ( 4 << 4 ) }, { 144, 58 }, 1 }, //14
170 { { 7 | ( 3 << 4 ) }, { 164, 55 }, 1 }, //15
171 { { 6 | ( 3 << 4 ) }, { 174, 35 }, 0 }, //16
172 { { 5 | ( 3 << 4 ) }, { 174, 13 }, 0 }, //17
173 { { 4 | ( 3 << 4 ) }, { 174, 0 }, 0 }, //18
174 { { 4 | ( 2 << 4 ) }, { 191, 3 }, 0 }, //19
175 { { 5 | ( 2 << 4 ) }, { 191, 20 }, 0 }, //20
176 { { 6 | ( 2 << 4 ) }, { 191, 37 }, 0 }, //21
177 { { 6 | ( 1 << 4 ) }, { 208, 42 }, 0 }, //22
178 { { 5 | ( 1 << 4 ) }, { 208, 24 }, 0 }, //23
179 { { 4 | ( 1 << 4 ) }, { 208, 7 }, 0 }, //24
180 { { 4 | ( 0 << 4 ) }, { 224, 7 }, 1 }, //25
181 { { 5 | ( 0 << 4 ) }, { 224, 24 }, 1 }, //26
182 { { 6 | ( 0 << 4 ) }, { 224, 41 }, 1 }, //27
183
184 };
185 127
186#endif 128#endif
187void matrix_init_kb(void) { 129void matrix_init_kb(void) {
diff --git a/keyboards/crkbd/rev1/rules.mk b/keyboards/crkbd/rev1/rules.mk
index 6028b5a5b..f12849f98 100644
--- a/keyboards/crkbd/rev1/rules.mk
+++ b/keyboards/crkbd/rev1/rules.mk
@@ -1,3 +1,9 @@
1RGB_MATRIX_SPLIT_RIGHT = no # if no, order LEDs for left hand, if yes, order LEDs for right hand
2
3ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes)
4 OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT
5endif
6
1SRC += rev1/matrix.c 7SRC += rev1/matrix.c
2SRC += rev1/split_util.c 8SRC += rev1/split_util.c
3SRC += rev1/split_scomm.c 9SRC += rev1/split_scomm.c