From bc5c1d7bb4fa43f0f9b3c7c0705a0cc1e1911232 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Tue, 27 Dec 2022 17:18:38 +0800 Subject: [PATCH] lotus: Refine LED mapping Generated by led.py, of course. Signed-off-by: Daniel Schaefer --- keyboards/lotus/keymaps/78_ansi/keymap.c | 322 +++++++++++++++-------- keyboards/lotus/keymaps/gridpad/keymap.c | 35 +-- keyboards/lotus/led.py | 4 +- 3 files changed, 236 insertions(+), 125 deletions(-) diff --git a/keyboards/lotus/keymaps/78_ansi/keymap.c b/keyboards/lotus/keymaps/78_ansi/keymap.c index 396cb47ea9..67295a5436 100644 --- a/keyboards/lotus/keymaps/78_ansi/keymap.c +++ b/keyboards/lotus/keymaps/78_ansi/keymap.c @@ -70,118 +70,226 @@ const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { * | | G location * | | | B location * | | | | */ - {0, CS1_SW1, CS2_SW1, CS3_SW1} + // TODO: Probably have to order them by LED ID? + {0, CS1_SW1, CS2_SW1, CS3_SW1}, // LED 3 + {0, CS1_SW2, CS2_SW2, CS3_SW2}, // LED 4 + {0, CS1_SW3, CS2_SW3, CS3_SW3}, // LED 5 + {0, CS1_SW4, CS2_SW4, CS3_SW4}, // LED 6 + {0, CS1_SW5, CS2_SW5, CS3_SW5}, // LED 8 + {0, CS1_SW6, CS2_SW6, CS3_SW6}, // LED 1 + {0, CS1_SW7, CS2_SW7, CS3_SW7}, // LED 9 + {0, CS1_SW8, CS2_SW8, CS3_SW8}, // LED 2 + {0, CS1_SW9, CS2_SW9, CS3_SW9}, // LED 7 + + {0, CS4_SW1, CS5_SW1, CS6_SW1}, // LED 12 + {0, CS4_SW2, CS5_SW2, CS6_SW2}, // LED 13 + {0, CS4_SW3, CS5_SW3, CS6_SW3}, // LED 10 + {0, CS4_SW4, CS5_SW4, CS6_SW4}, // LED 14 + {0, CS4_SW5, CS5_SW5, CS6_SW5}, // LED 15 + {0, CS4_SW6, CS5_SW6, CS6_SW6}, // LED 16 + {0, CS4_SW7, CS5_SW7, CS6_SW7}, // LED 11 + {0, CS4_SW8, CS5_SW8, CS6_SW8}, // LED 17 + {0, CS4_SW9, CS5_SW9, CS6_SW9}, // LED 18 + + {0, CS7_SW1, CS8_SW1, CS9_SW1}, // LED 19 + {0, CS7_SW2, CS8_SW2, CS9_SW2}, // LED 20 + {0, CS7_SW3, CS8_SW3, CS9_SW3}, // LED 21 + {0, CS7_SW4, CS8_SW4, CS9_SW4}, // LED 22 + {0, CS7_SW5, CS8_SW5, CS9_SW5}, // LED 23 + {0, CS7_SW6, CS8_SW6, CS9_SW6}, // LED 24 + {0, CS7_SW7, CS8_SW7, CS9_SW7}, // LED 25 + {0, CS7_SW8, CS8_SW8, CS9_SW8}, // LED 26 + {0, CS7_SW9, CS8_SW9, CS9_SW9}, // LED 27 + + {0, CS10_SW1, CS11_SW1, CS12_SW1}, // LED 28 + {0, CS10_SW2, CS11_SW2, CS12_SW2}, // LED 29 + {0, CS10_SW3, CS11_SW3, CS12_SW3}, // LED 30 + {0, CS10_SW4, CS11_SW4, CS12_SW4}, // LED 31 + {0, CS10_SW5, CS11_SW5, CS12_SW5}, // LED 32 + {0, CS10_SW6, CS11_SW6, CS12_SW6}, // LED 33 + {0, CS10_SW7, CS11_SW7, CS12_SW7}, // LED 34 + {0, CS10_SW8, CS11_SW8, CS12_SW8}, // LED 35 + {0, CS10_SW9, CS11_SW9, CS12_SW9}, // LED 36 + + {0, CS13_SW1, CS14_SW1, CS15_SW1}, // LED 42 + {0, CS13_SW2, CS14_SW2, CS15_SW2}, // LED 37 + {0, CS13_SW3, CS14_SW3, CS15_SW3}, // LED 38 + {0, CS13_SW4, CS14_SW4, CS15_SW4}, // LED 43 + {0, CS13_SW5, CS14_SW5, CS15_SW5}, // LED 44 + {0, CS13_SW6, CS14_SW6, CS15_SW6}, // LED 39 + {0, CS13_SW7, CS14_SW7, CS15_SW7}, // LED 40 + {0, CS13_SW8, CS14_SW8, CS15_SW8}, // LED 45 + {0, CS13_SW9, CS14_SW9, CS15_SW9}, // LED 41 + + {0, CS16_SW1, CS17_SW1, CS18_SW1}, // LED 46 + {0, CS16_SW2, CS17_SW2, CS18_SW2}, // LED 47 + {0, CS16_SW3, CS17_SW3, CS18_SW3}, // LED 48 + + {1, CS19_SW12, CS20_SW12, CS21_SW12}, // LED 49 + {1, CS19_SW13, CS20_SW13, CS21_SW13}, // LED 50 + {1, CS19_SW14, CS20_SW14, CS21_SW14}, // LED 51 + {1, CS19_SW15, CS20_SW15, CS21_SW15}, // LED 52 + {1, CS19_SW16, CS20_SW16, CS21_SW16}, // LED 53 + {1, CS19_SW17, CS20_SW17, CS21_SW17}, // LED 54 + {1, CS19_SW18, CS20_SW18, CS21_SW18}, // LED 55 + {1, CS19_SW19, CS20_SW19, CS21_SW19}, // LED 56 + {1, CS19_SW20, CS20_SW20, CS21_SW20}, // LED 57 + + {1, CS22_SW12, CS23_SW12, CS24_SW12}, // LED 58 + {1, CS22_SW13, CS23_SW13, CS24_SW13}, // LED 59 + {1, CS22_SW14, CS23_SW14, CS24_SW14}, // LED 60 + {1, CS22_SW15, CS23_SW15, CS24_SW15}, // LED 61 + {1, CS22_SW16, CS23_SW16, CS24_SW16}, // LED 62 + {1, CS22_SW17, CS23_SW17, CS24_SW17}, // LED 63 + {1, CS22_SW18, CS23_SW18, CS24_SW18}, // LED 64 + {1, CS22_SW19, CS23_SW19, CS24_SW19}, // LED 65 + {1, CS22_SW20, CS23_SW20, CS24_SW20}, // LED 66 + + {1, CS25_SW12, CS26_SW12, CS27_SW12}, // LED 67 + {1, CS25_SW13, CS26_SW13, CS27_SW13}, // LED 68 + {1, CS25_SW14, CS26_SW14, CS27_SW14}, // LED 75 + {1, CS25_SW15, CS26_SW15, CS27_SW15}, // LED 69 + {1, CS25_SW16, CS26_SW16, CS27_SW16}, // LED 70 + {1, CS25_SW17, CS26_SW17, CS27_SW17}, // LED 71 + {1, CS25_SW18, CS26_SW18, CS27_SW18}, // LED 72 + {1, CS25_SW19, CS26_SW19, CS27_SW19}, // LED 73 + {1, CS25_SW20, CS26_SW20, CS27_SW20}, // LED 74 + + {1, CS28_SW12, CS29_SW12, CS30_SW12}, // LED 76 + {1, CS28_SW13, CS29_SW13, CS30_SW13}, // LED 77 + {1, CS28_SW14, CS29_SW14, CS30_SW14}, // LED 78 + {1, CS28_SW15, CS29_SW15, CS30_SW15}, // LED 89 + {1, CS28_SW16, CS29_SW16, CS30_SW16}, // LED 80 + {1, CS28_SW17, CS29_SW17, CS30_SW17}, // LED 81 + {1, CS28_SW18, CS29_SW18, CS30_SW18}, // LED 82 + {1, CS28_SW19, CS29_SW19, CS30_SW19}, // LED 83 + {1, CS28_SW20, CS29_SW20, CS30_SW20}, // LED 84 + + {1, CS31_SW12, CS32_SW12, CS33_SW12}, // LED 85 + {1, CS31_SW13, CS32_SW13, CS33_SW13}, // LED 86 + {1, CS31_SW14, CS32_SW14, CS33_SW14}, // LED 87 + {1, CS31_SW15, CS32_SW15, CS33_SW15}, // LED 88 + {1, CS31_SW16, CS32_SW16, CS33_SW16}, // LED 89 + {1, CS31_SW17, CS32_SW17, CS33_SW17}, // LED 90 + {1, CS31_SW18, CS32_SW18, CS33_SW18}, // LED 91 + {1, CS31_SW19, CS32_SW19, CS33_SW19}, // LED 92 + {1, CS31_SW20, CS32_SW20, CS33_SW20}, // LED 93 + + {1, CS34_SW12, CS35_SW12, CS36_SW12}, // LED 94 + {1, CS34_SW13, CS35_SW13, CS36_SW13}, // LED 95 + {1, CS34_SW14, CS35_SW14, CS36_SW14}, // LED 96 + {1, CS34_SW15, CS35_SW15, CS36_SW15}, // LED 97 }; led_config_t g_led_config = { { // Key Matrix to LED Index - {32, 73, 6, 85, 0, 30, 34, 78, 76, 81, 79, 0, 89, 80, 53, 0, }, - {0, 0, 0, 48, 95, 28, 36, 77, 82, 33, 0, 0, 35, 91, 54, 68, }, - {0, 0, 94, 0, 3, 20, 40, 41, 56, 0, 27, 0, 0, 64, 0, 92, }, - {0, 47, 2, 0, 21, 22, 8, 9, 60, 0, 25, 75, 0, 0, 0, 71, }, - {0, 0, 17, 0, 45, 42, 10, 15, 69, 0, 23, 0, 0, 62, 63, 0, }, - {0, 0, 16, 0, 13, 14, 12, 11, 70, 0, 18, 0, 0, 61, 65, 0, }, - {0, 0, 0, 0, 19, 4, 5, 7, 67, 0, 59, 90, 0, 58, 55, 0, }, - {0, 0, 37, 0, 0, 26, 44, 50, 52, 0, 51, 0, 0, 49, 38, 0, }, + {32, 73, 6, 85, 0, 30, 34, 78, 76, 81, 79, 0, 89, 80, 53, 0, }, + { 0, 0, 0, 48, 95, 28, 36, 77, 82, 33, 0, 0, 35, 91, 54, 68, }, + { 0, 0, 94, 0, 3, 20, 40, 41, 56, 0, 27, 0, 0, 64, 0, 92, }, + { 0, 47, 2, 0, 21, 22, 8, 9, 60, 0, 25, 75, 0, 0, 0, 71, }, + { 0, 0, 17, 0, 45, 42, 10, 15, 69, 0, 23, 0, 0, 62, 63, 0, }, + { 0, 0, 16, 0, 13, 14, 12, 11, 70, 0, 18, 0, 0, 61, 65, 0, }, + { 0, 0, 0, 0, 19, 4, 5, 7, 67, 0, 59, 90, 0, 58, 55, 0, }, + { 0, 0, 37, 0, 0, 26, 44, 50, 52, 0, 51, 0, 0, 49, 38, 0, }, }, { - // Key Matrix to LED Index - { 11, 23 }, - { 0, 23 }, - { 57, 22 }, - { 41, 22 }, - { 73, 22 }, - { 25, 22 }, - { 121, 22 }, - { 89, 22 }, - { 105, 22 }, - { 82, 10 }, - { 114, 10 }, - { 66, 10 }, - { 50, 10 }, - { 34, 10 }, - { 98, 10 }, - { 18, 10 }, - { 2, 10 }, - { 130, 10 }, - { 56, 0 }, - { 40, 0 }, - { 72, 0 }, - { 24, 0 }, - { 88, 0 }, - { 10, 0 }, - { 104, 0 }, - { 0, 0 }, - { 120, 0 }, - { 38, 47 }, - { 22, 47 }, - { 54, 47 }, - { 5, 48 }, - { 70, 47 }, - { 1, 48 }, - { 86, 47 }, - { 0, 60 }, - { 102, 47 }, - { 30, 34 }, - { 62, 34 }, - { 7, 35 }, - { 94, 34 }, - { 110, 34 }, - { 46, 34 }, - { 13, 36 }, - { 78, 34 }, - { 1, 36 }, - { 8, 60 }, - { 38, 59 }, - { 54, 59 }, - { 174, 34 }, - { 126, 34 }, - { 142, 34 }, - { 158, 34 }, - { 190, 34 }, - { 205, 34 }, - { 202, 22 }, - { 219, 22 }, - { 223, 36 }, - { 185, 22 }, - { 137, 22 }, - { 153, 22 }, - { 169, 22 }, - { 162, 10 }, - { 194, 10 }, - { 178, 10 }, - { 209, 11 }, - { 222, 11 }, - { 181, 0 }, - { 136, 0 }, - { 168, 0 }, - { 146, 10 }, - { 199, 0 }, - { 186, 0 }, - { 213, 0 }, - { 224, 0 }, - { 152, 0 }, - { 166, 47 }, - { 118, 47 }, - { 134, 47 }, - { 150, 47 }, - { 182, 47 }, - { 197, 48 }, - { 202, 58 }, - { 203, 48 }, - { 217, 48 }, - { 150, 59 }, - { 108, 60 }, - { 121, 60 }, - { 134, 60 }, - { 166, 59 }, - { 183, 64 }, - { 202, 62 }, - { 220, 64 }, - { 222, 48 }, - { 22, 59 }, - { 70, 60 }, - { 83, 60 }, - { 95, 60 } + // LED Index to Physical Position + { 11, 23 }, // LED 1 + { 0, 23 }, // LED 2 + { 57, 22 }, // LED 3 + { 41, 22 }, // LED 4 + { 73, 22 }, // LED 5 + { 25, 22 }, // LED 6 + { 121, 22 }, // LED 7 + { 89, 22 }, // LED 8 + { 105, 22 }, // LED 9 + { 82, 10 }, // LED 10 + { 114, 10 }, // LED 11 + { 66, 10 }, // LED 12 + { 50, 10 }, // LED 13 + { 34, 10 }, // LED 14 + { 98, 10 }, // LED 15 + { 18, 10 }, // LED 16 + { 2, 10 }, // LED 17 + { 130, 10 }, // LED 18 + { 56, 0 }, // LED 19 + { 40, 0 }, // LED 20 + { 72, 0 }, // LED 21 + { 24, 0 }, // LED 22 + { 88, 0 }, // LED 23 + { 10, 0 }, // LED 24 + { 104, 0 }, // LED 25 + { 0, 0 }, // LED 26 + { 120, 0 }, // LED 27 + { 38, 47 }, // LED 28 + { 22, 47 }, // LED 29 + { 54, 47 }, // LED 30 + { 5, 48 }, // LED 31 + { 70, 47 }, // LED 32 + { 1, 48 }, // LED 33 + { 86, 47 }, // LED 34 + { 0, 60 }, // LED 35 + { 102, 47 }, // LED 36 + { 30, 34 }, // LED 37 + { 62, 34 }, // LED 38 + { 7, 35 }, // LED 39 + { 94, 34 }, // LED 40 + { 110, 34 }, // LED 41 + { 46, 34 }, // LED 42 + { 13, 36 }, // LED 43 + { 78, 34 }, // LED 44 + { 1, 36 }, // LED 45 + { 8, 60 }, // LED 46 + { 38, 59 }, // LED 47 + { 54, 59 }, // LED 48 + { 174, 34 }, // LED 49 + { 126, 34 }, // LED 50 + { 142, 34 }, // LED 51 + { 158, 34 }, // LED 52 + { 190, 34 }, // LED 53 + { 205, 34 }, // LED 54 + { 202, 22 }, // LED 55 + { 219, 22 }, // LED 56 + { 223, 36 }, // LED 57 + { 185, 22 }, // LED 58 + { 137, 22 }, // LED 59 + { 153, 22 }, // LED 60 + { 169, 22 }, // LED 61 + { 162, 10 }, // LED 62 + { 194, 10 }, // LED 63 + { 178, 10 }, // LED 64 + { 209, 11 }, // LED 65 + { 222, 11 }, // LED 66 + { 181, 0 }, // LED 67 + { 136, 0 }, // LED 68 + { 168, 0 }, // LED 69 + { 146, 10 }, // LED 70 + { 199, 0 }, // LED 71 + { 186, 0 }, // LED 72 + { 213, 0 }, // LED 73 + { 224, 0 }, // LED 74 + { 152, 0 }, // LED 75 + { 166, 47 }, // LED 76 + { 118, 47 }, // LED 77 + { 134, 47 }, // LED 78 + { 150, 47 }, // LED 79 + { 182, 47 }, // LED 80 + { 197, 48 }, // LED 81 + { 202, 58 }, // LED 82 + { 203, 48 }, // LED 83 + { 217, 48 }, // LED 84 + { 150, 59 }, // LED 85 + { 108, 60 }, // LED 86 + { 121, 60 }, // LED 87 + { 134, 60 }, // LED 88 + { 166, 59 }, // LED 89 + { 183, 64 }, // LED 90 + { 202, 62 }, // LED 91 + { 220, 64 }, // LED 92 + { 222, 48 }, // LED 93 + { 22, 59 }, // LED 94 + { 70, 60 }, // LED 95 + { 83, 60 }, // LED 96 + { 95, 60 }, // LED 97 }, { // LED Index to Flag 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, diff --git a/keyboards/lotus/keymaps/gridpad/keymap.c b/keyboards/lotus/keymaps/gridpad/keymap.c index 009db37ce2..59bd9577a1 100644 --- a/keyboards/lotus/keymaps/gridpad/keymap.c +++ b/keyboards/lotus/keymaps/gridpad/keymap.c @@ -10,33 +10,36 @@ const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { * | | G location * | | | B location * | | | | */ - {0, CS1_SW1, CS2_SW1, CS3_SW1}, // LED 1 - {0, CS1_SW2, CS2_SW2, CS3_SW2}, // LED 2 + // TODO: probably need to re-arrange them as below in g_led_config + // LED IDs from pos diagram missing in schematic: 77, 87, 96, 78, 95, 79, 19 + // LED from Schematic below. Those without X are missing in pos diagram. + {0, CS1_SW1, CS2_SW1, CS3_SW1}, // LED 1 X + {0, CS1_SW2, CS2_SW2, CS3_SW2}, // LED 2 X {0, CS1_SW3, CS2_SW3, CS3_SW3}, // LED 3 {0, CS1_SW4, CS2_SW4, CS3_SW4}, // LED 4 - {0, CS4_SW1, CS5_SW1, CS6_SW1}, // LED 10 - {0, CS4_SW2, CS5_SW2, CS6_SW2}, // LED 14 - {0, CS4_SW3, CS5_SW3, CS6_SW3}, // LED 11 - {0, CS4_SW4, CS5_SW4, CS6_SW4}, // LED 12 + {0, CS4_SW1, CS5_SW1, CS6_SW1}, // LED 10 X + {0, CS4_SW2, CS5_SW2, CS6_SW2}, // LED 14 X + {0, CS4_SW3, CS5_SW3, CS6_SW3}, // LED 11 X + {0, CS4_SW4, CS5_SW4, CS6_SW4}, // LED 12 X - {0, CS7_SW1, CS8_SW1, CS9_SW1}, // LED 19 - {0, CS7_SW2, CS8_SW2, CS9_SW2}, // LED 20 - {0, CS7_SW3, CS8_SW3, CS9_SW3}, // LED 21 - {0, CS7_SW4, CS8_SW4, CS9_SW4}, // LED 22 + {0, CS7_SW1, CS8_SW1, CS9_SW1}, // LED 19 X + {0, CS7_SW2, CS8_SW2, CS9_SW2}, // LED 20 X + {0, CS7_SW3, CS8_SW3, CS9_SW3}, // LED 21 X + {0, CS7_SW4, CS8_SW4, CS9_SW4}, // LED 22 X {0, CS10_SW1, CS11_SW1, CS12_SW1}, // LED 33 - {0, CS10_SW2, CS11_SW2, CS12_SW2}, // LED 34 - {0, CS10_SW3, CS11_SW3, CS12_SW3}, // LED 28 - {0, CS10_SW4, CS11_SW4, CS12_SW4}, // LED 29 + {0, CS10_SW2, CS11_SW2, CS12_SW2}, // LED 34 X + {0, CS10_SW3, CS11_SW3, CS12_SW3}, // LED 28 X + {0, CS10_SW4, CS11_SW4, CS12_SW4}, // LED 29 X {0, CS13_SW1, CS14_SW1, CS15_SW1}, // LED 41 {0, CS13_SW2, CS14_SW2, CS15_SW2}, // LED 37 {0, CS13_SW3, CS14_SW3, CS15_SW3}, // LED 38 - {0, CS13_SW4, CS14_SW4, CS15_SW4}, // LED 42 + {0, CS13_SW4, CS14_SW4, CS15_SW4}, // LED 42 X - {0, CS16_SW1, CS17_SW1, CS18_SW1}, // LED 46 - {0, CS16_SW2, CS17_SW2, CS18_SW2}, // LED 47 + {0, CS16_SW1, CS17_SW1, CS18_SW1}, // LED 46 X + {0, CS16_SW2, CS17_SW2, CS18_SW2}, // LED 47 X {0, CS16_SW3, CS17_SW3, CS18_SW3}, // LED 48 {0, CS16_SW4, CS17_SW4, CS18_SW4}, // LED 49 }; diff --git a/keyboards/lotus/led.py b/keyboards/lotus/led.py index cf0e9b67df..777ceaecf8 100755 --- a/keyboards/lotus/led.py +++ b/keyboards/lotus/led.py @@ -234,11 +234,11 @@ def print_matrix(layout, led_to_el, normalized): for row in led_to_el: print(" {", end='') for col in row: - print(f"{col: >4}, ", end='') + print(f"{col: >2}, ", end='') print("},") print("}, {") - print(" // LED Index to Physical Potision") + print(" // LED Index to Physical Position") for (i, (led_id, (x, y))) in enumerate(normalized.items()): coords = f" {{ {int(x): >3}, {int(y): >3} }}," print(f"{coords: <15} // LED {led_id}")