1
0
Fork 0
forked from forks/qmk_firmware

matrix/noah: move RGB Matrix LED config to data driven (#24117)

This commit is contained in:
Ryan 2024-07-15 18:41:44 +10:00 committed by GitHub
parent c70c99367a
commit a763dd5bbd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 150 additions and 129 deletions

View file

@ -21,4 +21,3 @@
// rgb matrix setting // rgb matrix setting
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define RGB_MATRIX_LED_COUNT 72

View file

@ -74,6 +74,84 @@
"solid_splash": true, "solid_splash": true,
"solid_multisplash": 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" "driver": "is31fl3731"
}, },
"features": { "features": {

View file

@ -68,139 +68,83 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
* | | G location * | | G location
* | | | B 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}, // RGB201
{0, C1_9, C3_10, C4_10}, {0, C5_9, C4_9, C6_9}, // RGB202
{0, C1_10, C2_10, C4_11}, {0, C9_9, C8_9, C7_9}, // RGB203
{0, C1_11, C2_11, C3_11}, {0, C9_10, C8_10, C7_10}, // RGB204
{0, C1_12, C2_12, C3_12}, {0, C9_11, C8_11, C7_11}, // RGB205
{0, C1_13, C2_13, C3_13}, {0, C9_12, C8_12, C7_12}, // RGB206
{0, C1_14, C2_14, C3_14}, {0, C9_13, C8_13, C7_13}, // RGB207
{0, C1_15, C2_15, C3_15}, {1, C5_1, C4_1, C6_1}, // RGB208
{0, C1_16, C2_16, C3_16}, {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, C9_1, C8_1, C7_1}, // RGB301
{0, C5_16, C4_16, C6_16}, {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_3, C8_3, C7_3}, // RGB401-2
{0, C9_10, C8_10, C7_10}, {0, C9_2, C8_2, C7_2}, // RGB401
{0, C9_11, C8_11, C7_11}, {0, C9_4, C8_4, C7_4}, // RGB4014
{0, C9_12, C8_12, C7_12}, {0, C9_5, C8_5, C7_5}, // RGB402
{0, C9_13, C8_13, C7_13}, {0, C9_6, C8_6, C7_6}, // RGB403
{0, C9_14, C8_14, C7_14}, {0, C1_3, C2_3, C3_3}, // RGB404
{0, C9_15, C8_15, C6_14}, {0, C1_4, C2_4, C3_4}, // RGB405
{0, C9_16, C7_15, C6_15}, {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, C9_7, C8_7, C6_6}, // RGB501
{0, C1_1, C3_2, C4_2}, {0, C9_8, C7_7, C6_7}, // RGB502
{0, C1_2, C2_2, C4_3}, {0, C5_8, C4_8, C6_8}, // RGB503
{0, C1_3, C2_3, C3_3}, {0, C1_8, C2_8, C3_8}, // RGB506
{0, C1_4, C2_4, C3_4}, {0, C1_7, C2_7, C3_7}, // RGB506-2
{0, C1_5, C2_5, C3_5}, {1, C9_12, C8_12, C7_12}, // RGB507
{0, C1_6, C2_6, C3_6}, {1, C9_13, C8_13, C7_13}, // RGB508
{0, C1_7, C2_7, C3_7}, {1, C9_14, C8_14, C7_14}, // RGB5010
{0, C1_8, C2_8, C3_8}, {1, C9_15, C8_15, C6_14}, // RGB5011
{1, C9_16, C7_15, C6_15}, // RGB5012
{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},
}; };
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 #endif
bool process_record_kb(uint16_t keycode, keyrecord_t *record) { bool process_record_kb(uint16_t keycode, keyrecord_t *record) {