From a763dd5bbdd2111d4453a3223c3cdce7c9f769b2 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 15 Jul 2024 18:41:44 +1000 Subject: [PATCH] `matrix/noah`: move RGB Matrix LED config to data driven (#24117) --- keyboards/matrix/noah/config.h | 1 - keyboards/matrix/noah/keyboard.json | 78 +++++++++++ keyboards/matrix/noah/noah.c | 200 ++++++++++------------------ 3 files changed, 150 insertions(+), 129 deletions(-) diff --git a/keyboards/matrix/noah/config.h b/keyboards/matrix/noah/config.h index 74beabaa7ad..2c6e01b01d5 100644 --- a/keyboards/matrix/noah/config.h +++ b/keyboards/matrix/noah/config.h @@ -21,4 +21,3 @@ // rgb matrix setting #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA -#define RGB_MATRIX_LED_COUNT 72 diff --git a/keyboards/matrix/noah/keyboard.json b/keyboards/matrix/noah/keyboard.json index eb13e16aa2b..3ba9be21eb8 100644 --- a/keyboards/matrix/noah/keyboard.json +++ b/keyboards/matrix/noah/keyboard.json @@ -74,6 +74,84 @@ "solid_splash": true, "solid_multisplash": true }, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 202, "y": 0, "flags": 1}, + {"matrix": [4, 14], "x": 224, "y": 0, "flags": 4}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 67, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 205, "y": 16, "flags": 1}, + {"matrix": [4, 11], "x": 224, "y": 16, "flags": 4}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 190, "y": 32, "flags": 4}, + {"x": 207, "y": 24, "flags": 1}, + {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, + {"matrix": [4, 12], "x": 224, "y": 32, "flags": 4}, + + {"matrix": [3, 0], "x": 2, "y": 48, "flags": 1}, + {"x": 9, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 19, "y": 48, "flags": 1}, + {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 63, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 78, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 93, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 108, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 123, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 138, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 153, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 168, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, + {"matrix": [3, 13], "x": 209, "y": 48, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 48, "flags": 4}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [4, 4], "x": 95, "y": 64, "flags": 4}, + {"x": 105, "y": 64, "flags": 4}, + {"matrix": [4, 6], "x": 151, "y": 64, "flags": 1}, + {"matrix": [4, 7], "x": 170, "y": 64, "flags": 1}, + {"matrix": [4, 8], "x": 194, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 209, "y": 64, "flags": 4}, + {"matrix": [4, 10], "x": 224, "y": 64, "flags": 4} + ], "driver": "is31fl3731" }, "features": { diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c index a01d1b11bc1..99f4e063d1f 100644 --- a/keyboards/matrix/noah/noah.c +++ b/keyboards/matrix/noah/noah.c @@ -68,139 +68,83 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { * | | G location * | | | B location * | | | | */ + {0, C1_10, C2_10, C4_11}, // RGB101 + {0, C1_11, C2_11, C3_11}, // RGB102 + {0, C1_12, C2_12, C3_12}, // RGB103 + {0, C1_13, C2_13, C3_13}, // RGB104 + {0, C1_14, C2_14, C3_14}, // RGB105 + {0, C1_15, C2_15, C3_15}, // RGB106 + {0, C1_16, C2_16, C3_16}, // RGB107 + {1, C1_1, C3_2, C4_2}, // RGB108 + {1, C1_2, C2_2, C4_3}, // RGB109 + {1, C1_3, C2_3, C3_3}, // RGB1010 + {1, C1_4, C2_4, C3_4}, // RGB1011 + {1, C1_5, C2_5, C3_5}, // RGB1012 + {1, C1_6, C2_6, C3_6}, // RGB1013 + {1, C1_7, C2_7, C3_7}, // RGB1015 + {1, C1_8, C2_8, C3_8}, // RGB1016 -// left CB - {0, C1_9, C3_10, C4_10}, - {0, C1_10, C2_10, C4_11}, - {0, C1_11, C2_11, C3_11}, - {0, C1_12, C2_12, C3_12}, - {0, C1_13, C2_13, C3_13}, - {0, C1_14, C2_14, C3_14}, - {0, C1_15, C2_15, C3_15}, - {0, C1_16, C2_16, C3_16}, + {0, C1_9, C3_10, C4_10}, // RGB201 + {0, C5_9, C4_9, C6_9}, // RGB202 + {0, C9_9, C8_9, C7_9}, // RGB203 + {0, C9_10, C8_10, C7_10}, // RGB204 + {0, C9_11, C8_11, C7_11}, // RGB205 + {0, C9_12, C8_12, C7_12}, // RGB206 + {0, C9_13, C8_13, C7_13}, // RGB207 + {1, C5_1, C4_1, C6_1}, // RGB208 + {1, C9_1, C8_1, C7_1}, // RGB209 + {1, C9_2, C8_2, C7_2}, // RGB2010 + {1, C9_3, C8_3, C7_3}, // RGB2011 + {1, C9_4, C8_4, C7_4}, // RGB2012 + {1, C9_5, C8_5, C7_5}, // RGB2013 + {1, C9_6, C8_6, C7_6}, // RGB2014 + {1, C5_8, C4_8, C6_8}, // RGB2015 - {0, C5_9, C4_9, C6_9}, - {0, C5_16, C4_16, C6_16}, + {0, C9_1, C8_1, C7_1}, // RGB301 + {0, C1_1, C3_2, C4_2}, // RGB302 + {0, C5_1, C4_1, C6_1}, // RGB303 + {0, C5_16, C4_16, C6_16}, // RGB304 + {0, C1_2, C2_2, C4_3}, // RGB305 + {0, C9_14, C8_14, C7_14}, // RGB306 + {0, C9_15, C8_15, C6_14}, // RGB307 + {0, C9_16, C7_15, C6_15}, // RGB308 + {1, C1_10, C2_10, C4_11}, // RGB309 + {1, C1_11, C2_11, C3_11}, // RGB3010 + {1, C1_12, C2_12, C3_12}, // RGB3011 + {1, C1_13, C2_13, C3_13}, // RGB3012 + {1, C1_14, C2_14, C3_14}, // RGB3014 + {1, C9_7, C8_7, C6_6}, // RGB3013-2 + {1, C1_15, C2_15, C3_15}, // RGB3013 + {1, C9_8, C7_7, C6_7}, // RGB3015 - {0, C9_9, C8_9, C7_9}, - {0, C9_10, C8_10, C7_10}, - {0, C9_11, C8_11, C7_11}, - {0, C9_12, C8_12, C7_12}, - {0, C9_13, C8_13, C7_13}, - {0, C9_14, C8_14, C7_14}, - {0, C9_15, C8_15, C6_14}, - {0, C9_16, C7_15, C6_15}, + {0, C9_3, C8_3, C7_3}, // RGB401-2 + {0, C9_2, C8_2, C7_2}, // RGB401 + {0, C9_4, C8_4, C7_4}, // RGB4014 + {0, C9_5, C8_5, C7_5}, // RGB402 + {0, C9_6, C8_6, C7_6}, // RGB403 + {0, C1_3, C2_3, C3_3}, // RGB404 + {0, C1_4, C2_4, C3_4}, // RGB405 + {0, C1_6, C2_6, C3_6}, // RGB406 + {0, C1_5, C2_5, C3_5}, // RGB407 + {1, C1_9, C3_10, C4_10}, // RGB408 + {1, C5_9, C4_9, C6_9}, // RGB409 + {1, C9_9, C8_9, C7_9}, // RGB4010 + {1, C9_10, C8_10, C7_10}, // RGB4011 + {1, C9_11, C8_11, C7_11}, // RGB4012 + {1, C5_16, C4_16, C6_16}, // RGB4013 + {1, C1_16, C2_16, C3_16}, // RGB4015 -// left CA - {0, C1_1, C3_2, C4_2}, - {0, C1_2, C2_2, C4_3}, - {0, C1_3, C2_3, C3_3}, - {0, C1_4, C2_4, C3_4}, - {0, C1_5, C2_5, C3_5}, - {0, C1_6, C2_6, C3_6}, - {0, C1_7, C2_7, C3_7}, - {0, C1_8, C2_8, C3_8}, - - {0, C5_1, C4_1, C6_1}, - {0, C5_8, C4_8, C6_8}, - - {0, C9_1, C8_1, C7_1}, - {0, C9_2, C8_2, C7_2}, - {0, C9_3, C8_3, C7_3}, - {0, C9_4, C8_4, C7_4}, - {0, C9_5, C8_5, C7_5}, - {0, C9_6, C8_6, C7_6}, - {0, C9_7, C8_7, C6_6}, - {0, C9_8, C7_7, C6_7}, - -// right CA - {1, C1_1, C3_2, C4_2}, - {1, C1_2, C2_2, C4_3}, - {1, C1_3, C2_3, C3_3}, - {1, C1_4, C2_4, C3_4}, - {1, C1_5, C2_5, C3_5}, - {1, C1_6, C2_6, C3_6}, - {1, C1_7, C2_7, C3_7}, - {1, C1_8, C2_8, C3_8}, - - {1, C5_1, C4_1, C6_1}, - {1, C5_8, C4_8, C6_8}, - - {1, C9_1, C8_1, C7_1}, - {1, C9_2, C8_2, C7_2}, - {1, C9_3, C8_3, C7_3}, - {1, C9_4, C8_4, C7_4}, - {1, C9_5, C8_5, C7_5}, - {1, C9_6, C8_6, C7_6}, - {1, C9_7, C8_7, C6_6}, - {1, C9_8, C7_7, C6_7}, -// right CB - {1, C1_9, C3_10, C4_10}, - {1, C1_10, C2_10, C4_11}, - {1, C1_11, C2_11, C3_11}, - {1, C1_12, C2_12, C3_12}, - {1, C1_13, C2_13, C3_13}, - {1, C1_14, C2_14, C3_14}, - {1, C1_15, C2_15, C3_15}, - {1, C1_16, C2_16, C3_16}, - - {1, C5_9, C4_9, C6_9}, - {1, C5_16, C4_16, C6_16}, - - {1, C9_9, C8_9, C7_9}, - {1, C9_10, C8_10, C7_10}, - {1, C9_11, C8_11, C7_11}, - {1, C9_12, C8_12, C7_12}, - {1, C9_13, C8_13, C7_13}, - {1, C9_14, C8_14, C7_14}, - {1, C9_15, C8_15, C6_14}, - {1, C9_16, C7_15, C6_15}, + {0, C9_7, C8_7, C6_6}, // RGB501 + {0, C9_8, C7_7, C6_7}, // RGB502 + {0, C5_8, C4_8, C6_8}, // RGB503 + {0, C1_8, C2_8, C3_8}, // RGB506 + {0, C1_7, C2_7, C3_7}, // RGB506-2 + {1, C9_12, C8_12, C7_12}, // RGB507 + {1, C9_13, C8_13, C7_13}, // RGB508 + {1, C9_14, C8_14, C7_14}, // RGB5010 + {1, C9_15, C8_15, C6_14}, // RGB5011 + {1, C9_16, C7_15, C6_15}, // RGB5012 }; - -led_config_t g_led_config = { - { - { 1, 2, 3, 4, 5, 6, 7, 36, 37, 38, 39, 40, NO_LED, 41}, - { 0, 8, 10, 11, 12, 13, 14, 44, 46, 47, 48, 49, 50, 51}, - { 30, 18, 26, 9, 19, 15, 16, 17, 55, 56, 57, 58, 59, 60}, - { 29, 31, 32, 33, 20, 21, 23, 22, 54, 62, 64, 65, 66, 63}, - { 34, 35, 27, 25, 67, 68, 69, 70, 71, 61, 53, 45, 42, 43}, - }, - { - { 0, 16},{ 0, 0},{ 15, 0},{ 30, 0},{ 45, 0},{ 60, 0},{ 75, 0},{ 90, 0}, - { 20, 16},{ 42, 32}, - { 45, 16},{ 50, 16},{ 65, 16},{ 80, 16},{ 95, 16},{ 70, 32},{ 84, 32},{ 98, 32}, - - { 14, 32},{ 56, 32},{ 65, 48},{ 80, 48},{110, 48},{ 95, 48},{112, 64},{100, 64}, - { 42, 32},{ 38, 64}, - { 0, 32},{ 10, 48},{ 0, 48},{ 20, 48},{ 35, 48},{ 50, 48},{ 0, 64},{ 19, 64}, - - {105, 0},{120, 0},{135, 0},{150, 0},{165, 0},{180, 0},{202, 0},{224, 0}, - {110, 16},{224, 16}, - {125, 16},{140, 16},{155, 16},{172, 16},{187, 16},{202, 16},{210, 32},{224, 32}, - - {125, 48},{112, 32},{126, 32},{140, 32},{154, 32},{168, 32},{182, 32},{224, 48}, - {140, 48},{200, 48}, - {155, 48},{170, 48},{185, 48},{150, 64},{173, 64},{195, 64},{210, 64},{224, 64} - }, - { - 1, 1, 4, 4, 4, 4, 4, 4, - 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, - 1, 1, 1, 4, 4, 4, 1, 1, - - 4, 4, 4, 4, 4, 4, 1, 1, - 4, 1, - 4, 4, 4, 4, 4, 4, 4, 1, - - 4, 4, 4, 4, 4, 4, 4, 1, - 4, 4, - 4, 4, 4, 1, 1, 1, 1, 1, - } -}; - #endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) {