diff options
Diffstat (limited to 'keyboards/matrix/abelx')
-rw-r--r-- | keyboards/matrix/abelx/abelx.c | 7 | ||||
-rw-r--r-- | keyboards/matrix/abelx/aw9523b.c | 14 | ||||
-rw-r--r-- | keyboards/matrix/abelx/info.json | 1 | ||||
-rw-r--r-- | keyboards/matrix/abelx/rules.mk | 1 | ||||
-rw-r--r-- | keyboards/matrix/abelx/tca6424.c | 4 |
5 files changed, 17 insertions, 10 deletions
diff --git a/keyboards/matrix/abelx/abelx.c b/keyboards/matrix/abelx/abelx.c index a05934238a..0a3071a402 100644 --- a/keyboards/matrix/abelx/abelx.c +++ b/keyboards/matrix/abelx/abelx.c @@ -57,6 +57,7 @@ void housekeeping_task_kb(void) { #ifdef RGBLIGHT_ENABLE #include "rgblight.h" +#include "ws2812.h" #include "i2c_master.h" const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = { @@ -66,7 +67,7 @@ const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = { {AW9523B_P07_PWM, AW9523B_P06_PWM, AW9523B_P05_PWM}, }; -void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) +void setleds_custom(rgb_led_t *start_led, uint16_t num_leds) { uint8_t num = num_leds < AW9523B_RGB_NUM ? num_leds : AW9523B_RGB_NUM; @@ -77,6 +78,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) } } +const rgblight_driver_t rgblight_driver = { + .setleds = setleds_custom, +}; + #endif static uint16_t caps_lock_pin = DEF_PIN(TCA6424_PORT2, 3); diff --git a/keyboards/matrix/abelx/aw9523b.c b/keyboards/matrix/abelx/aw9523b.c index 8c6e8eaccf..860a71740d 100644 --- a/keyboards/matrix/abelx/aw9523b.c +++ b/keyboards/matrix/abelx/aw9523b.c @@ -51,15 +51,15 @@ void aw9523b_init(uint8_t addr) i2c_init(); // reset chip uint8_t data = 0; - i2c_writeReg(addr, AW9523B_RESET, &data, 1, TIMEOUT); + i2c_write_register(addr, AW9523B_RESET, &data, 1, TIMEOUT); wait_ms(1); // set max led current data = 0x03; // 37mA/4 - i2c_writeReg(addr, AW9523B_CTL, &data, 1, TIMEOUT); + i2c_write_register(addr, AW9523B_CTL, &data, 1, TIMEOUT); // set port to led mode data = 0; - i2c_writeReg(addr, AW9523B_P0_LED, &data, 1, TIMEOUT); - i2c_writeReg(addr, AW9523B_P1_LED, &data, 1, TIMEOUT); + i2c_write_register(addr, AW9523B_P0_LED, &data, 1, TIMEOUT); + i2c_write_register(addr, AW9523B_P1_LED, &data, 1, TIMEOUT); // clear pwm buff for (uint8_t i = 0; i < 16; i++) { aw9523b_pwm_buf[i] = 0; @@ -91,9 +91,9 @@ void aw9523b_update_pwm_buffers(uint8_t addr) if (aw9523b_pwm_dirty) { for (uint8_t i = 0; i < AW9523B_RGB_NUM; i++){ aw9523b_led led = g_aw9523b_leds[i]; - i2c_writeReg(addr, led.r, &aw9523b_pwm_buf[PWM2BUF(led.r)], 1, TIMEOUT); - i2c_writeReg(addr, led.g, &aw9523b_pwm_buf[PWM2BUF(led.g)], 1, TIMEOUT); - i2c_writeReg(addr, led.b, &aw9523b_pwm_buf[PWM2BUF(led.b)], 1, TIMEOUT); + i2c_write_register(addr, led.r, &aw9523b_pwm_buf[PWM2BUF(led.r)], 1, TIMEOUT); + i2c_write_register(addr, led.g, &aw9523b_pwm_buf[PWM2BUF(led.g)], 1, TIMEOUT); + i2c_write_register(addr, led.b, &aw9523b_pwm_buf[PWM2BUF(led.b)], 1, TIMEOUT); } aw9523b_pwm_dirty = false; } diff --git a/keyboards/matrix/abelx/info.json b/keyboards/matrix/abelx/info.json index 35bc059810..b9aa23b756 100644 --- a/keyboards/matrix/abelx/info.json +++ b/keyboards/matrix/abelx/info.json @@ -10,6 +10,7 @@ }, "rgblight": { "led_count": 9, + "driver": "custom", "animations": { "breathing": true, "rainbow_mood": true, diff --git a/keyboards/matrix/abelx/rules.mk b/keyboards/matrix/abelx/rules.mk index 1c2fc05ffe..83142dd71c 100644 --- a/keyboards/matrix/abelx/rules.mk +++ b/keyboards/matrix/abelx/rules.mk @@ -46,3 +46,4 @@ CUSTOM_MATRIX = lite # project specific files SRC += matrix.c tca6424.c aw9523b.c I2C_DRIVER_REQUIRED = yes +WS2812_DRIVER_REQUIRED = yes diff --git a/keyboards/matrix/abelx/tca6424.c b/keyboards/matrix/abelx/tca6424.c index 44dc7909d8..c632157256 100644 --- a/keyboards/matrix/abelx/tca6424.c +++ b/keyboards/matrix/abelx/tca6424.c @@ -47,13 +47,13 @@ void tca6424_init(void) static void write_port(uint8_t p, uint8_t d) { - i2c_writeReg(TCA6424_ADDR, p, &d, 1, TIMEOUT); + i2c_write_register(TCA6424_ADDR, p, &d, 1, TIMEOUT); } static uint8_t read_port(uint8_t port) { uint8_t data = 0; - i2c_readReg(TCA6424_ADDR, port, &data, 1, TIMEOUT); + i2c_read_register(TCA6424_ADDR, port, &data, 1, TIMEOUT); return data; } |