]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
[Keyboard] crkbd: compile time hand-dependent rgb_matrix LED declarations (#5657)
authorLen Trigg <lenbok@gmail.com>
Sat, 20 Apr 2019 06:33:07 +0000 (18:33 +1200)
committerDrashna Jaelre <drashna@live.com>
Sat, 20 Apr 2019 06:33:07 +0000 (23:33 -0700)
Set RGB_MATRIX_SPLIT_RIGHT=yes when flashing the right hand side of the
keyboard.

keyboards/crkbd/rev1/rev1.c
keyboards/crkbd/rev1/rules.mk

index a0bc4b4c21b6468005422dec69131468410a2454..0104adf15137742341325eb4a0fe7c26c46439b7 100644 (file)
@@ -55,133 +55,75 @@ void led_set_kb(uint8_t usb_led) {
  *      |                    {x=0..224,     y=0..64} physical layout
  *      |                            |           |     modifier
  *      |                            |           |   */
-  const rgb_led g_rgb_leds_left[27] = {
-    //LEFT
-    { { 0xFF           }, {  85, 16 }, 0 }, // 1
-    { { 0xFF           }, {  50, 13 }, 0 }, // 2
-    { { 0xFF           }, {  16, 20 }, 0 }, // 3
-    { { 0xFF           }, {  16, 38 }, 0 }, // 4
-    { { 0xFF           }, {  50, 48 }, 0 }, // 5
-    { { 0xFF           }, {  85, 52 }, 0 }, // 6
-
-    { { 3 | ( 5 << 4 ) }, {  95, 63 }, 1 }, // 7
-    { { 2 | ( 5 << 4 ) }, {  85, 39 }, 0 }, // 8
-    { { 1 | ( 5 << 4 ) }, {  85, 21 }, 0 }, // 9
-    { { 0 | ( 5 << 4 ) }, {  85,  4 }, 0 }, //10
-    { { 0 | ( 4 << 4 ) }, {  68, 02 }, 0 }, //11
-    { { 1 | ( 4 << 4 ) }, {  68, 19 }, 0 }, //12
-    { { 2 | ( 4 << 4 ) }, {  68, 37 }, 0 }, //13
-    { { 3 | ( 4 << 4 ) }, {  80, 58 }, 1 }, //14
-    { { 3 | ( 3 << 4 ) }, {  60, 55 }, 1 }, //15
-    { { 2 | ( 3 << 4 ) }, {  50, 35 }, 0 }, //16
-    { { 1 | ( 3 << 4 ) }, {  50, 13 }, 0 }, //17
-    { { 0 | ( 3 << 4 ) }, {  50,  0 }, 0 }, //18
-    { { 0 | ( 2 << 4 ) }, {  33,  3 }, 0 }, //19
-    { { 1 | ( 2 << 4 ) }, {  33, 20 }, 0 }, //20
-    { { 2 | ( 2 << 4 ) }, {  33, 37 }, 0 }, //21
-    { { 2 | ( 1 << 4 ) }, {  16, 42 }, 0 }, //22
-    { { 1 | ( 1 << 4 ) }, {  16, 24 }, 0 }, //23
-    { { 0 | ( 1 << 4 ) }, {  16,  7 }, 0 }, //24
-    { { 0 | ( 0 << 4 ) }, {   0,  7 }, 1 }, //25
-    { { 1 | ( 0 << 4 ) }, {   0, 24 }, 1 }, //26
-    { { 2 | ( 0 << 4 ) }, {   0, 41 }, 1 }, //27
-  };
-  const rgb_led g_rgb_leds_right[27] = {
-    //RIGHT
-    { { 0xFF           }, { 139, 16 }, 0 }, // 1
-    { { 0xFF           }, { 174, 13 }, 0 }, // 2
-    { { 0xFF           }, { 208, 20 }, 0 }, // 3
-    { { 0xFF           }, { 208, 38 }, 0 }, // 4
-    { { 0xFF           }, { 174, 48 }, 0 }, // 5
-    { { 0xFF           }, { 139, 52 }, 0 }, // 6
-
-    { { 7 | ( 5 << 4 ) }, { 129, 63 }, 1 }, // 7
-    { { 6 | ( 5 << 4 ) }, { 139, 39 }, 0 }, // 8
-    { { 5 | ( 5 << 4 ) }, { 139, 21 }, 0 }, // 9
-    { { 4 | ( 5 << 4 ) }, { 139,  4 }, 0 }, //10
-    { { 4 | ( 4 << 4 ) }, { 156, 02 }, 0 }, //11
-    { { 5 | ( 4 << 4 ) }, { 156, 19 }, 0 }, //12
-    { { 6 | ( 4 << 4 ) }, { 156, 37 }, 0 }, //13
-    { { 7 | ( 4 << 4 ) }, { 144, 58 }, 1 }, //14
-    { { 7 | ( 3 << 4 ) }, { 164, 55 }, 1 }, //15
-    { { 6 | ( 3 << 4 ) }, { 174, 35 }, 0 }, //16
-    { { 5 | ( 3 << 4 ) }, { 174, 13 }, 0 }, //17
-    { { 4 | ( 3 << 4 ) }, { 174,  0 }, 0 }, //18
-    { { 4 | ( 2 << 4 ) }, { 191,  3 }, 0 }, //19
-    { { 5 | ( 2 << 4 ) }, { 191, 20 }, 0 }, //20
-    { { 6 | ( 2 << 4 ) }, { 191, 37 }, 0 }, //21
-    { { 6 | ( 1 << 4 ) }, { 208, 42 }, 0 }, //22
-    { { 5 | ( 1 << 4 ) }, { 208, 24 }, 0 }, //23
-    { { 4 | ( 1 << 4 ) }, { 208,  7 }, 0 }, //24
-    { { 4 | ( 0 << 4 ) }, { 224,  7 }, 1 }, //25
-    { { 5 | ( 0 << 4 ) }, { 224, 24 }, 1 }, //26
-    { { 6 | ( 0 << 4 ) }, { 224, 41 }, 1 }, //27
-
-  };
-
-  const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
-
-    //LEFT
-    { { 0xFF           }, {  85, 16 }, 0 }, // 1
-    { { 0xFF           }, {  50, 13 }, 0 }, // 2
-    { { 0xFF           }, {  16, 20 }, 0 }, // 3
-    { { 0xFF           }, {  16, 38 }, 0 }, // 4
-    { { 0xFF           }, {  50, 48 }, 0 }, // 5
-    { { 0xFF           }, {  85, 52 }, 0 }, // 6
-
-    { { 3 | ( 5 << 4 ) }, {  95, 63 }, 1 }, // 7
-    { { 2 | ( 5 << 4 ) }, {  85, 39 }, 0 }, // 8
-    { { 1 | ( 5 << 4 ) }, {  85, 21 }, 0 }, // 9
-    { { 0 | ( 5 << 4 ) }, {  85,  4 }, 0 }, //10
-    { { 0 | ( 4 << 4 ) }, {  68, 02 }, 0 }, //11
-    { { 1 | ( 4 << 4 ) }, {  68, 19 }, 0 }, //12
-    { { 2 | ( 4 << 4 ) }, {  68, 37 }, 0 }, //13
-    { { 3 | ( 4 << 4 ) }, {  80, 58 }, 1 }, //14
-    { { 3 | ( 3 << 4 ) }, {  60, 55 }, 1 }, //15
-    { { 2 | ( 3 << 4 ) }, {  50, 35 }, 0 }, //16
-    { { 1 | ( 3 << 4 ) }, {  50, 13 }, 0 }, //17
-    { { 0 | ( 3 << 4 ) }, {  50,  0 }, 0 }, //18
-    { { 0 | ( 2 << 4 ) }, {  33,  3 }, 0 }, //19
-    { { 1 | ( 2 << 4 ) }, {  33, 20 }, 0 }, //20
-    { { 2 | ( 2 << 4 ) }, {  33, 37 }, 0 }, //21
-    { { 2 | ( 1 << 4 ) }, {  16, 42 }, 0 }, //22
-    { { 1 | ( 1 << 4 ) }, {  16, 24 }, 0 }, //23
-    { { 0 | ( 1 << 4 ) }, {  16,  7 }, 0 }, //24
-    { { 0 | ( 0 << 4 ) }, {   0,  7 }, 1 }, //25
-    { { 1 | ( 0 << 4 ) }, {   0, 24 }, 1 }, //26
-    { { 2 | ( 0 << 4 ) }, {   0, 41 }, 1 }, //27
-
-    //RIGHT
-    { { 0xFF           }, { 139, 16 }, 0 }, // 1
-    { { 0xFF           }, { 174, 13 }, 0 }, // 2
-    { { 0xFF           }, { 208, 20 }, 0 }, // 3
-    { { 0xFF           }, { 208, 38 }, 0 }, // 4
-    { { 0xFF           }, { 174, 48 }, 0 }, // 5
-    { { 0xFF           }, { 139, 52 }, 0 }, // 6
-
-    { { 7 | ( 5 << 4 ) }, { 129, 63 }, 1 }, // 7
-    { { 6 | ( 5 << 4 ) }, { 139, 39 }, 0 }, // 8
-    { { 5 | ( 5 << 4 ) }, { 139, 21 }, 0 }, // 9
-    { { 4 | ( 5 << 4 ) }, { 139,  4 }, 0 }, //10
-    { { 4 | ( 4 << 4 ) }, { 156, 02 }, 0 }, //11
-    { { 5 | ( 4 << 4 ) }, { 156, 19 }, 0 }, //12
-    { { 6 | ( 4 << 4 ) }, { 156, 37 }, 0 }, //13
-    { { 7 | ( 4 << 4 ) }, { 144, 58 }, 1 }, //14
-    { { 7 | ( 3 << 4 ) }, { 164, 55 }, 1 }, //15
-    { { 6 | ( 3 << 4 ) }, { 174, 35 }, 0 }, //16
-    { { 5 | ( 3 << 4 ) }, { 174, 13 }, 0 }, //17
-    { { 4 | ( 3 << 4 ) }, { 174,  0 }, 0 }, //18
-    { { 4 | ( 2 << 4 ) }, { 191,  3 }, 0 }, //19
-    { { 5 | ( 2 << 4 ) }, { 191, 20 }, 0 }, //20
-    { { 6 | ( 2 << 4 ) }, { 191, 37 }, 0 }, //21
-    { { 6 | ( 1 << 4 ) }, { 208, 42 }, 0 }, //22
-    { { 5 | ( 1 << 4 ) }, { 208, 24 }, 0 }, //23
-    { { 4 | ( 1 << 4 ) }, { 208,  7 }, 0 }, //24
-    { { 4 | ( 0 << 4 ) }, { 224,  7 }, 1 }, //25
-    { { 5 | ( 0 << 4 ) }, { 224, 24 }, 1 }, //26
-    { { 6 | ( 0 << 4 ) }, { 224, 41 }, 1 }, //27
-
-  };
+#define RGB_MATRIX_LEFT_LEDS  \
+    { { 0xFF           }, {  85, 16 }, 0 }, /*  1 */ \
+    { { 0xFF           }, {  50, 13 }, 0 }, /*  2 */ \
+    { { 0xFF           }, {  16, 20 }, 0 }, /*  3 */ \
+    { { 0xFF           }, {  16, 38 }, 0 }, /*  4 */ \
+    { { 0xFF           }, {  50, 48 }, 0 }, /*  5 */ \
+    { { 0xFF           }, {  85, 52 }, 0 }, /*  6 */ \
+    { { 3 | ( 5 << 4 ) }, {  95, 63 }, 1 }, /*  7 */ \
+    { { 2 | ( 5 << 4 ) }, {  85, 39 }, 0 }, /*  8 */ \
+    { { 1 | ( 5 << 4 ) }, {  85, 21 }, 0 }, /*  9 */ \
+    { { 0 | ( 5 << 4 ) }, {  85,  4 }, 0 }, /* 10 */ \
+    { { 0 | ( 4 << 4 ) }, {  68, 02 }, 0 }, /* 11 */ \
+    { { 1 | ( 4 << 4 ) }, {  68, 19 }, 0 }, /* 12 */ \
+    { { 2 | ( 4 << 4 ) }, {  68, 37 }, 0 }, /* 13 */ \
+    { { 3 | ( 4 << 4 ) }, {  80, 58 }, 1 }, /* 14 */ \
+    { { 3 | ( 3 << 4 ) }, {  60, 55 }, 1 }, /* 15 */ \
+    { { 2 | ( 3 << 4 ) }, {  50, 35 }, 0 }, /* 16 */ \
+    { { 1 | ( 3 << 4 ) }, {  50, 13 }, 0 }, /* 17 */ \
+    { { 0 | ( 3 << 4 ) }, {  50,  0 }, 0 }, /* 18 */ \
+    { { 0 | ( 2 << 4 ) }, {  33,  3 }, 0 }, /* 19 */ \
+    { { 1 | ( 2 << 4 ) }, {  33, 20 }, 0 }, /* 20 */ \
+    { { 2 | ( 2 << 4 ) }, {  33, 37 }, 0 }, /* 21 */ \
+    { { 2 | ( 1 << 4 ) }, {  16, 42 }, 0 }, /* 22 */ \
+    { { 1 | ( 1 << 4 ) }, {  16, 24 }, 0 }, /* 23 */ \
+    { { 0 | ( 1 << 4 ) }, {  16,  7 }, 0 }, /* 24 */ \
+    { { 0 | ( 0 << 4 ) }, {   0,  7 }, 1 }, /* 25 */ \
+    { { 1 | ( 0 << 4 ) }, {   0, 24 }, 1 }, /* 26 */ \
+    { { 2 | ( 0 << 4 ) }, {   0, 41 }, 1 }, /* 27 */
+
+#define RGB_MATRIX_RIGHT_LEDS  \
+    { { 0xFF           }, { 139, 16 }, 0 }, /*  1 */ \
+    { { 0xFF           }, { 174, 13 }, 0 }, /*  2 */ \
+    { { 0xFF           }, { 208, 20 }, 0 }, /*  3 */ \
+    { { 0xFF           }, { 208, 38 }, 0 }, /*  4 */ \
+    { { 0xFF           }, { 174, 48 }, 0 }, /*  5 */ \
+    { { 0xFF           }, { 139, 52 }, 0 }, /*  6 */ \
+    { { 7 | ( 5 << 4 ) }, { 129, 63 }, 1 }, /*  7 */ \
+    { { 6 | ( 5 << 4 ) }, { 139, 39 }, 0 }, /*  8 */ \
+    { { 5 | ( 5 << 4 ) }, { 139, 21 }, 0 }, /*  9 */ \
+    { { 4 | ( 5 << 4 ) }, { 139,  4 }, 0 }, /* 10 */ \
+    { { 4 | ( 4 << 4 ) }, { 156, 02 }, 0 }, /* 11 */ \
+    { { 5 | ( 4 << 4 ) }, { 156, 19 }, 0 }, /* 12 */ \
+    { { 6 | ( 4 << 4 ) }, { 156, 37 }, 0 }, /* 13 */ \
+    { { 7 | ( 4 << 4 ) }, { 144, 58 }, 1 }, /* 14 */ \
+    { { 7 | ( 3 << 4 ) }, { 164, 55 }, 1 }, /* 15 */ \
+    { { 6 | ( 3 << 4 ) }, { 174, 35 }, 0 }, /* 16 */ \
+    { { 5 | ( 3 << 4 ) }, { 174, 13 }, 0 }, /* 17 */ \
+    { { 4 | ( 3 << 4 ) }, { 174,  0 }, 0 }, /* 18 */ \
+    { { 4 | ( 2 << 4 ) }, { 191,  3 }, 0 }, /* 19 */ \
+    { { 5 | ( 2 << 4 ) }, { 191, 20 }, 0 }, /* 20 */ \
+    { { 6 | ( 2 << 4 ) }, { 191, 37 }, 0 }, /* 21 */ \
+    { { 6 | ( 1 << 4 ) }, { 208, 42 }, 0 }, /* 22 */ \
+    { { 5 | ( 1 << 4 ) }, { 208, 24 }, 0 }, /* 23 */ \
+    { { 4 | ( 1 << 4 ) }, { 208,  7 }, 0 }, /* 24 */ \
+    { { 4 | ( 0 << 4 ) }, { 224,  7 }, 1 }, /* 25 */ \
+    { { 5 | ( 0 << 4 ) }, { 224, 24 }, 1 }, /* 26 */ \
+    { { 6 | ( 0 << 4 ) }, { 224, 41 }, 1 }, /* 27 */
+
+#ifdef RGB_MATRIX_SPLIT_RIGHT
+const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
+        RGB_MATRIX_RIGHT_LEDS
+        RGB_MATRIX_LEFT_LEDS
+    };
+#else
+const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
+        RGB_MATRIX_LEFT_LEDS
+        RGB_MATRIX_RIGHT_LEDS
+    };
+#endif
 
 #endif
 void matrix_init_kb(void) {
index 6028b5a5b95aae72cb6bb7ec7955fd13a6b74379..f12849f989dc5008f14ba01855c8d944655c4895 100644 (file)
@@ -1,3 +1,9 @@
+RGB_MATRIX_SPLIT_RIGHT = no  # if no, order LEDs for left hand, if yes, order LEDs for right hand
+
+ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes)
+    OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT
+endif
+
 SRC += rev1/matrix.c
 SRC += rev1/split_util.c
 SRC += rev1/split_scomm.c