diff options
author | Nick Brassel <[email protected]> | 2023-11-28 16:39:48 +1100 |
---|---|---|
committer | Nick Brassel <[email protected]> | 2023-11-28 16:40:47 +1100 |
commit | 0115951de12bd4c798a43a380651c34552552e85 (patch) | |
tree | 62999011ae782d93aa6dc9c889615db2a840cafc /keyboards/xelus/dawn60 | |
parent | 0379d1f59e58cefa18cdb72ba1b77507d1108ae6 (diff) | |
parent | 4d99e0a23cff02f4c6e55e093b5de08a9be0df7c (diff) | |
download | qmk_firmware-0.23.0.tar.gz qmk_firmware-0.23.0.zip |
`develop` -> `master`, 2023q4 edition0.23.0
Diffstat (limited to 'keyboards/xelus/dawn60')
-rw-r--r-- | keyboards/xelus/dawn60/rev1/config.h | 5 | ||||
-rw-r--r-- | keyboards/xelus/dawn60/rev1/rev1.c | 82 | ||||
-rw-r--r-- | keyboards/xelus/dawn60/rev1/rules.mk | 2 | ||||
-rw-r--r-- | keyboards/xelus/dawn60/rev1_qmk/config.h | 9 | ||||
-rw-r--r-- | keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c | 48 | ||||
-rw-r--r-- | keyboards/xelus/dawn60/rev1_qmk/rules.mk | 2 |
6 files changed, 103 insertions, 45 deletions
diff --git a/keyboards/xelus/dawn60/rev1/config.h b/keyboards/xelus/dawn60/rev1/config.h index d3b505447a..2552942635 100644 --- a/keyboards/xelus/dawn60/rev1/config.h +++ b/keyboards/xelus/dawn60/rev1/config.h @@ -16,8 +16,9 @@ #pragma once // IS31FL3731 driver -#define DRIVER_COUNT 2 -#define RGB_MATRIX_LED_COUNT 64 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA +#define IS31FL3731_LED_COUNT 64 // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/xelus/dawn60/rev1/rev1.c b/keyboards/xelus/dawn60/rev1/rev1.c index 2d0b465bcc..47ea0ffbaa 100644 --- a/keyboards/xelus/dawn60/rev1/rev1.c +++ b/keyboards/xelus/dawn60/rev1/rev1.c @@ -14,5 +14,85 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef RGB_BACKLIGHT_DAWN60 -#error RGB_BACKLIGHT_DAWN60 not defined, you done goofed somehao, brah +# error RGB_BACKLIGHT_DAWN60 not defined, you done goofed somehao, brah +#else +# include "drivers/led/issi/is31fl3731.h" +#endif + +#if defined(RGB_MATRIX_ENABLE) || defined(RGB_BACKLIGHT_DAWN60) +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, C1_1, C3_2, C4_2}, //A1 + {0, C1_2, C2_2, C4_3}, //A2 + {0, C1_3, C2_3, C3_3}, //A3 + {0, C1_4, C2_4, C3_4}, //A4 + {0, C1_5, C2_5, C3_5}, //A5 + {0, C1_6, C2_6, C3_6}, //A6 + {0, C1_7, C2_7, C3_7}, //A7 + {0, C1_8, C2_8, C3_8}, //A8 + {0, C9_1, C8_1, C7_1}, //A9 + {0, C9_2, C8_2, C7_2}, //A10 + {0, C9_3, C8_3, C7_3}, //A11 + {0, C9_4, C8_4, C7_4}, //A12 + {0, C9_5, C8_5, C7_5}, //A13 + {0, C9_6, C8_6, C7_6}, //A14 + {0, C9_7, C8_7, C6_6}, //A15 + {0, C9_8, C7_7, C6_7}, //A16 + + {0, C1_9, C3_10, C4_10}, //B1 + {0, C1_10, C2_10, C4_11}, //B2 + {0, C1_11, C2_11, C3_11}, //B3 + {0, C1_12, C2_12, C3_12}, //B4 + {0, C1_13, C2_13, C3_13}, //B5 + {0, C1_14, C2_14, C3_14}, //B6 + {0, C1_15, C2_15, C3_15}, //B7 + {0, C1_16, C2_16, C3_16}, //B8 + {0, C9_9, C8_9, C7_9}, //B9 + {0, C9_10, C8_10, C7_10}, //B10 + {0, C9_11, C8_11, C7_11}, //B11 + {0, C9_12, C8_12, C7_12}, //B12 + {0, C9_13, C8_13, C7_13}, //B13 + {0, C9_14, C8_14, C7_14}, //B14 + {0, C9_15, C8_15, C6_14}, //B15 + {0, C9_16, C7_15, C6_15}, //B16 + + {1, C1_1, C3_2, C4_2}, //C1 + {1, C1_2, C2_2, C4_3}, //C2 + {1, C1_3, C2_3, C3_3}, //C3 + {1, C1_4, C2_4, C3_4}, //C4 + {1, C1_5, C2_5, C3_5}, //C5 + {1, C1_6, C2_6, C3_6}, //C6 + {1, C1_7, C2_7, C3_7}, //C7 + {1, C1_8, C2_8, C3_8}, //C8 + {1, C9_1, C8_1, C7_1}, //C9 + {1, C9_2, C8_2, C7_2}, //C10 + {1, C9_3, C8_3, C7_3}, //C11 + {1, C9_4, C8_4, C7_4}, //C12 + {1, C9_5, C8_5, C7_5}, //C13 + {1, C9_6, C8_6, C7_6}, //C14 + {1, C9_7, C8_7, C6_6}, //C15 + {1, C9_8, C7_7, C6_7}, //C16 + + {1, C1_9, C3_10, C4_10}, //D1 + {1, C1_10, C2_10, C4_11}, //D2 + {1, C1_11, C2_11, C3_11}, //D3 + {1, C1_12, C2_12, C3_12}, //D4 + {1, C1_13, C2_13, C3_13}, //D5 + {1, C1_14, C2_14, C3_14}, //D6 + {1, C1_15, C2_15, C3_15}, //D7 + {1, C1_16, C2_16, C3_16}, //D8 + {1, C9_9, C8_9, C7_9}, //D9 + {1, C9_10, C8_10, C7_10}, //D10 + {1, C9_11, C8_11, C7_11}, //D11 + {1, C9_12, C8_12, C7_12}, //D12 + {1, C9_13, C8_13, C7_13}, //D13 + {1, C9_14, C8_14, C7_14}, //D14 + {1, C9_15, C8_15, C6_14}, //D15 + {1, C9_16, C7_15, C6_15} //D16 +}; #endif diff --git a/keyboards/xelus/dawn60/rev1/rules.mk b/keyboards/xelus/dawn60/rev1/rules.mk index d4e70bfbec..0a72a60eca 100644 --- a/keyboards/xelus/dawn60/rev1/rules.mk +++ b/keyboards/xelus/dawn60/rev1/rules.mk @@ -26,4 +26,4 @@ SRC += keyboards/wilba_tech/wt_main.c \ quantum/color.c \ drivers/led/issi/is31fl3731.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/xelus/dawn60/rev1_qmk/config.h b/keyboards/xelus/dawn60/rev1_qmk/config.h index ad399bd962..4e6d418f21 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/config.h +++ b/keyboards/xelus/dawn60/rev1_qmk/config.h @@ -24,14 +24,13 @@ #define WS2812_LED_TOTAL 20 //RGB Matrix defines -#define DRIVER_ADDR_1 0x74 -#define DRIVER_ADDR_2 0x76 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 32 #define DRIVER_2_LED_TOTAL 32 -#define ISSI_DRIVER_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) -#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + WS2812_LED_TOTAL) +#define IS31FL3731_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (IS31FL3731_LED_COUNT + WS2812_LED_TOTAL) #define RGB_MATRIX_DEFAULT_VAL 80 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c index 7b77807326..35ac5a06b2 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c +++ b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c @@ -23,9 +23,9 @@ #include "ws2812.h" #ifdef RGB_MATRIX_ENABLE -LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; +rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -99,28 +99,6 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {1, C9_14, C8_14, C7_14}, //D14 {1, C9_15, C8_15, C6_14}, //D15 {1, C9_16, C7_15, C6_15}, //D16 - - //fake underglows 1- 20 - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0}, - {2, 0, 0, 0} }; __attribute__ ((weak)) @@ -167,32 +145,32 @@ led_config_t g_led_config = { { //Custom Driver static void init(void) { i2c_init(); - is31fl3731_init(DRIVER_ADDR_1); - is31fl3731_init(DRIVER_ADDR_2); - for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { + is31fl3731_init(IS31FL3731_I2C_ADDRESS_1); + is31fl3731_init(IS31FL3731_I2C_ADDRESS_2); + for (int index = 0; index < IS31FL3731_LED_COUNT; index++) { bool enabled = true; is31fl3731_set_led_control_register(index, enabled, enabled, enabled); } - is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0); - is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_1, 0); + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_2, 1); //RGB Underglow ws2812 } static void flush(void) { - is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0); - is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0); + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1); ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); } static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - if (index < ISSI_DRIVER_TOTAL) { + if (index < IS31FL3731_LED_COUNT) { is31fl3731_set_color(index, red, green, blue); } else { - rgb_matrix_ws2812_array[index - ISSI_DRIVER_TOTAL].r = red; - rgb_matrix_ws2812_array[index - ISSI_DRIVER_TOTAL].g = green; - rgb_matrix_ws2812_array[index - ISSI_DRIVER_TOTAL].b = blue; + rgb_matrix_ws2812_array[index - IS31FL3731_LED_COUNT].r = red; + rgb_matrix_ws2812_array[index - IS31FL3731_LED_COUNT].g = green; + rgb_matrix_ws2812_array[index - IS31FL3731_LED_COUNT].b = blue; } } diff --git a/keyboards/xelus/dawn60/rev1_qmk/rules.mk b/keyboards/xelus/dawn60/rev1_qmk/rules.mk index 4a799710d2..edb15fa760 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/rules.mk +++ b/keyboards/xelus/dawn60/rev1_qmk/rules.mk @@ -25,6 +25,6 @@ COMMON_VPATH += $(DRIVER_PATH)/issi # project specific files SRC += drivers/led/issi/is31fl3731.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes LTO_ENABLE = yes |