summaryrefslogtreecommitdiff
path: root/keyboards/matrix/abelx
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/matrix/abelx')
-rw-r--r--keyboards/matrix/abelx/abelx.c7
-rw-r--r--keyboards/matrix/abelx/aw9523b.c14
-rw-r--r--keyboards/matrix/abelx/info.json1
-rw-r--r--keyboards/matrix/abelx/rules.mk1
-rw-r--r--keyboards/matrix/abelx/tca6424.c4
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;
}