mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	LED drivers: more formatting (#22865)
This commit is contained in:
		
							parent
							
								
									7467231158
								
							
						
					
					
						commit
						8b95dc6e00
					
				@ -134,6 +134,7 @@ void aw20216s_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
				
			|||||||
    if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
 | 
					    if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    g_pwm_buffer[led.driver][led.r]          = red;
 | 
					    g_pwm_buffer[led.driver][led.r]          = red;
 | 
				
			||||||
    g_pwm_buffer[led.driver][led.g]          = green;
 | 
					    g_pwm_buffer[led.driver][led.g]          = green;
 | 
				
			||||||
    g_pwm_buffer[led.driver][led.b]          = blue;
 | 
					    g_pwm_buffer[led.driver][led.b]          = blue;
 | 
				
			||||||
@ -149,8 +150,8 @@ void aw20216s_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
 | 
				
			|||||||
void aw20216s_update_pwm_buffers(pin_t cs_pin, uint8_t index) {
 | 
					void aw20216s_update_pwm_buffers(pin_t cs_pin, uint8_t index) {
 | 
				
			||||||
    if (g_pwm_buffer_update_required[index]) {
 | 
					    if (g_pwm_buffer_update_required[index]) {
 | 
				
			||||||
        aw20216s_write(cs_pin, AW20216S_PAGE_PWM, 0, g_pwm_buffer[index], AW20216S_PWM_REGISTER_COUNT);
 | 
					        aw20216s_write(cs_pin, AW20216S_PAGE_PWM, 0, g_pwm_buffer[index], AW20216S_PWM_REGISTER_COUNT);
 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
        g_pwm_buffer_update_required[index] = false;
 | 
					        g_pwm_buffer_update_required[index] = false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void aw20216s_flush(void) {
 | 
					void aw20216s_flush(void) {
 | 
				
			||||||
 | 
				
			|||||||
@ -120,7 +120,7 @@ void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index);
 | 
				
			|||||||
void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index);
 | 
					void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index);
 | 
				
			||||||
void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t value);
 | 
					void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void is31fl3741_set_pwm_buffer(const is31fl3741_led *pled, uint8_t value);
 | 
					void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void is31fl3741_flush(void);
 | 
					void is31fl3741_flush(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -165,7 +165,7 @@ void is31fl3746a_init(uint8_t addr) {
 | 
				
			|||||||
    wait_ms(10);
 | 
					    wait_ms(10);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void is31fl3746a_set_color(int index, uint8_t value) {
 | 
					void is31fl3746a_set_value(int index, uint8_t value) {
 | 
				
			||||||
    is31fl3746a_led_t led;
 | 
					    is31fl3746a_led_t led;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (index >= 0 && index < IS31FL3746A_LED_COUNT) {
 | 
					    if (index >= 0 && index < IS31FL3746A_LED_COUNT) {
 | 
				
			||||||
 | 
				
			|||||||
@ -66,6 +66,16 @@
 | 
				
			|||||||
#    define IS31FL3746A_LED_COUNT LED_MATRIX_LED_COUNT
 | 
					#    define IS31FL3746A_LED_COUNT LED_MATRIX_LED_COUNT
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(IS31FL3746A_I2C_ADDRESS_4)
 | 
				
			||||||
 | 
					#    define IS31FL3746A_DRIVER_COUNT 4
 | 
				
			||||||
 | 
					#elif defined(IS31FL3746A_I2C_ADDRESS_3)
 | 
				
			||||||
 | 
					#    define IS31FL3746A_DRIVER_COUNT 3
 | 
				
			||||||
 | 
					#elif defined(IS31FL3746A_I2C_ADDRESS_2)
 | 
				
			||||||
 | 
					#    define IS31FL3746A_DRIVER_COUNT 2
 | 
				
			||||||
 | 
					#elif defined(IS31FL3746A_I2C_ADDRESS_1)
 | 
				
			||||||
 | 
					#    define IS31FL3746A_DRIVER_COUNT 1
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct is31fl3746a_led_t {
 | 
					typedef struct is31fl3746a_led_t {
 | 
				
			||||||
    uint8_t driver : 2;
 | 
					    uint8_t driver : 2;
 | 
				
			||||||
    uint8_t v;
 | 
					    uint8_t v;
 | 
				
			||||||
@ -74,7 +84,7 @@ typedef struct is31fl3746a_led_t {
 | 
				
			|||||||
extern const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT];
 | 
					extern const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void is31fl3746a_init_drivers(void);
 | 
					void is31fl3746a_init_drivers(void);
 | 
				
			||||||
void is31fl3746a_init(uint8_t addr, uint8_t sync);
 | 
					void is31fl3746a_init(uint8_t addr);
 | 
				
			||||||
void is31fl3746a_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
					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_select_page(uint8_t addr, uint8_t page);
 | 
				
			||||||
void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
 | 
					void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
 | 
				
			||||||
 | 
				
			|||||||
@ -66,6 +66,16 @@
 | 
				
			|||||||
#    define IS31FL3746A_LED_COUNT RGB_MATRIX_LED_COUNT
 | 
					#    define IS31FL3746A_LED_COUNT RGB_MATRIX_LED_COUNT
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(IS31FL3746A_I2C_ADDRESS_4)
 | 
				
			||||||
 | 
					#    define IS31FL3746A_DRIVER_COUNT 4
 | 
				
			||||||
 | 
					#elif defined(IS31FL3746A_I2C_ADDRESS_3)
 | 
				
			||||||
 | 
					#    define IS31FL3746A_DRIVER_COUNT 3
 | 
				
			||||||
 | 
					#elif defined(IS31FL3746A_I2C_ADDRESS_2)
 | 
				
			||||||
 | 
					#    define IS31FL3746A_DRIVER_COUNT 2
 | 
				
			||||||
 | 
					#elif defined(IS31FL3746A_I2C_ADDRESS_1)
 | 
				
			||||||
 | 
					#    define IS31FL3746A_DRIVER_COUNT 1
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct is31fl3746a_led_t {
 | 
					typedef struct is31fl3746a_led_t {
 | 
				
			||||||
    uint8_t driver : 2;
 | 
					    uint8_t driver : 2;
 | 
				
			||||||
    uint8_t r;
 | 
					    uint8_t r;
 | 
				
			||||||
@ -76,7 +86,7 @@ typedef struct is31fl3746a_led_t {
 | 
				
			|||||||
extern const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT];
 | 
					extern const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void is31fl3746a_init_drivers(void);
 | 
					void is31fl3746a_init_drivers(void);
 | 
				
			||||||
void is31fl3746a_init(uint8_t addr, uint8_t sync);
 | 
					void is31fl3746a_init(uint8_t addr);
 | 
				
			||||||
void is31fl3746a_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
					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_select_page(uint8_t addr, uint8_t page);
 | 
				
			||||||
void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
 | 
					void is31fl3746a_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
 | 
				
			||||||
 | 
				
			|||||||
@ -125,6 +125,7 @@ bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffe
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void is31fl3733_init_drivers(void) {
 | 
					void is31fl3733_init_drivers(void) {
 | 
				
			||||||
    i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN);
 | 
					    i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    is31fl3733_init(0, IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_1);
 | 
					    is31fl3733_init(0, IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_1);
 | 
				
			||||||
#    ifdef USE_I2C2
 | 
					#    ifdef USE_I2C2
 | 
				
			||||||
    i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN);
 | 
					    i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN);
 | 
				
			||||||
@ -180,12 +181,14 @@ void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
					void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
				
			||||||
    is31fl3733_led_t led;
 | 
					    is31fl3733_led_t led;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (index >= 0 && index < IS31FL3733_LED_COUNT) {
 | 
					    if (index >= 0 && index < IS31FL3733_LED_COUNT) {
 | 
				
			||||||
        memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led));
 | 
					        memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
 | 
					        if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        g_pwm_buffer[led.driver][led.r]          = red;
 | 
					        g_pwm_buffer[led.driver][led.r]          = red;
 | 
				
			||||||
        g_pwm_buffer[led.driver][led.g]          = green;
 | 
					        g_pwm_buffer[led.driver][led.g]          = green;
 | 
				
			||||||
        g_pwm_buffer[led.driver][led.b]          = blue;
 | 
					        g_pwm_buffer[led.driver][led.b]          = blue;
 | 
				
			||||||
@ -249,8 +252,9 @@ void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
 | 
				
			|||||||
        for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
 | 
					        for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
 | 
				
			||||||
            is31fl3733_write_register(index, addr, i, g_led_control_registers[index][i]);
 | 
					            is31fl3733_write_register(index, addr, i, g_led_control_registers[index][i]);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					
 | 
				
			||||||
        g_led_control_registers_update_required[index] = false;
 | 
					        g_led_control_registers_update_required[index] = false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void is31fl3733_flush(void) {
 | 
					void is31fl3733_flush(void) {
 | 
				
			||||||
 | 
				
			|||||||
@ -21,6 +21,7 @@
 | 
				
			|||||||
#include <stdint.h>
 | 
					#include <stdint.h>
 | 
				
			||||||
#include <stdbool.h>
 | 
					#include <stdbool.h>
 | 
				
			||||||
#include "progmem.h"
 | 
					#include "progmem.h"
 | 
				
			||||||
 | 
					#include "util.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define IS31FL3733_REG_INTERRUPT_MASK 0xF0
 | 
					#define IS31FL3733_REG_INTERRUPT_MASK 0xF0
 | 
				
			||||||
#define IS31FL3733_REG_INTERRUPT_STATUS 0xF1
 | 
					#define IS31FL3733_REG_INTERRUPT_STATUS 0xF1
 | 
				
			||||||
@ -77,7 +78,7 @@ typedef struct is31fl3733_led_t {
 | 
				
			|||||||
    uint8_t r;
 | 
					    uint8_t r;
 | 
				
			||||||
    uint8_t g;
 | 
					    uint8_t g;
 | 
				
			||||||
    uint8_t b;
 | 
					    uint8_t b;
 | 
				
			||||||
} __attribute__((packed)) is31fl3733_led_t;
 | 
					} PACKED is31fl3733_led_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT];
 | 
					extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user