dp60: move RGB Matrix LED config to data driven (#24022)

This commit is contained in:
Ryan 2024-07-13 23:40:36 +10:00 committed by GitHub
parent 2908f0b846
commit 875eb43a28
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 152 additions and 129 deletions

View file

@ -18,8 +18,7 @@
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define DIODE_DIRECTION COL2ROW
#define MATRIX_COLS 14
/*
* Feature disable options
@ -35,5 +34,3 @@
//rgb matrix setting
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
#define RGB_MATRIX_LED_COUNT 72

View file

@ -24,135 +24,83 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
// 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, C1_9, C3_10, C4_10}, // RGB101
{0, C1_10, C2_10, C4_11}, // RGB102
{0, C1_11, C2_11, C3_11}, // RGB103
{0, C1_12, C2_12, C3_12}, // RGB104
{0, C1_13, C2_13, C3_13}, // RGB105
{0, C1_14, C2_14, C3_14}, // RGB106
{0, C1_15, C2_15, C3_15}, // RGB107
{1, C5_1, C4_1, C6_1}, // RGB108
{1, C1_1, C3_2, C4_2}, // RGB109
{1, C1_2, C2_2, C4_3}, // RGB1010
{1, C1_3, C2_3, C3_3}, // RGB1011
{1, C1_4, C2_4, C3_4}, // RGB1012
{1, C1_5, C2_5, C3_5}, // RGB1013
{1, C1_6, C2_6, C3_6}, // RGB1014
{1, C1_7, C2_7, C3_7}, // RGB1015-2
{1, C1_8, C2_8, C3_8}, // RGB1015
{0, C5_1, C4_1, C6_1},
{0, C5_8, C4_8, C6_8},
{0, C5_9, C4_9, C6_9}, // RGB201
{0, C5_16, C4_16, C6_16}, // 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, C1_16, C2_16, C3_16}, // RGB207
{1, C5_8, C4_8, C6_8}, // 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
{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},
// 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, C5_1, C4_1, C6_1}, // RGB301
{0, C5_8, C4_8, C6_8}, // RGB302
{0, C1_1, C3_2, C4_2}, // RGB303
{0, C9_13, C8_13, C7_13}, // RGB304
{0, C9_14, C8_14, C7_14}, // RGB305
{0, C9_15, C8_15, C6_14}, // RGB306
{0, C9_16, C7_15, C6_15}, // RGB307
{1, C1_9, C3_10, C4_10}, // 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, C9_8, C7_7, C6_7}, // RGB3013
{0, C5_9, C4_9, C6_9},
{0, C5_16, C4_16, C6_16},
{0, C9_1, C8_1, C7_1}, // RGB401-2
{0, C9_2, C8_2, C7_2}, // RGB401
{0, C9_3, C8_3, C7_3}, // RGB4014
{0, C9_4, C8_4, C7_4}, // RGB402
{0, C1_2, C2_2, C4_3}, // RGB403
{0, C1_3, C2_3, C3_3}, // RGB404
{0, C1_4, C2_4, C3_4}, // RGB405
{0, C1_5, C2_5, C3_5}, // RGB406
{0, C1_6, C2_6, C3_6}, // RGB407
{1, C5_9, C4_9, C6_9}, // RGB408
{1, C5_16, C4_16, C6_16}, // 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, C1_15, C2_15, C3_15}, // RGB4012-2
{1, C1_16, C2_16, C3_16}, // RGB4013
{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},
// 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_8, C7_7, C6_7}, // RGB501
{0, C9_7, C8_7, C6_6}, // RGB502
{0, C9_6, C8_6, C7_6}, // RGB503
{0, C9_5, C8_5, C7_5}, // RGBSP1
{0, C1_8, C2_8, C3_8}, // RGB506-2
{0, C1_7, C2_7, C3_7}, // RGB506-3
{1, C9_12, C8_12, C7_12}, // RGBSP2
{1, C9_13, C8_13, C7_13}, // RGB507
{1, C9_14, C8_14, C7_14}, // RGB508
{1, C9_15, C8_15, C6_14}, // RGB509
{1, C9_16, C7_15, C6_15} // RGB5010
};
led_config_t g_led_config = {
{
{ 0, 1, 2, 3, 4, 5, 6, 36, 37, 38, 39, 40, 41, 42},
{ 8, 9, 10, 11, 12, 13, 7, 45, 46, 47, 48, 49, 50, 51},
{ 26,27, 18, 14, 15, 16, 17, 54, 55, 56, 57, 58, 59, 53},
{ 29,30, 31, 19, 20, 21, 22, 23, 62, 63, 64, 65, 66, 61},
{ 35,34, 33, NO_LED, NO_LED, NO_LED, 24, 44, NO_LED, NO_LED, 68, 69, 70, 71},
},
{
{ 32, 32},{ 48, 48},{ 64, 48},{ 80, 48},{ 96, 48},{112, 48},{ 96, 64},{ 96, 64},
{ 0, 32},{ 16, 32},
{ 0, 48},{ 0, 48},{ 16, 48},{ 32, 48},{ 64, 64},{ 32, 64},{ 16, 64},{ 0, 64},
{ 0, 0},{ 16, 0},{ 32, 0},{ 48, 0},{ 64, 0},{ 80, 0},{ 96, 0},{ 96, 16},
{ 0, 16},{ 16, 16},
{ 32, 16},{ 48, 16},{ 64, 16},{ 80, 16},{ 48, 32},{ 64, 32},{ 80, 32},{ 96, 32},
{128, 0},{144, 0},{160, 0},{176, 0},{192, 0},{208, 0},{216, 0},{224, 0},
{112, 0},{128, 16},
{144, 16},{160, 16},{176, 16},{192, 16},{208, 16},{224, 16},{224, 32},{216, 32},
{128, 32},{144, 32},{160, 32},{176, 32},{192, 32},{208, 32},{208, 48},{224, 48},
{128, 48},{144, 48},
{160, 48},{176, 48},{192, 48},{142, 64},{160, 64},{176, 64},{208, 64},{224, 64}
},
{
4, 4, 4, 4, 4, 4, 4, 4,
1, 4,
4, 4, 1, 1, 1, 4, 4, 4,
1, 4, 4, 4, 4, 4, 4, 4,
1, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 1, 1,
4, 4,
4, 4, 4, 4, 4, 1, 1, 1,
4, 4, 4, 4, 4, 4, 4, 1,
1, 4,
4, 4, 4, 4, 1, 1, 1, 1,
}
};
#endif
#ifdef WEBUSB_ENABLE

View file

@ -60,7 +60,85 @@
"pixel_flow": true,
"pixel_fractal": true
},
"driver": "is31fl3731"
"driver": "is31fl3731",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
{"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
{"matrix": [0, 6], "x": 96, "y": 0, "flags": 4},
{"matrix": [4, 7], "x": 112, "y": 0, "flags": 4},
{"matrix": [0, 7], "x": 128, "y": 0, "flags": 4},
{"matrix": [0, 8], "x": 144, "y": 0, "flags": 4},
{"matrix": [0, 9], "x": 160, "y": 0, "flags": 4},
{"matrix": [0, 10], "x": 176, "y": 0, "flags": 4},
{"matrix": [0, 11], "x": 192, "y": 0, "flags": 4},
{"matrix": [0, 12], "x": 208, "y": 0, "flags": 1},
{"x": 216, "y": 0, "flags": 1},
{"matrix": [0, 13], "x": 224, "y": 0, "flags": 1},
{"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
{"matrix": [1, 1], "x": 24, "y": 16, "flags": 4},
{"matrix": [1, 2], "x": 40, "y": 16, "flags": 4},
{"matrix": [1, 3], "x": 56, "y": 16, "flags": 4},
{"matrix": [1, 4], "x": 72, "y": 16, "flags": 4},
{"matrix": [1, 5], "x": 88, "y": 16, "flags": 4},
{"matrix": [1, 6], "x": 104, "y": 16, "flags": 4},
{"matrix": [1, 7], "x": 120, "y": 16, "flags": 4},
{"matrix": [1, 8], "x": 136, "y": 16, "flags": 4},
{"matrix": [1, 9], "x": 152, "y": 16, "flags": 4},
{"matrix": [1, 10], "x": 168, "y": 16, "flags": 4},
{"matrix": [1, 11], "x": 184, "y": 16, "flags": 4},
{"matrix": [1, 12], "x": 200, "y": 16, "flags": 4},
{"matrix": [1, 13], "x": 220, "y": 16, "flags": 1},
{"matrix": [2, 0], "x": 6, "y": 32, "flags": 1},
{"matrix": [2, 1], "x": 28, "y": 32, "flags": 4},
{"matrix": [2, 2], "x": 44, "y": 32, "flags": 4},
{"matrix": [2, 3], "x": 60, "y": 32, "flags": 4},
{"matrix": [2, 4], "x": 76, "y": 32, "flags": 4},
{"matrix": [2, 5], "x": 92, "y": 32, "flags": 4},
{"matrix": [2, 6], "x": 108, "y": 32, "flags": 4},
{"matrix": [2, 7], "x": 124, "y": 32, "flags": 4},
{"matrix": [2, 8], "x": 140, "y": 32, "flags": 4},
{"matrix": [2, 9], "x": 156, "y": 32, "flags": 4},
{"matrix": [2, 10], "x": 172, "y": 32, "flags": 4},
{"matrix": [2, 11], "x": 188, "y": 32, "flags": 4},
{"matrix": [2, 12], "x": 204, "y": 32, "flags": 4},
{"x": 222, "y": 24, "flags": 1},
{"matrix": [2, 13], "x": 214, "y": 32, "flags": 1},
{"matrix": [3, 0], "x": 2, "y": 48, "flags": 1},
{"x": 10, "y": 48, "flags": 1},
{"matrix": [3, 1], "x": 20, "y": 48, "flags": 4},
{"matrix": [3, 2], "x": 36, "y": 48, "flags": 4},
{"matrix": [3, 3], "x": 52, "y": 48, "flags": 4},
{"matrix": [3, 4], "x": 68, "y": 48, "flags": 4},
{"matrix": [3, 5], "x": 84, "y": 48, "flags": 4},
{"matrix": [3, 6], "x": 100, "y": 48, "flags": 4},
{"matrix": [3, 7], "x": 116, "y": 48, "flags": 4},
{"matrix": [3, 8], "x": 132, "y": 48, "flags": 4},
{"matrix": [3, 9], "x": 148, "y": 48, "flags": 4},
{"matrix": [3, 10], "x": 164, "y": 48, "flags": 4},
{"matrix": [3, 11], "x": 180, "y": 48, "flags": 4},
{"matrix": [3, 12], "x": 202, "y": 48, "flags": 1},
{"x": 210, "y": 48, "flags": 1},
{"matrix": [3, 13], "x": 224, "y": 48, "flags": 1},
{"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
{"matrix": [4, 1], "x": 22, "y": 64, "flags": 1},
{"matrix": [4, 2], "x": 42, "y": 64, "flags": 1},
{"x": 60, "y": 64, "flags": 2},
{"matrix": [4, 6], "x": 102, "y": 64, "flags": 4},
{"x": 112, "y": 64, "flags": 4},
{"x": 144, "y": 64, "flags": 2},
{"matrix": [4, 10], "x": 162, "y": 64, "flags": 1},
{"matrix": [4, 11], "x": 182, "y": 64, "flags": 1},
{"matrix": [4, 12], "x": 202, "y": 64, "flags": 1},
{"matrix": [4, 13], "x": 222, "y": 64, "flags": 1}
]
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",