diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index ae70c4f2e..3dfe8733c 100644 --- a/keyboards/ergodox_ez/config.h +++ b/keyboards/ergodox_ez/config.h @@ -102,6 +102,15 @@ along with this program. If not, see . #define USB_MAX_POWER_CONSUMPTION 500 +// RGB backlight +#define DRIVER_ADDR_1 0b1110100 +#define DRIVER_ADDR_2 0b1110111 +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 24 +#define DRIVER_2_LED_TOTAL 24 +#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL +#define RGB_MATRIX_SKIP_FRAMES 10 + // #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF /* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */ /* #define RGBLIGHT_COLOR_LAYER_2 0xFF, 0x00, 0x00 */ diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c index 437411856..eee102602 100644 --- a/keyboards/ergodox_ez/ergodox_ez.c +++ b/keyboards/ergodox_ez/ergodox_ez.c @@ -207,3 +207,128 @@ const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0,0}, {1,0}, {2,0}, {3,0}, {4,0}, {5,0}}, }; #endif + +const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +/* driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, C3_1, C2_1, C4_1}, // LED1 on right + {0, C6_1, C5_1, C7_1}, // LED2 + {0, C4_2, C3_2, C5_2}, // LED3 + {0, C7_2, C6_2, C8_2}, // LED4 + {0, C2_3, C1_3, C3_3}, // LED5 + {0, C5_3, C4_3, C6_3}, // LED6 + {0, C8_3, C7_3, C9_3}, // LED7 + {0, C2_4, C1_4, C3_4}, // LED8 + {0, C6_4, C5_4, C7_4}, // LED9 + {0, C2_5, C1_5, C3_5}, // LED10 + {0, C7_5, C6_5, C8_5}, // LED11 + {0, C2_6, C1_6, C3_6}, // LED12 + {0, C5_6, C4_6, C6_6}, // LED13 + {0, C8_6, C7_6, C9_6}, // LED14 + {0, C2_7, C1_7, C3_7}, // LED15 + {0, C5_7, C4_7, C6_7}, // LED16 + {0, C2_8, C1_8, C3_8}, // LED17 + {0, C5_8, C4_8, C6_8}, // LED18 + + {0, C3_9, C2_9, C4_9}, // LED19 + {0, C6_9, C5_9, C7_9}, // LED20 + {0, C4_10, C3_10, C5_10}, // LED21 + {0, C7_10, C6_10, C8_10}, // LED22 + {0, C2_11, C1_11, C3_11}, // LED23 + {0, C5_11, C4_11, C6_11}, // LED24 + + {1, C3_1, C2_1, C4_1}, // LED1 on left + {1, C6_1, C5_1, C7_1}, // LED2 + {1, C4_2, C3_2, C5_2}, // LED3 + {1, C7_2, C6_2, C8_2}, // LED4 + {1, C2_3, C1_3, C3_3}, // LED5 + {1, C5_3, C4_3, C6_3}, // LED6 + {1, C8_3, C7_3, C9_3}, // LED7 + {1, C2_4, C1_4, C3_4}, // LED8 + {1, C6_4, C5_4, C7_4}, // LED9 + {1, C2_5, C1_5, C3_5}, // LED10 + {1, C7_5, C6_5, C8_5}, // LED11 + {1, C2_6, C1_6, C3_6}, // LED12 + {1, C5_6, C4_6, C6_6}, // LED13 + {1, C8_6, C7_6, C9_6}, // LED14 + {1, C2_7, C1_7, C3_7}, // LED15 + {1, C5_7, C4_7, C6_7}, // LED16 + {1, C2_8, C1_8, C3_8}, // LED17 + {1, C5_8, C4_8, C6_8}, // LED18 + + {1, C3_9, C2_9, C4_9}, // LED19 + {1, C6_9, C5_9, C7_9}, // LED20 + {1, C4_10, C3_10, C5_10}, // LED21 + {1, C7_10, C6_10, C8_10}, // LED22 + {1, C2_11, C1_11, C3_11}, // LED23 + {1, C5_11, C4_11, C6_11} // LED24 +}; + + +const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = { + + /*{row | col << 4} + | {x=0..224, y=0..64} + | | modifier + | | | */ + {{0|(0<<4)}, {24.9*5, 16*0}, 0}, // LED 1 on right + {{0|(1<<4)}, {24.9*6, 16*0}, 0}, // LED 2 + {{0|(2<<4)}, {24.9*7, 16*0}, 0}, // LED 3 + {{0|(3<<4)}, {24.9*8, 16*0}, 0}, // LED 4 + {{0|(4<<4)}, {24.9*9, 16*0}, 0}, // LED 5 + + {{1|(5<<4)}, {24.9*5, 16*1}, 0}, // LED 6 + {{1|(6<<4)}, {24.9*6, 16*1}, 0}, // LED 7 + {{1|(7<<4)}, {24.9*7, 16*1}, 0}, // LED 8 + {{1|(8<<4)}, {24.9*8, 16*1}, 0}, // LED 9 + {{1|(9<<4)}, {24.9*9, 16*1}, 0}, // LED 10 + + {{2|(5<<4)}, {24.9*5, 16*2}, 0}, // LED 11 + {{2|(6<<4)}, {24.9*6, 16*2}, 0}, // LED 12 + {{2|(7<<4)}, {24.9*7, 16*2}, 0}, // LED 13 + {{2|(8<<4)}, {24.9*8, 16*2}, 0}, // LED 14 + {{2|(9<<4)}, {24.9*9, 16*2}, 0}, // LED 15 + + {{3|(5<<4)}, {24.9*5, 16*2}, 0}, // LED 16 + {{3|(6<<4)}, {24.9*6, 16*2}, 0}, // LED 17 + {{3|(7<<4)}, {24.9*7, 16*2}, 0}, // LED 18 + {{3|(8<<4)}, {24.9*8, 16*2}, 0}, // LED 19 + {{3|(9<<4)}, {24.9*9, 16*2}, 0}, // LED 20 + + {{4|(6<<4)}, {24.9*6, 16*2}, 0}, // LED 21 + {{4|(7<<4)}, {24.9*7, 16*2}, 0}, // LED 22 + {{4|(8<<4)}, {24.9*8, 16*2}, 0}, // LED 23 + {{4|(9<<4)}, {24.9*9, 16*2}, 0}, // LED 24 + + {{0|(0<<4)}, {24.9*4, 16*0}, 0}, // LED 1 on left + {{0|(1<<4)}, {24.9*3, 16*0}, 0}, // LED 2 + {{0|(2<<4)}, {24.9*2, 16*0}, 0}, // LED 3 + {{0|(3<<4)}, {24.9*1, 16*0}, 0}, // LED 4 + {{0|(4<<4)}, {24.9*0, 16*0}, 0}, // LED 5 + + {{1|(5<<4)}, {24.9*4, 16*1}, 0}, // LED 6 + {{1|(6<<4)}, {24.9*3, 16*1}, 0}, // LED 7 + {{1|(7<<4)}, {24.9*2, 16*1}, 0}, // LED 8 + {{1|(8<<4)}, {24.9*1, 16*1}, 0}, // LED 9 + {{1|(9<<4)}, {24.9*0, 16*1}, 0}, // LED 10 + + {{2|(5<<4)}, {24.9*4, 16*2}, 0}, // LED 11 + {{2|(6<<4)}, {24.9*3, 16*2}, 0}, // LED 12 + {{2|(7<<4)}, {24.9*2, 16*2}, 0}, // LED 13 + {{2|(8<<4)}, {24.9*1, 16*2}, 0}, // LED 14 + {{2|(9<<4)}, {24.9*0, 16*2}, 0}, // LED 15 + + {{3|(5<<4)}, {24.9*4, 16*2}, 0}, // LED 16 + {{3|(6<<4)}, {24.9*3, 16*2}, 0}, // LED 17 + {{3|(7<<4)}, {24.9*2, 16*2}, 0}, // LED 18 + {{3|(8<<4)}, {24.9*1, 16*2}, 0}, // LED 19 + {{3|(9<<4)}, {24.9*0, 16*2}, 0}, // LED 20 + + {{4|(6<<4)}, {24.9*3, 16*2}, 0}, // LED 21 + {{4|(7<<4)}, {24.9*3, 16*2}, 0}, // LED 22 + {{4|(8<<4)}, {24.9*1, 16*2}, 0}, // LED 23 + {{4|(9<<4)}, {24.9*0, 16*2}, 0}, // LED 24 +}; diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk index 5ee9d5cb8..a3b2ba5ca 100644 --- a/keyboards/ergodox_ez/rules.mk +++ b/keyboards/ergodox_ez/rules.mk @@ -82,6 +82,7 @@ UNICODE_ENABLE = yes # Unicode SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard SLEEP_LED_ENABLE = no API_SYSEX_ENABLE = no -RGBLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = yes LAYOUTS = ergodox