From d96ac7084e213de1b1714d7299f3c390aed84105 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 24 Jan 2024 09:18:44 +1100 Subject: [PATCH] LED drivers: remove `write_pwm_buffer()` from public API (#22884) --- drivers/led/issi/is31fl3218-mono.c | 8 ++++---- drivers/led/issi/is31fl3218.c | 8 ++++---- drivers/led/issi/is31fl3731-mono.c | 8 ++++---- drivers/led/issi/is31fl3731-mono.h | 1 - drivers/led/issi/is31fl3731.c | 8 ++++---- drivers/led/issi/is31fl3731.h | 1 - drivers/led/issi/is31fl3733-mono.c | 8 ++++---- drivers/led/issi/is31fl3733-mono.h | 1 - drivers/led/issi/is31fl3733.c | 8 ++++---- drivers/led/issi/is31fl3733.h | 1 - drivers/led/issi/is31fl3736-mono.c | 8 ++++---- drivers/led/issi/is31fl3736-mono.h | 1 - drivers/led/issi/is31fl3736.c | 8 ++++---- drivers/led/issi/is31fl3736.h | 1 - drivers/led/issi/is31fl3737-mono.c | 8 ++++---- drivers/led/issi/is31fl3737-mono.h | 1 - drivers/led/issi/is31fl3737.c | 8 ++++---- drivers/led/issi/is31fl3737.h | 1 - drivers/led/issi/is31fl3741-mono.c | 12 ++++++------ drivers/led/issi/is31fl3741-mono.h | 1 - drivers/led/issi/is31fl3741.c | 12 ++++++------ drivers/led/issi/is31fl3741.h | 1 - drivers/led/issi/is31fl3742a-mono.c | 8 ++++---- drivers/led/issi/is31fl3742a-mono.h | 1 - drivers/led/issi/is31fl3742a.c | 8 ++++---- drivers/led/issi/is31fl3742a.h | 1 - drivers/led/issi/is31fl3743a-mono.c | 8 ++++---- drivers/led/issi/is31fl3743a-mono.h | 1 - drivers/led/issi/is31fl3743a.c | 8 ++++---- drivers/led/issi/is31fl3743a.h | 1 - drivers/led/issi/is31fl3745-mono.c | 8 ++++---- drivers/led/issi/is31fl3745-mono.h | 1 - drivers/led/issi/is31fl3745.c | 8 ++++---- drivers/led/issi/is31fl3745.h | 1 - drivers/led/issi/is31fl3746a-mono.c | 8 ++++---- drivers/led/issi/is31fl3746a-mono.h | 1 - drivers/led/issi/is31fl3746a.c | 8 ++++---- drivers/led/issi/is31fl3746a.h | 1 - drivers/led/snled27351-mono.c | 8 ++++---- drivers/led/snled27351-mono.h | 1 - drivers/led/snled27351.c | 8 ++++---- drivers/led/snled27351.h | 1 - keyboards/input_club/k_type/is31fl3733-dual.c | 14 +++++++------- keyboards/input_club/k_type/is31fl3733-dual.h | 1 - 44 files changed, 99 insertions(+), 120 deletions(-) diff --git a/drivers/led/issi/is31fl3218-mono.c b/drivers/led/issi/is31fl3218-mono.c index d15745f637869dc90a95c09c37d9f8a61f54e8f0..de2c44b29b4e78493e0c8f4d00c40a823d9dcb8c 100644 --- a/drivers/led/issi/is31fl3218-mono.c +++ b/drivers/led/issi/is31fl3218-mono.c @@ -45,13 +45,13 @@ void is31fl3218_write_register(uint8_t reg, uint8_t data) { #endif } -void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) { +void is31fl3218_write_pwm_buffer(void) { #if IS31FL3218_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { - if (i2c_writeReg(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, g_pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT); + i2c_writeReg(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, g_pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT); #endif } @@ -123,7 +123,7 @@ void is31fl3218_set_led_control_register(uint8_t index, bool value) { void is31fl3218_update_pwm_buffers(void) { if (g_pwm_buffer_update_required) { - is31fl3218_write_pwm_buffer(g_pwm_buffer); + is31fl3218_write_pwm_buffer(); // Load PWM registers and LED Control register data is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01); diff --git a/drivers/led/issi/is31fl3218.c b/drivers/led/issi/is31fl3218.c index a6fbda1b2781b8af751518d317484f0bbe3cc684..2f6668b301a01c45df4b44b2730ccf51f0208bad 100644 --- a/drivers/led/issi/is31fl3218.c +++ b/drivers/led/issi/is31fl3218.c @@ -45,13 +45,13 @@ void is31fl3218_write_register(uint8_t reg, uint8_t data) { #endif } -void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) { +void is31fl3218_write_pwm_buffer(void) { #if IS31FL3218_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { - if (i2c_writeReg(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, g_pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT); + i2c_writeReg(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, g_pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT); #endif } @@ -139,7 +139,7 @@ void is31fl3218_set_led_control_register(uint8_t index, bool red, bool green, bo void is31fl3218_update_pwm_buffers(void) { if (g_pwm_buffer_update_required) { - is31fl3218_write_pwm_buffer(g_pwm_buffer); + is31fl3218_write_pwm_buffer(); // Load PWM registers and LED Control register data is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01); diff --git a/drivers/led/issi/is31fl3731-mono.c b/drivers/led/issi/is31fl3731-mono.c index 4533f2e7eac2569d8e08b937be257e96640214d8..908922fb709e4811a45ccdce9af965bfc5b45986 100644 --- a/drivers/led/issi/is31fl3731-mono.c +++ b/drivers/led/issi/is31fl3731-mono.c @@ -57,7 +57,7 @@ void is31fl3731_select_page(uint8_t addr, uint8_t page) { is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, page); } -void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 9 transfers of 16 bytes. @@ -65,10 +65,10 @@ void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) { #if IS31FL3731_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3731_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, IS31FL3731_FRAME_REG_PWM + i, pwm_buffer + i, 16, IS31FL3731_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, IS31FL3731_FRAME_REG_PWM + i, g_pwm_buffer[index] + i, 16, IS31FL3731_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, IS31FL3731_FRAME_REG_PWM + i, pwm_buffer + i, 16, IS31FL3731_I2C_TIMEOUT); + i2c_writeReg(addr << 1, IS31FL3731_FRAME_REG_PWM + i, g_pwm_buffer[index] + i, 16, IS31FL3731_I2C_TIMEOUT); #endif } } @@ -194,7 +194,7 @@ void is31fl3731_set_led_control_register(uint8_t index, bool value) { void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - is31fl3731_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3731_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3731-mono.h b/drivers/led/issi/is31fl3731-mono.h index ba7f52fde0c00eab6c7039aae55f12531a055b5c..1b205e01150c6ca05179a2c366799396afe63692 100644 --- a/drivers/led/issi/is31fl3731-mono.h +++ b/drivers/led/issi/is31fl3731-mono.h @@ -108,7 +108,6 @@ void is31fl3731_init_drivers(void); void is31fl3731_init(uint8_t addr); void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3731_select_page(uint8_t addr, uint8_t page); -void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3731_set_value(int index, uint8_t value); void is31fl3731_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c index 5c96ce804c97df0aa7eab933a3983934a489c4a2..b188d128d9191875cbd44f665c0526c1d386b3d2 100644 --- a/drivers/led/issi/is31fl3731.c +++ b/drivers/led/issi/is31fl3731.c @@ -56,7 +56,7 @@ void is31fl3731_select_page(uint8_t addr, uint8_t page) { is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, page); } -void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 9 transfers of 16 bytes. @@ -64,10 +64,10 @@ void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) { #if IS31FL3731_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3731_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, IS31FL3731_FRAME_REG_PWM + i, pwm_buffer + i, 16, IS31FL3731_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, IS31FL3731_FRAME_REG_PWM + i, g_pwm_buffer[index] + i, 16, IS31FL3731_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, IS31FL3731_FRAME_REG_PWM + i, pwm_buffer + i, 16, IS31FL3731_I2C_TIMEOUT); + i2c_writeReg(addr << 1, IS31FL3731_FRAME_REG_PWM + i, g_pwm_buffer[index] + i, 16, IS31FL3731_I2C_TIMEOUT); #endif } } @@ -209,7 +209,7 @@ void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bo void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - is31fl3731_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3731_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h index b144aa48ed8b59e24a121e7a1ab10b2e29c05450..71cf38db4dca8533436bc1bc035f3c4c1e99c623 100644 --- a/drivers/led/issi/is31fl3731.h +++ b/drivers/led/issi/is31fl3731.h @@ -109,7 +109,6 @@ void is31fl3731_init_drivers(void); void is31fl3731_init(uint8_t addr); void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3731_select_page(uint8_t addr, uint8_t page); -void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3733-mono.c b/drivers/led/issi/is31fl3733-mono.c index 008feb50f4840eda003381a5b50708dede5c8ca0..de20c169fea16abf006954d5d862d97c92d32e1b 100644 --- a/drivers/led/issi/is31fl3733-mono.c +++ b/drivers/led/issi/is31fl3733-mono.c @@ -89,7 +89,7 @@ void is31fl3733_select_page(uint8_t addr, uint8_t page) { is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, page); } -void is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 1 is already selected. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -97,10 +97,10 @@ void is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) { #if IS31FL3733_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3733_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3733_I2C_TIMEOUT); #endif } } @@ -213,7 +213,7 @@ void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3733_select_page(addr, IS31FL3733_COMMAND_PWM); - is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3733_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3733-mono.h b/drivers/led/issi/is31fl3733-mono.h index 2fae1f1afe1a8826a265aeeb84abc1ac46521f85..591fca907a9c90c4a3d751d9c16056b7e60e01c2 100644 --- a/drivers/led/issi/is31fl3733-mono.h +++ b/drivers/led/issi/is31fl3733-mono.h @@ -118,7 +118,6 @@ void is31fl3733_init_drivers(void); void is31fl3733_init(uint8_t addr, uint8_t sync); void is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3733_select_page(uint8_t addr, uint8_t page); -void is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3733_set_value(int index, uint8_t value); void is31fl3733_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c index cc4dd53d6f58ef4cdaaac37ad73e46ebf32752ff..de2dbd74d5892e5f7bdd9d738ee9c081f3afef9a 100644 --- a/drivers/led/issi/is31fl3733.c +++ b/drivers/led/issi/is31fl3733.c @@ -88,7 +88,7 @@ void is31fl3733_select_page(uint8_t addr, uint8_t page) { is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, page); } -void is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 1 is already selected. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -96,10 +96,10 @@ void is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) { #if IS31FL3733_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3733_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3733_I2C_TIMEOUT); #endif } } @@ -228,7 +228,7 @@ void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3733_select_page(addr, IS31FL3733_COMMAND_PWM); - is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3733_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h index a1b44b575180cc03efbf2d1f54a018c33ad8b3a4..532d35ed577ec334f8957473b29015e75fb4a5db 100644 --- a/drivers/led/issi/is31fl3733.h +++ b/drivers/led/issi/is31fl3733.h @@ -143,7 +143,6 @@ void is31fl3733_init_drivers(void); void is31fl3733_init(uint8_t addr, uint8_t sync); void is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3733_select_page(uint8_t addr, uint8_t page); -void is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3736-mono.c b/drivers/led/issi/is31fl3736-mono.c index e4afa75ac611af9544e33ba9a11911e70528692a..1cbc6edcff8cd403d75cca023a0176bb573ea7e8 100644 --- a/drivers/led/issi/is31fl3736-mono.c +++ b/drivers/led/issi/is31fl3736-mono.c @@ -73,7 +73,7 @@ void is31fl3736_select_page(uint8_t addr, uint8_t page) { is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, page); } -void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 1 is already selected. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -81,10 +81,10 @@ void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) { #if IS31FL3736_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3736_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3736_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3736_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3736_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3736_I2C_TIMEOUT); #endif } } @@ -202,7 +202,7 @@ void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3736_select_page(addr, IS31FL3736_COMMAND_PWM); - is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3736_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3736-mono.h b/drivers/led/issi/is31fl3736-mono.h index 5e80eb646ab1e3b80ec9f62bbc5ac2e4c1b66dcc..43d1548c028ec952e7124696654a7b3f33011496 100644 --- a/drivers/led/issi/is31fl3736-mono.h +++ b/drivers/led/issi/is31fl3736-mono.h @@ -113,7 +113,6 @@ void is31fl3736_init_drivers(void); void is31fl3736_init(uint8_t addr); void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3736_select_page(uint8_t addr, uint8_t page); -void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3736_set_value(int index, uint8_t value); void is31fl3736_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index 6d16efbbe14e9a2409e46ede27116318b750381b..979d1add85d507a40c09a39cc4a147ef9bb06687 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c @@ -73,7 +73,7 @@ void is31fl3736_select_page(uint8_t addr, uint8_t page) { is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, page); } -void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 1 is already selected. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -81,10 +81,10 @@ void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) { #if IS31FL3736_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3736_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3736_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3736_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3736_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3736_I2C_TIMEOUT); #endif } } @@ -219,7 +219,7 @@ void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3736_select_page(addr, IS31FL3736_COMMAND_PWM); - is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3736_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h index 5f0b11e46adff84e566964e82e44e00be2bce39b..086edc0e4a0ef8bbed30c179082d17f76838ba92 100644 --- a/drivers/led/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h @@ -127,7 +127,6 @@ void is31fl3736_init_drivers(void); void is31fl3736_init(uint8_t addr); void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3736_select_page(uint8_t addr, uint8_t page); -void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3737-mono.c b/drivers/led/issi/is31fl3737-mono.c index 9cc4d11d74333716396c1c22657cd2788e6a3468..067d98d5eed89c73e791d5150c6da5c30d48a9af 100644 --- a/drivers/led/issi/is31fl3737-mono.c +++ b/drivers/led/issi/is31fl3737-mono.c @@ -76,7 +76,7 @@ void is31fl3737_select_page(uint8_t addr, uint8_t page) { is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, page); } -void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 1 is already selected. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -84,10 +84,10 @@ void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) { #if IS31FL3737_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3737_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3737_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3737_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3737_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3737_I2C_TIMEOUT); #endif } } @@ -199,7 +199,7 @@ void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3737_select_page(addr, IS31FL3737_COMMAND_PWM); - is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3737_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3737-mono.h b/drivers/led/issi/is31fl3737-mono.h index a11d2ef4234e176ffdb7661e0cd44f4d3f8ace3f..6d081bfa00d0af47c14e069ad64c8e61e244c215 100644 --- a/drivers/led/issi/is31fl3737-mono.h +++ b/drivers/led/issi/is31fl3737-mono.h @@ -103,7 +103,6 @@ void is31fl3737_init_drivers(void); void is31fl3737_init(uint8_t addr); void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3737_select_page(uint8_t addr, uint8_t page); -void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3737_set_value(int index, uint8_t value); void is31fl3737_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c index 318695d298785d605a0a1a1aae0e5701e601e614..2df189bcea2d3bf80997ad190d6c813918c7ea0a 100644 --- a/drivers/led/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c @@ -76,7 +76,7 @@ void is31fl3737_select_page(uint8_t addr, uint8_t page) { is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, page); } -void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 1 is already selected. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -84,10 +84,10 @@ void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) { #if IS31FL3737_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3737_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3737_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3737_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, IS31FL3737_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3737_I2C_TIMEOUT); #endif } } @@ -215,7 +215,7 @@ void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3737_select_page(addr, IS31FL3737_COMMAND_PWM); - is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3737_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h index a707808b51fcd005f98a829ad4e44da2a45f50da..7f0d86df82352ec88ed0a970b5e3ad9646a6c3c9 100644 --- a/drivers/led/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h @@ -120,7 +120,6 @@ void is31fl3737_init_drivers(void); void is31fl3737_init(uint8_t addr); void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3737_select_page(uint8_t addr, uint8_t page); -void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3741-mono.c b/drivers/led/issi/is31fl3741-mono.c index 093a7d1133bd133db2db9df66d014f4188ace873..37ce58ed3f4453c7cec04e1d60aa6c8f2e8fa37c 100644 --- a/drivers/led/issi/is31fl3741-mono.c +++ b/drivers/led/issi/is31fl3741-mono.c @@ -79,7 +79,7 @@ void is31fl3741_select_page(uint8_t addr, uint8_t page) { is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, page); } -void is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assume page 0 is already selected for (uint16_t i = 0; i < 342; i += 18) { @@ -89,20 +89,20 @@ void is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3741_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i % 180, pwm_buffer + i, 18, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i % 180, g_pwm_buffer[index] + i, 18, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i % 180, pwm_buffer + i, 18, IS31FL3741_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i % 180, g_pwm_buffer[index] + i, 18, IS31FL3741_I2C_TIMEOUT); #endif } // transfer the left cause the total number is 351 #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { - if (i2c_writeReg(addr << 1, 162, pwm_buffer + 342, 9, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, 162, g_pwm_buffer[index] + 342, 9, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, 162, pwm_buffer + 342, 9, IS31FL3741_I2C_TIMEOUT); + i2c_writeReg(addr << 1, 162, g_pwm_buffer[index] + 342, 9, IS31FL3741_I2C_TIMEOUT); #endif } @@ -199,7 +199,7 @@ void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3741_select_page(addr, IS31FL3741_COMMAND_PWM_0); - is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3741_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3741-mono.h b/drivers/led/issi/is31fl3741-mono.h index 06c7da5afd8f8c012e38184e1c68718405cf2108..d2ba1b7d1744ea24a734ef9db6b40ae992c03d5b 100644 --- a/drivers/led/issi/is31fl3741-mono.h +++ b/drivers/led/issi/is31fl3741-mono.h @@ -105,7 +105,6 @@ void is31fl3741_init_drivers(void); void is31fl3741_init(uint8_t addr); void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3741_select_page(uint8_t addr, uint8_t page); -void is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3741_set_value(int index, uint8_t value); void is31fl3741_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c index b5d041af4fab9b1cb67491a8ed61045dcf4e8c42..6eca5009c28691a0414a63f6d7bb518a44e26ea3 100644 --- a/drivers/led/issi/is31fl3741.c +++ b/drivers/led/issi/is31fl3741.c @@ -79,7 +79,7 @@ void is31fl3741_select_page(uint8_t addr, uint8_t page) { is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, page); } -void is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assume page 0 is already selected for (uint16_t i = 0; i < 342; i += 18) { @@ -89,20 +89,20 @@ void is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3741_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i % 180, pwm_buffer + i, 18, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i % 180, g_pwm_buffer[index] + i, 18, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i % 180, pwm_buffer + i, 18, IS31FL3741_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i % 180, g_pwm_buffer[index] + i, 18, IS31FL3741_I2C_TIMEOUT); #endif } // transfer the left cause the total number is 351 #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { - if (i2c_writeReg(addr << 1, 162, pwm_buffer + 342, 9, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, 162, g_pwm_buffer[index] + 342, 9, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, 162, pwm_buffer + 342, 9, IS31FL3741_I2C_TIMEOUT); + i2c_writeReg(addr << 1, 162, g_pwm_buffer[index] + 342, 9, IS31FL3741_I2C_TIMEOUT); #endif } @@ -213,7 +213,7 @@ void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3741_select_page(addr, IS31FL3741_COMMAND_PWM_0); - is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3741_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h index 92127a3c4ec8af726c4a9bda3c370f4c459c72e0..e7777a88d5fec2b0997f0e8fdf54183a1d36b8e4 100644 --- a/drivers/led/issi/is31fl3741.h +++ b/drivers/led/issi/is31fl3741.h @@ -122,7 +122,6 @@ void is31fl3741_init_drivers(void); void is31fl3741_init(uint8_t addr); void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3741_select_page(uint8_t addr, uint8_t page); -void is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3742a-mono.c b/drivers/led/issi/is31fl3742a-mono.c index c9572520b2f078373cb459c8b7f88a953fd4c46b..f36605f14a19245ae5d244071457341ef0c490e9 100644 --- a/drivers/led/issi/is31fl3742a-mono.c +++ b/drivers/led/issi/is31fl3742a-mono.c @@ -74,7 +74,7 @@ void is31fl3742a_select_page(uint8_t addr, uint8_t page) { is31fl3742a_write_register(addr, IS31FL3742A_REG_COMMAND, page); } -void is31fl3742a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3742a_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 6 transfers of 30 bytes. @@ -82,10 +82,10 @@ void is31fl3742a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3742A_PWM_REGISTER_COUNT; i += 30) { #if IS31FL3742A_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3742A_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 30, IS31FL3742A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 30, IS31FL3742A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 30, IS31FL3742A_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 30, IS31FL3742A_I2C_TIMEOUT); #endif } } @@ -183,7 +183,7 @@ void is31fl3742a_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3742a_select_page(addr, IS31FL3742A_COMMAND_PWM); - is31fl3742a_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3742a_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3742a-mono.h b/drivers/led/issi/is31fl3742a-mono.h index 04614e4f6ea541a54648932f6d11d5598cc81a53..8de284fa7d901c9ec3c67dd81015c0321929fa61 100644 --- a/drivers/led/issi/is31fl3742a-mono.h +++ b/drivers/led/issi/is31fl3742a-mono.h @@ -75,7 +75,6 @@ void is31fl3742a_init_drivers(void); void is31fl3742a_init(uint8_t addr); void is31fl3742a_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3742a_select_page(uint8_t addr, uint8_t page); -void is31fl3742a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3742a_set_value(int index, uint8_t value); void is31fl3742a_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3742a.c b/drivers/led/issi/is31fl3742a.c index b849c714ac03d370e9c9a8fc8954d0d4e66ab6bc..1ba8ee7b4729ceaeff47b971fa06857962247c1b 100644 --- a/drivers/led/issi/is31fl3742a.c +++ b/drivers/led/issi/is31fl3742a.c @@ -74,7 +74,7 @@ void is31fl3742a_select_page(uint8_t addr, uint8_t page) { is31fl3742a_write_register(addr, IS31FL3742A_REG_COMMAND, page); } -void is31fl3742a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3742a_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 6 transfers of 30 bytes. @@ -82,10 +82,10 @@ void is31fl3742a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3742A_PWM_REGISTER_COUNT; i += 30) { #if IS31FL3742A_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3742A_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 30, IS31FL3742A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 30, IS31FL3742A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 30, IS31FL3742A_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 30, IS31FL3742A_I2C_TIMEOUT); #endif } } @@ -187,7 +187,7 @@ void is31fl3742a_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3742a_select_page(addr, IS31FL3742A_COMMAND_PWM); - is31fl3742a_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3742a_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3742a.h b/drivers/led/issi/is31fl3742a.h index 304dd5925b35d13c5d5883b1daee240f55bed40f..5f34a3cdb9740b5b7c7c87033120fd8fdfe26347 100644 --- a/drivers/led/issi/is31fl3742a.h +++ b/drivers/led/issi/is31fl3742a.h @@ -77,7 +77,6 @@ void is31fl3742a_init_drivers(void); void is31fl3742a_init(uint8_t addr); void is31fl3742a_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3742a_select_page(uint8_t addr, uint8_t page); -void is31fl3742a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3742a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3742a_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3743a-mono.c b/drivers/led/issi/is31fl3743a-mono.c index 30d26badb5c9a24d550fde1143769bdc8b5a5832..b49decf6340161401de9adfb242154fc0796385e 100644 --- a/drivers/led/issi/is31fl3743a-mono.c +++ b/drivers/led/issi/is31fl3743a-mono.c @@ -83,7 +83,7 @@ void is31fl3743a_select_page(uint8_t addr, uint8_t page) { is31fl3743a_write_register(addr, IS31FL3743A_REG_COMMAND, page); } -void is31fl3743a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3743a_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 11 transfers of 18 bytes. @@ -91,10 +91,10 @@ void is31fl3743a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3743A_PWM_REGISTER_COUNT; i += 18) { #if IS31FL3743A_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3743A_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3743A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3743A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3743A_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3743A_I2C_TIMEOUT); #endif } } @@ -192,7 +192,7 @@ void is31fl3743a_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3743a_select_page(addr, IS31FL3743A_COMMAND_PWM); - is31fl3743a_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3743a_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3743a-mono.h b/drivers/led/issi/is31fl3743a-mono.h index 544531ec2566b935df9b1adba0e94eb8adf81f2a..8ec3ce075534bad3a39384e842ffa69cf705f84a 100644 --- a/drivers/led/issi/is31fl3743a-mono.h +++ b/drivers/led/issi/is31fl3743a-mono.h @@ -85,7 +85,6 @@ void is31fl3743a_init_drivers(void); void is31fl3743a_init(uint8_t addr, uint8_t sync); void is31fl3743a_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3743a_select_page(uint8_t addr, uint8_t page); -void is31fl3743a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3743a_set_value(int index, uint8_t value); void is31fl3743a_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3743a.c b/drivers/led/issi/is31fl3743a.c index 71a4bd1b32c013a1b27221c38eb569506e17ea8e..df094952a113db7492d12a39e115194de2e8cd32 100644 --- a/drivers/led/issi/is31fl3743a.c +++ b/drivers/led/issi/is31fl3743a.c @@ -83,7 +83,7 @@ void is31fl3743a_select_page(uint8_t addr, uint8_t page) { is31fl3743a_write_register(addr, IS31FL3743A_REG_COMMAND, page); } -void is31fl3743a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3743a_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 11 transfers of 18 bytes. @@ -91,10 +91,10 @@ void is31fl3743a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3743A_PWM_REGISTER_COUNT; i += 18) { #if IS31FL3743A_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3743A_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3743A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3743A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3743A_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3743A_I2C_TIMEOUT); #endif } } @@ -196,7 +196,7 @@ void is31fl3743a_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3743a_select_page(addr, IS31FL3743A_COMMAND_PWM); - is31fl3743a_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3743a_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3743a.h b/drivers/led/issi/is31fl3743a.h index 87bb63e6b440a24d49a33e48c39f160af95b38c4..381b8537164bfc23adefd4cf781ea59f3882f547 100644 --- a/drivers/led/issi/is31fl3743a.h +++ b/drivers/led/issi/is31fl3743a.h @@ -87,7 +87,6 @@ void is31fl3743a_init_drivers(void); void is31fl3743a_init(uint8_t addr, uint8_t sync); void is31fl3743a_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3743a_select_page(uint8_t addr, uint8_t page); -void is31fl3743a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3743a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3743a_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3745-mono.c b/drivers/led/issi/is31fl3745-mono.c index 7ba74d7c185c6b3435022b77dab223ce0d84ef4a..2c9f5accbabf0bf0a00f470d61418f947d92a914 100644 --- a/drivers/led/issi/is31fl3745-mono.c +++ b/drivers/led/issi/is31fl3745-mono.c @@ -83,7 +83,7 @@ void is31fl3745_select_page(uint8_t addr, uint8_t page) { is31fl3745_write_register(addr, IS31FL3745_REG_COMMAND, page); } -void is31fl3745_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3745_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 8 transfers of 18 bytes. @@ -91,10 +91,10 @@ void is31fl3745_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3745_PWM_REGISTER_COUNT; i += 18) { #if IS31FL3745_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3745_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3745_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3745_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3745_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3745_I2C_TIMEOUT); #endif } } @@ -192,7 +192,7 @@ void is31fl3745_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3745_select_page(addr, IS31FL3745_COMMAND_PWM); - is31fl3745_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3745_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3745-mono.h b/drivers/led/issi/is31fl3745-mono.h index dbff193acdded4b51fbd35adb876a0b52aeae085..f60f0acfd9664d8ad4daf32e4ff4e12239d9cc85 100644 --- a/drivers/led/issi/is31fl3745-mono.h +++ b/drivers/led/issi/is31fl3745-mono.h @@ -85,7 +85,6 @@ void is31fl3745_init_drivers(void); void is31fl3745_init(uint8_t addr, uint8_t sync); void is31fl3745_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3745_select_page(uint8_t addr, uint8_t page); -void is31fl3745_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3745_set_value(int index, uint8_t value); void is31fl3745_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3745.c b/drivers/led/issi/is31fl3745.c index ccf5217230d4055d57370a16f1c3072a2cecb978..aed8876f289fbe9a131ffa24a81459414102c558 100644 --- a/drivers/led/issi/is31fl3745.c +++ b/drivers/led/issi/is31fl3745.c @@ -83,7 +83,7 @@ void is31fl3745_select_page(uint8_t addr, uint8_t page) { is31fl3745_write_register(addr, IS31FL3745_REG_COMMAND, page); } -void is31fl3745_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3745_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 8 transfers of 18 bytes. @@ -91,10 +91,10 @@ void is31fl3745_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3745_PWM_REGISTER_COUNT; i += 18) { #if IS31FL3745_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3745_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3745_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3745_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3745_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3745_I2C_TIMEOUT); #endif } } @@ -196,7 +196,7 @@ void is31fl3745_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3745_select_page(addr, IS31FL3745_COMMAND_PWM); - is31fl3745_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3745_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3745.h b/drivers/led/issi/is31fl3745.h index f0bffb6c53008420e2fc33eaec92566b4bdf6743..3c67f7ecc796c9e8f39105cc4ecd6962b2aac081 100644 --- a/drivers/led/issi/is31fl3745.h +++ b/drivers/led/issi/is31fl3745.h @@ -87,7 +87,6 @@ void is31fl3745_init_drivers(void); void is31fl3745_init(uint8_t addr, uint8_t sync); void is31fl3745_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3745_select_page(uint8_t addr, uint8_t page); -void is31fl3745_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3745_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3745_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3746a-mono.c b/drivers/led/issi/is31fl3746a-mono.c index 56b311f6536ac5d291f1295183c6cea0175bcd9c..d66866aacbe1d84538d49ba613434ab95e2e6060 100644 --- a/drivers/led/issi/is31fl3746a-mono.c +++ b/drivers/led/issi/is31fl3746a-mono.c @@ -74,7 +74,7 @@ void is31fl3746a_select_page(uint8_t addr, uint8_t page) { is31fl3746a_write_register(addr, IS31FL3746A_REG_COMMAND, page); } -void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 4 transfers of 18 bytes. @@ -82,10 +82,10 @@ void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3746A_PWM_REGISTER_COUNT; i += 18) { #if IS31FL3746A_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3746A_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3746A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3746A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3746A_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3746A_I2C_TIMEOUT); #endif } } @@ -184,7 +184,7 @@ void is31fl3746a_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3746a_select_page(addr, IS31FL3746A_COMMAND_PWM); - is31fl3746a_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3746a_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3746a-mono.h b/drivers/led/issi/is31fl3746a-mono.h index 12bd501cb54dd7496284994ea8d5b1ed79beb10a..002a91f1752d4c32e781ad418c36138f5021dde1 100644 --- a/drivers/led/issi/is31fl3746a-mono.h +++ b/drivers/led/issi/is31fl3746a-mono.h @@ -87,7 +87,6 @@ void is31fl3746a_init_drivers(void); void is31fl3746a_init(uint8_t addr); void is31fl3746a_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3746a_select_page(uint8_t addr, uint8_t page); -void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3746a_set_value(int index, uint8_t value); void is31fl3746a_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3746a.c b/drivers/led/issi/is31fl3746a.c index 216f59271b65a9a50337b27556f5d8d7a22d4d90..17346f39a431e0945b08b41025c2644538040e97 100644 --- a/drivers/led/issi/is31fl3746a.c +++ b/drivers/led/issi/is31fl3746a.c @@ -74,7 +74,7 @@ void is31fl3746a_select_page(uint8_t addr, uint8_t page) { is31fl3746a_write_register(addr, IS31FL3746A_REG_COMMAND, page); } -void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 0 is already selected. // Transmit PWM registers in 4 transfers of 18 bytes. @@ -82,10 +82,10 @@ void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < IS31FL3746A_PWM_REGISTER_COUNT; i += 18) { #if IS31FL3746A_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3746A_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3746A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3746A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i + 1, pwm_buffer + i, 18, IS31FL3746A_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i + 1, g_pwm_buffer[index] + i, 18, IS31FL3746A_I2C_TIMEOUT); #endif } } @@ -188,7 +188,7 @@ void is31fl3746a_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3746a_select_page(addr, IS31FL3746A_COMMAND_PWM); - is31fl3746a_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3746a_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3746a.h b/drivers/led/issi/is31fl3746a.h index 870b6ebc88e5ccb2ed095220dbb59ecaa2c4cb63..32647a37bdeba846401b0f88204cd89027dca0b4 100644 --- a/drivers/led/issi/is31fl3746a.h +++ b/drivers/led/issi/is31fl3746a.h @@ -89,7 +89,6 @@ void is31fl3746a_init_drivers(void); void is31fl3746a_init(uint8_t addr); void is31fl3746a_write_register(uint8_t addr, uint8_t reg, uint8_t data); void is31fl3746a_select_page(uint8_t addr, uint8_t page); -void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3746a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3746a_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/snled27351-mono.c b/drivers/led/snled27351-mono.c index 6b1b1456b420d05b5e5a6f0d9a1e667a13576776..f75e81ef12e60c81aa3cf5745e781db3bd753e21 100644 --- a/drivers/led/snled27351-mono.c +++ b/drivers/led/snled27351-mono.c @@ -63,7 +63,7 @@ void snled27351_select_page(uint8_t addr, uint8_t page) { snled27351_write_register(addr, SNLED27351_REG_COMMAND, page); } -void snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void snled27351_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes PG1 is already selected. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -71,10 +71,10 @@ void snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 16) { #if SNLED27351_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < SNLED27351_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, SNLED27351_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, SNLED27351_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, SNLED27351_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, SNLED27351_I2C_TIMEOUT); #endif } } @@ -196,7 +196,7 @@ void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { snled27351_select_page(addr, SNLED27351_COMMAND_PWM); - snled27351_write_pwm_buffer(addr, g_pwm_buffer[index]); + snled27351_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/snled27351-mono.h b/drivers/led/snled27351-mono.h index 8188b075ff60968c187958a8e1bc4c86acd160b0..3a221156234c223f1f597d5bd08418e807cbdda1 100644 --- a/drivers/led/snled27351-mono.h +++ b/drivers/led/snled27351-mono.h @@ -157,7 +157,6 @@ void snled27351_init_drivers(void); void snled27351_init(uint8_t addr); void snled27351_select_page(uint8_t addr, uint8_t page); void snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void snled27351_set_value(int index, uint8_t value); void snled27351_set_value_all(uint8_t value); diff --git a/drivers/led/snled27351.c b/drivers/led/snled27351.c index 43b6982e00eb4f3941a8d6c04782ff6c0c2e3b31..52ec54c34b4caabc9ebb48c9fd11dcbfe1c7f7e3 100644 --- a/drivers/led/snled27351.c +++ b/drivers/led/snled27351.c @@ -63,7 +63,7 @@ void snled27351_select_page(uint8_t addr, uint8_t page) { snled27351_write_register(addr, SNLED27351_REG_COMMAND, page); } -void snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void snled27351_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes PG1 is already selected. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -71,10 +71,10 @@ void snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { for (uint8_t i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 16) { #if SNLED27351_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < SNLED27351_I2C_PERSISTENCE; j++) { - if (i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, SNLED27351_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; + if (i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, SNLED27351_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(addr << 1, i, pwm_buffer + i, 16, SNLED27351_I2C_TIMEOUT); + i2c_writeReg(addr << 1, i, g_pwm_buffer[index] + i, 16, SNLED27351_I2C_TIMEOUT); #endif } } @@ -212,7 +212,7 @@ void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { snled27351_select_page(addr, SNLED27351_COMMAND_PWM); - snled27351_write_pwm_buffer(addr, g_pwm_buffer[index]); + snled27351_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/snled27351.h b/drivers/led/snled27351.h index 5c50bf27f19c45447c0044df525436599699e3b0..4b811719d9ecfd8451b5ef3ce77815864f3e0eb6 100644 --- a/drivers/led/snled27351.h +++ b/drivers/led/snled27351.h @@ -171,7 +171,6 @@ void snled27351_init_drivers(void); void snled27351_init(uint8_t addr); void snled27351_select_page(uint8_t addr, uint8_t page); void snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void snled27351_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void snled27351_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/keyboards/input_club/k_type/is31fl3733-dual.c b/keyboards/input_club/k_type/is31fl3733-dual.c index ade8af802fe0a32e0cf41d19f85811d96307e100..7e32ba30b0a328295e1092287921400a522e6d01 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.c +++ b/keyboards/input_club/k_type/is31fl3733-dual.c @@ -75,7 +75,7 @@ bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] void is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) { #if IS31FL3733_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { - if (i2c_writeReg(index, addr << 1, reg, &data, 1, IS31FL3733_I2C_TIMEOUT) == 0) break; + if (i2c_writeReg(index, addr << 1, reg, &data, 1, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else i2c_writeReg(index, addr << 1, reg, &data, 1, IS31FL3733_I2C_TIMEOUT); @@ -87,18 +87,18 @@ void is31fl3733_select_page(uint8_t index, uint8_t addr, uint8_t page) { is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND, page); } -void is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t index) { // Assumes page 1 is already selected. // Transmit PWM registers in 12 transfers of 16 bytes. // Iterate over the pwm_buffer contents at 16 byte intervals. - for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) { + for (uint8_t i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) { #if IS31FL3733_I2C_PERSISTENCE > 0 - for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { - if (i2c_writeReg(index, addr << 1, i, pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT) == 0) break; + for (uint8_t j = 0; j < IS31FL3733_I2C_PERSISTENCE; j++) { + if (i2c_writeReg(index, addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; } #else - i2c_writeReg(index, addr << 1, i, pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT); + i2c_writeReg(index, addr << 1, i, g_pwm_buffer[index] + i, 16, IS31FL3733_I2C_TIMEOUT); #endif } } @@ -216,7 +216,7 @@ void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { is31fl3733_select_page(index, addr, IS31FL3733_COMMAND_PWM); - is31fl3733_write_pwm_buffer(index, addr, g_pwm_buffer[index]); + is31fl3733_write_pwm_buffer(addr, index); g_pwm_buffer_update_required[index] = false; } diff --git a/keyboards/input_club/k_type/is31fl3733-dual.h b/keyboards/input_club/k_type/is31fl3733-dual.h index 9cdfb29f748bbcd21623a486872f33c8a586835e..1237fc77d1e7a70beca8133448a2a963c814278b 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.h +++ b/keyboards/input_club/k_type/is31fl3733-dual.h @@ -86,7 +86,6 @@ void is31fl3733_init_drivers(void); void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync); void is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data); void is31fl3733_select_page(uint8_t index, uint8_t addr, uint8_t page); -void is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer); void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue);