diff --git a/drivers/issi/is31fl3733.h b/drivers/issi/is31fl3733.h index 3d23b188aa..65da62bd53 100644 --- a/drivers/issi/is31fl3733.h +++ b/drivers/issi/is31fl3733.h @@ -48,6 +48,166 @@ void IS31FL3733_set_led_control_register( uint8_t index, bool red, bool green, b void IS31FL3733_update_pwm_buffers( uint8_t addr1, uint8_t addr2 ); void IS31FL3733_update_led_control_registers( uint8_t addr1, uint8_t addr2 ); +#ifdef IS31FL3737 + +#define A_1 0x00 +#define A_2 0x01 +#define A_3 0x02 +#define A_4 0x03 +#define A_5 0x04 +#define A_6 0x05 +#define A_7 0x08 +#define A_8 0x09 +#define A_9 0x0A +#define A_10 0x0B +#define A_11 0x0C +#define A_12 0x0D + +#define B_1 0x10 +#define B_2 0x11 +#define B_3 0x12 +#define B_4 0x13 +#define B_5 0x14 +#define B_6 0x15 +#define B_7 0x18 +#define B_8 0x19 +#define B_9 0x1A +#define B_10 0x1B +#define B_11 0x1C +#define B_12 0x1D + +#define C_1 0x20 +#define C_2 0x21 +#define C_3 0x22 +#define C_4 0x23 +#define C_5 0x24 +#define C_6 0x25 +#define C_7 0x28 +#define C_8 0x29 +#define C_9 0x2A +#define C_10 0x2B +#define C_11 0x2C +#define C_12 0x2D + +#define D_1 0x30 +#define D_2 0x31 +#define D_3 0x32 +#define D_4 0x33 +#define D_5 0x34 +#define D_6 0x35 +#define D_7 0x38 +#define D_8 0x39 +#define D_9 0x3A +#define D_10 0x3B +#define D_11 0x3C +#define D_12 0x3D + +#define E_1 0x40 +#define E_2 0x41 +#define E_3 0x42 +#define E_4 0x43 +#define E_5 0x44 +#define E_6 0x45 +#define E_7 0x48 +#define E_8 0x49 +#define E_9 0x4A +#define E_10 0x4B +#define E_11 0x4C +#define E_12 0x4D + +#define F_1 0x50 +#define F_2 0x51 +#define F_3 0x52 +#define F_4 0x53 +#define F_5 0x54 +#define F_6 0x55 +#define F_7 0x58 +#define F_8 0x59 +#define F_9 0x5A +#define F_10 0x5B +#define F_11 0x5C +#define F_12 0x5D + +#define G_1 0x60 +#define G_2 0x61 +#define G_3 0x62 +#define G_4 0x63 +#define G_5 0x64 +#define G_6 0x65 +#define G_7 0x68 +#define G_8 0x69 +#define G_9 0x6A +#define G_10 0x6B +#define G_11 0x6C +#define G_12 0x6D + +#define H_1 0x70 +#define H_2 0x71 +#define H_3 0x72 +#define H_4 0x73 +#define H_5 0x74 +#define H_6 0x75 +#define H_7 0x78 +#define H_8 0x79 +#define H_9 0x7A +#define H_10 0x7B +#define H_11 0x7C +#define H_12 0x7D + +#define I_1 0x80 +#define I_2 0x81 +#define I_3 0x82 +#define I_4 0x83 +#define I_5 0x84 +#define I_6 0x85 +#define I_7 0x88 +#define I_8 0x89 +#define I_9 0x8A +#define I_10 0x8B +#define I_11 0x8C +#define I_12 0x8D + +#define J_1 0x90 +#define J_2 0x91 +#define J_3 0x92 +#define J_4 0x93 +#define J_5 0x94 +#define J_6 0x95 +#define J_7 0x98 +#define J_8 0x99 +#define J_9 0x9A +#define J_10 0x9B +#define J_11 0x9C +#define J_12 0x9D + +#define K_1 0xA0 +#define K_2 0xA1 +#define K_3 0xA2 +#define K_4 0xA3 +#define K_5 0xA4 +#define K_6 0xA5 +#define K_7 0xA8 +#define K_8 0xA9 +#define K_9 0xAA +#define K_10 0xAB +#define K_11 0xAC +#define K_12 0xAD + +#define L_1 0xB0 +#define L_2 0xB1 +#define L_3 0xB2 +#define L_4 0xB3 +#define L_5 0xB4 +#define L_6 0xB5 +#define L_7 0xB8 +#define L_8 0xB9 +#define L_9 0xBA +#define L_10 0xBB +#define L_11 0xBC +#define L_12 0xBD + +#else + #define A_1 0x00 #define A_2 0x01 #define A_3 0x02 @@ -252,4 +412,6 @@ void IS31FL3733_update_led_control_registers( uint8_t addr1, uint8_t addr2 ); #define L_15 0xBE #define L_16 0xBF +#endif + #endif // IS31FL3733_DRIVER_H diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c index b6b7f1a7c9..b0f85012e3 100644 --- a/keyboards/planck/ez/ez.c +++ b/keyboards/planck/ez/ez.c @@ -15,6 +15,128 @@ */ #include "ez.h" +const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, A_12, B_12, C_12}, + {0, A_11, B_11, C_11}, + {0, A_10, B_10, C_10}, + {0, A_9, B_9, C_9}, + {0, A_8, B_8, C_8}, + {0, A_7, B_7, C_7}, + {0, A_6, B_6, C_6}, + {0, A_5, B_5, C_5}, + {0, A_4, B_4, C_4}, + {0, A_3, B_3, C_3}, + {0, A_2, B_2, C_2}, + {0, A_1, B_1, C_1}, + {0, A_0, B_0, C_0}, + + {0, D_12, E_12, F_12}, + {0, D_11, E_11, F_11}, + {0, D_10, E_10, F_10}, + {0, D_9, E_9, F_9}, + {0, D_8, E_8, F_8}, + {0, D_7, E_7, F_7}, + {0, D_6, E_6, F_6}, + {0, D_5, E_5, F_5}, + {0, D_4, E_4, F_4}, + {0, D_3, E_3, F_3}, + {0, D_2, E_2, F_2}, + {0, D_1, E_1, F_1}, + {0, D_0, E_0, F_0}, + + {0, G_12, H_12, I_12}, + {0, G_11, H_11, I_11}, + {0, G_10, H_10, I_10}, + {0, G_9, H_9, I_9}, + {0, G_8, H_8, I_8}, + {0, G_7, H_7, I_7}, + {0, G_6, H_6, I_6}, + {0, G_5, H_5, I_5}, + {0, G_4, H_4, I_4}, + {0, G_3, H_3, I_3}, + {0, G_2, H_2, I_2}, + {0, G_1, H_1, I_1}, + {0, G_0, H_0, I_0}, + + {0, J_12, K_12, L_12}, + {0, J_11, K_11, L_11}, + {0, J_10, K_10, L_10}, + {0, J_9, K_9, L_9}, + {0, J_8, K_8, L_8}, + {0, J_7, K_7, L_7}, + {0, J_6, K_6, L_6}, + {0, J_5, K_5, L_5}, + {0, J_4, K_4, L_4}, + {0, J_3, K_3, L_3}, + {0, J_2, K_2, L_2}, + {0, J_1, K_1, L_1}, + +}; + +const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = { + + /*{row | col << 4} + | {x=0..224, y=0..64} + | | modifier + | | | */ + {{0|(0<<4)}, {20.36*0, 21.33*0}, 1}, + {{0|(1<<4)}, {20.36*1, 21.33*0}, 0}, + {{0|(2<<4)}, {20.36*2, 21.33*0}, 0}, + {{0|(3<<4)}, {20.36*3, 21.33*0}, 0}, + {{0|(4<<4)}, {20.36*4, 21.33*0}, 0}, + {{0|(5<<4)}, {20.36*5, 21.33*0}, 0}, + {{0|(6<<4)}, {20.36*6, 21.33*0}, 0}, + {{0|(7<<4)}, {20.36*7, 21.33*0}, 0}, + {{0|(8<<4)}, {20.36*8, 21.33*0}, 0}, + {{0|(9<<4)}, {20.36*9, 21.33*0}, 0}, + {{0|(10<<4)}, {20.36*10,21.33*0}, 0}, + {{0|(11<<4)}, {20.36*11,21.33*0}, 1}, + + {{1|(0<<4)}, {20.36*0, 21.33*1}, 1}, + {{1|(1<<4)}, {20.36*1, 21.33*1}, 0}, + {{1|(2<<4)}, {20.36*2, 21.33*1}, 0}, + {{1|(3<<4)}, {20.36*3, 21.33*1}, 0}, + {{1|(4<<4)}, {20.36*4, 21.33*1}, 0}, + {{1|(5<<4)}, {20.36*5, 21.33*1}, 0}, + {{1|(6<<4)}, {20.36*6, 21.33*1}, 0}, + {{1|(7<<4)}, {20.36*7, 21.33*1}, 0}, + {{1|(8<<4)}, {20.36*8, 21.33*1}, 0}, + {{1|(9<<4)}, {20.36*9, 21.33*1}, 0}, + {{1|(10<<4)}, {20.36*10,21.33*1}, 0}, + {{1|(11<<4)}, {20.36*11,21.33*1}, 1}, + + {{2|(0<<4)}, {20.36*0, 21.33*2}, 1}, + {{2|(1<<4)}, {20.36*1, 21.33*2}, 0}, + {{2|(2<<4)}, {20.36*2, 21.33*2}, 0}, + {{2|(3<<4)}, {20.36*3, 21.33*2}, 0}, + {{2|(4<<4)}, {20.36*4, 21.33*2}, 0}, + {{2|(5<<4)}, {20.36*5, 21.33*2}, 0}, + {{2|(6<<4)}, {20.36*6, 21.33*2}, 0}, + {{2|(7<<4)}, {20.36*7, 21.33*2}, 0}, + {{2|(8<<4)}, {20.36*8, 21.33*2}, 0}, + {{2|(9<<4)}, {20.36*9, 21.33*2}, 0}, + {{2|(10<<4)}, {20.36*10,21.33*2}, 0}, + {{2|(11<<4)}, {20.36*11,21.33*2}, 1}, + + {{3|(0<<4)}, {20.36*0, 21.33*3}, 1}, + {{3|(1<<4)}, {20.36*1, 21.33*3}, 1}, + {{3|(2<<4)}, {20.36*2, 21.33*3}, 1}, + {{3|(3<<4)}, {20.36*3, 21.33*3}, 1}, + {{3|(4<<4)}, {20.36*4, 21.33*3}, 1}, + {{3|(5<<4)}, {20.36*5.5,21.33*3}, 0}, + {{3|(7<<4)}, {20.36*7, 21.33*3}, 1}, + {{3|(8<<4)}, {20.36*8, 21.33*3}, 1}, + {{3|(9<<4)}, {20.36*9, 21.33*3}, 1}, + {{3|(10<<4)}, {20.36*10,21.33*3}, 1}, + {{3|(11<<4)}, {20.36*11,21.33*3}, 1} +}; + void matrix_init_kb(void) { matrix_init_user();