]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/planck/light/light.c
rgb_led struct conversion (aka: Per led (key) type rgb matrix effects - part 2) ...
[qmk_firmware.git] / keyboards / planck / light / light.c
index 178d28274c43884112a1c712c84958b0522b5c08..896ec44587c69cc5c2bf074159a7932b17956f72 100644 (file)
@@ -77,65 +77,24 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
     {1, C9_14, C8_14, C7_14}
 };
 
-rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
-
-    /*{row | col << 4}
-      |             {x=0..224, y=0..64}
-      |              |                 flags
-      |              |                 | */
-    {{0|(0<<4)},   {20.36*0, 21.33*0}, 1},
-    {{0|(1<<4)},   {20.36*1, 21.33*0}, 4},
-    {{0|(2<<4)},   {20.36*2, 21.33*0}, 4},
-    {{0|(3<<4)},   {20.36*3, 21.33*0}, 4},
-    {{0|(4<<4)},   {20.36*4, 21.33*0}, 4},
-    {{0|(5<<4)},   {20.36*5, 21.33*0}, 4},
-    {{0|(6<<4)},   {20.36*6, 21.33*0}, 4},
-    {{0|(7<<4)},   {20.36*7, 21.33*0}, 4},
-    {{0|(8<<4)},   {20.36*8, 21.33*0}, 4},
-    {{0|(9<<4)},   {20.36*9, 21.33*0}, 4},
-    {{0|(10<<4)},  {20.36*10,21.33*0}, 4},
-    {{0|(11<<4)},  {20.36*11,21.33*0}, 1},
-
-    {{1|(0<<4)},   {20.36*0, 21.33*1}, 1},
-    {{1|(1<<4)},   {20.36*1, 21.33*1}, 4},
-    {{1|(2<<4)},   {20.36*2, 21.33*1}, 4},
-    {{1|(3<<4)},   {20.36*3, 21.33*1}, 4},
-    {{1|(4<<4)},   {20.36*4, 21.33*1}, 4},
-    {{1|(5<<4)},   {20.36*5, 21.33*1}, 4},
-    {{1|(6<<4)},   {20.36*6, 21.33*1}, 4},
-    {{1|(7<<4)},   {20.36*7, 21.33*1}, 4},
-    {{1|(8<<4)},   {20.36*8, 21.33*1}, 4},
-    {{1|(9<<4)},   {20.36*9, 21.33*1}, 4},
-    {{1|(10<<4)},  {20.36*10,21.33*1}, 4},
-    {{1|(11<<4)},  {20.36*11,21.33*1}, 1},
-
-    {{2|(0<<4)},   {20.36*0, 21.33*2}, 1},
-    {{2|(1<<4)},   {20.36*1, 21.33*2}, 4},
-    {{2|(2<<4)},   {20.36*2, 21.33*2}, 4},
-    {{2|(3<<4)},   {20.36*3, 21.33*2}, 4},
-    {{2|(4<<4)},   {20.36*4, 21.33*2}, 4},
-    {{2|(5<<4)},   {20.36*5, 21.33*2}, 4},
-    {{2|(6<<4)},   {20.36*6, 21.33*2}, 4},
-    {{2|(7<<4)},   {20.36*7, 21.33*2}, 4},
-    {{2|(8<<4)},   {20.36*8, 21.33*2}, 4},
-    {{2|(9<<4)},   {20.36*9, 21.33*2}, 4},
-    {{2|(10<<4)},  {20.36*10,21.33*2}, 4},
-    {{2|(11<<4)},  {20.36*11,21.33*2}, 1},
-
-    {{3|(0<<4)},   {20.36*0, 21.33*3}, 1},
-    {{3|(1<<4)},   {20.36*1, 21.33*3}, 1},
-    {{3|(2<<4)},   {20.36*2, 21.33*3}, 1},
-    {{3|(3<<4)},   {20.36*3, 21.33*3}, 1},
-    {{3|(4<<4)},   {20.36*4, 21.33*3}, 1},
-    {{3|(5<<4)},   {20.36*5, 21.33*3}, 4},
-    {{3|(5<<4)},   {20.36*5.5,21.33*3}, 4},
-    {{3|(6<<4)},   {20.36*6, 21.33*3}, 4},
-    {{3|(7<<4)},   {20.36*7, 21.33*3}, 1},
-    {{3|(8<<4)},   {20.36*8, 21.33*3}, 1},
-    {{3|(9<<4)},   {20.36*9, 21.33*3}, 1},
-    {{3|(10<<4)},  {20.36*10,21.33*3}, 1},
-    {{3|(11<<4)},  {20.36*11,21.33*3}, 1}
-};
+led_config_t g_led_config = { {
+    {   0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11 },
+    {  12,  13,  14,  15,  16,  17,  18,  19,  20,  21,  22,  23 },
+    {  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,  35 },
+    {  36,  37,  38,  39,  40,  41,  43,  44,  45,  46,  47,  48 }
+}, {
+    {   0,   0 }, {  20,   0 }, {  40,   0 }, {  61,   0 }, {  81,   0 }, { 101,   0 }, { 122,   0 }, { 142,   0 }, { 162,   0 }, { 183,   0 }, { 203,   0 }, { 223,   0 },
+    {   0,  21 }, {  20,  21 }, {  40,  21 }, {  61,  21 }, {  81,  21 }, { 101,  21 }, { 122,  21 }, { 142,  21 }, { 162,  21 }, { 183,  21 }, { 203,  21 }, { 223,  21 },
+    {   0,  42 }, {  20,  42 }, {  40,  42 }, {  61,  42 }, {  81,  42 }, { 101,  42 }, { 122,  42 }, { 142,  42 }, { 162,  42 }, { 183,  42 }, { 203,  42 }, { 223,  42 },
+    {   0,  63 }, {  20,  63 }, {  40,  63 }, {  61,  63 }, {  81,  63 }, { 101,  63 }, { 111,  63 }, { 122,  63 }, { 142,  63 }, { 162,  63 }, { 183,  63 }, { 203,  63 },
+    { 223,  63 }
+}, {
+    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+    1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1,
+    1
+} };
 
 void matrix_init_kb(void) {
 
@@ -151,6 +110,16 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record)
     return process_record_user(keycode, record);
 }
 
+uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) {
+    // Spacebar has 2 leds 41 & 42, so add 42 to the array here, and 41 will be added
+    // by the default lookup code that runs after this
+    if (row == 3 && column == 5) {
+        led_i[0] = 42;
+        return 1;
+    }
+    return 0;
+}
+
 void matrix_scan_kb(void)
 {
     matrix_scan_user();