summaryrefslogtreecommitdiff
path: root/drivers/led
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2024-01-08 15:54:26 +1100
committerGitHub <noreply@github.com>2024-01-08 04:54:26 +0000
commit368a2eb08ff291d863d5c273bfb09fc6fa6566d1 (patch)
treee8e2139654d4e662d4755ccc633759d7f3909b59 /drivers/led
parent7fb8dd1440caf933da6ef4f6b21c3b8af0bc920b (diff)
is31fl3733: change `write_register()` return type to `void` (#22824)
Diffstat (limited to 'drivers/led')
-rw-r--r--drivers/led/issi/is31fl3733-mono.c12
-rw-r--r--drivers/led/issi/is31fl3733-mono.h2
-rw-r--r--drivers/led/issi/is31fl3733.c12
-rw-r--r--drivers/led/issi/is31fl3733.h2
4 files changed, 8 insertions, 20 deletions
diff --git a/drivers/led/issi/is31fl3733-mono.c b/drivers/led/issi/is31fl3733-mono.c
index 21cd65a154..bd3d15c516 100644
--- a/drivers/led/issi/is31fl3733-mono.c
+++ b/drivers/led/issi/is31fl3733-mono.c
@@ -77,23 +77,17 @@ bool g_pwm_buffer_update_required[IS31FL3733_DRIVER_COUNT] = {false};
77uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][IS31FL3733_LED_CONTROL_REGISTER_COUNT] = {0}; 77uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][IS31FL3733_LED_CONTROL_REGISTER_COUNT] = {0};
78bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false}; 78bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false};
79 79
80bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { 80void is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
81 // If the transaction fails function returns false.
82 i2c_transfer_buffer[0] = reg; 81 i2c_transfer_buffer[0] = reg;
83 i2c_transfer_buffer[1] = data; 82 i2c_transfer_buffer[1] = data;
84 83
85#if IS31FL3733_I2C_PERSISTENCE > 0 84#if IS31FL3733_I2C_PERSISTENCE > 0
86 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { 85 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
87 if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { 86 if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) == 0) break;
88 return false;
89 }
90 } 87 }
91#else 88#else
92 if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { 89 i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT);
93 return false;
94 }
95#endif 90#endif
96 return true;
97} 91}
98 92
99void is31fl3733_select_page(uint8_t addr, uint8_t page) { 93void is31fl3733_select_page(uint8_t addr, uint8_t page) {
diff --git a/drivers/led/issi/is31fl3733-mono.h b/drivers/led/issi/is31fl3733-mono.h
index dcb33e448f..5a588834b8 100644
--- a/drivers/led/issi/is31fl3733-mono.h
+++ b/drivers/led/issi/is31fl3733-mono.h
@@ -116,7 +116,7 @@ extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT];
116 116
117void is31fl3733_init_drivers(void); 117void is31fl3733_init_drivers(void);
118void is31fl3733_init(uint8_t addr, uint8_t sync); 118void is31fl3733_init(uint8_t addr, uint8_t sync);
119bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); 119void is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
120void is31fl3733_select_page(uint8_t addr, uint8_t page); 120void is31fl3733_select_page(uint8_t addr, uint8_t page);
121bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); 121bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
122 122
diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c
index 06de119c69..ad98bd3cec 100644
--- a/drivers/led/issi/is31fl3733.c
+++ b/drivers/led/issi/is31fl3733.c
@@ -76,23 +76,17 @@ bool g_pwm_buffer_update_required[IS31FL3733_DRIVER_COUNT] = {false};
76uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][IS31FL3733_LED_CONTROL_REGISTER_COUNT] = {0}; 76uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][IS31FL3733_LED_CONTROL_REGISTER_COUNT] = {0};
77bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false}; 77bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false};
78 78
79bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { 79void is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
80 // If the transaction fails function returns false.
81 i2c_transfer_buffer[0] = reg; 80 i2c_transfer_buffer[0] = reg;
82 i2c_transfer_buffer[1] = data; 81 i2c_transfer_buffer[1] = data;
83 82
84#if IS31FL3733_I2C_PERSISTENCE > 0 83#if IS31FL3733_I2C_PERSISTENCE > 0
85 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { 84 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
86 if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { 85 if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) == 0) break;
87 return false;
88 }
89 } 86 }
90#else 87#else
91 if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { 88 i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT);
92 return false;
93 }
94#endif 89#endif
95 return true;
96} 90}
97 91
98void is31fl3733_select_page(uint8_t addr, uint8_t page) { 92void is31fl3733_select_page(uint8_t addr, uint8_t page) {
diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h
index a90325a6e9..f273f1f003 100644
--- a/drivers/led/issi/is31fl3733.h
+++ b/drivers/led/issi/is31fl3733.h
@@ -141,7 +141,7 @@ extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT];
141 141
142void is31fl3733_init_drivers(void); 142void is31fl3733_init_drivers(void);
143void is31fl3733_init(uint8_t addr, uint8_t sync); 143void is31fl3733_init(uint8_t addr, uint8_t sync);
144bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); 144void is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
145void is31fl3733_select_page(uint8_t addr, uint8_t page); 145void is31fl3733_select_page(uint8_t addr, uint8_t page);
146bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); 146bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
147 147