mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-30 21:02:32 +01:00 
			
		
		
		
	is31fl3731: driver naming cleanups (#21918)
This commit is contained in:
		
							parent
							
								
									1cbb5ae99e
								
							
						
					
					
						commit
						8136eda6d4
					
				| @ -19,9 +19,9 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_<N> | |||||||
| 
 | 
 | ||||||
| | Variable | Description | Default | | | Variable | Description | Default | | ||||||
| |----------|-------------|---------| | |----------|-------------|---------| | ||||||
| | `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | | `IS31FL3731_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | ||||||
| | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | | `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | ||||||
| | `LED_DRIVER_COUNT` | (Required) How many LED driver IC's are present | | | | `IS31FL3731_DRIVER_COUNT` | (Required) How many LED driver IC's are present | | | ||||||
| | `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | | | | `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | | | ||||||
| | `LED_DRIVER_ADDR_1` | (Required) Address for the first LED driver | | | | `LED_DRIVER_ADDR_1` | (Required) Address for the first LED driver | | | ||||||
| | `LED_DRIVER_ADDR_2` | (Optional) Address for the second LED driver | | | | `LED_DRIVER_ADDR_2` | (Optional) Address for the second LED driver | | | ||||||
| @ -41,7 +41,7 @@ Here is an example using 2 drivers. | |||||||
| #define LED_DRIVER_ADDR_1 0b1110100 | #define LED_DRIVER_ADDR_1 0b1110100 | ||||||
| #define LED_DRIVER_ADDR_2 0b1110110 | #define LED_DRIVER_ADDR_2 0b1110110 | ||||||
| 
 | 
 | ||||||
| #define LED_DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define LED_DRIVER_1_LED_TOTAL 25 | #define LED_DRIVER_1_LED_TOTAL 25 | ||||||
| #define LED_DRIVER_2_LED_TOTAL 24 | #define LED_DRIVER_2_LED_TOTAL 24 | ||||||
| #define LED_MATRIX_LED_COUNT (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL) | #define LED_MATRIX_LED_COUNT (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -19,10 +19,10 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_<N>` de | |||||||
| 
 | 
 | ||||||
| | Variable | Description | Default | | | Variable | Description | Default | | ||||||
| |----------|-------------|---------| | |----------|-------------|---------| | ||||||
| | `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | | `IS31FL3731_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | ||||||
| | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | | `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | ||||||
| | `ISSI_3731_DEGHOST` | (Optional) Set this define to enable de-ghosting by halving Vcc during blanking time | | | | `IS31FL3731_DEGHOST` | (Optional) Set this define to enable de-ghosting by halving Vcc during blanking time | | | ||||||
| | `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | | | `IS31FL3731_DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | | ||||||
| | `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | | | `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | | ||||||
| | `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | | | `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | | ||||||
| | `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | | | `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | | ||||||
| @ -42,7 +42,7 @@ Here is an example using 2 drivers. | |||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110110 | #define DRIVER_ADDR_2 0b1110110 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 25 | #define DRIVER_1_LED_TOTAL 25 | ||||||
| #define DRIVER_2_LED_TOTAL 24 | #define DRIVER_2_LED_TOTAL 24 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -18,6 +18,7 @@ | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #include "is31fl3731-simple.h" | #include "is31fl3731-simple.h" | ||||||
|  | #include <string.h> | ||||||
| #include "i2c_master.h" | #include "i2c_master.h" | ||||||
| #include "wait.h" | #include "wait.h" | ||||||
| 
 | 
 | ||||||
| @ -28,34 +29,34 @@ | |||||||
| // 0b1110111 AD <-> VCC
 | // 0b1110111 AD <-> VCC
 | ||||||
| // 0b1110101 AD <-> SCL
 | // 0b1110101 AD <-> SCL
 | ||||||
| // 0b1110110 AD <-> SDA
 | // 0b1110110 AD <-> SDA
 | ||||||
| #define ISSI_ADDR_DEFAULT 0x74 | #define IS31FL3731_I2C_ADDRESS_DEFAULT 0x74 | ||||||
| 
 | 
 | ||||||
| #define ISSI_REG_CONFIG 0x00 | #define IS31FL3731_REG_CONFIG 0x00 | ||||||
| #define ISSI_REG_CONFIG_PICTUREMODE 0x00 | #define IS31FL3731_REG_CONFIG_PICTUREMODE 0x00 | ||||||
| #define ISSI_REG_CONFIG_AUTOPLAYMODE 0x08 | #define IS31FL3731_REG_CONFIG_AUTOPLAYMODE 0x08 | ||||||
| #define ISSI_REG_CONFIG_AUDIOPLAYMODE 0x18 | #define IS31FL3731_REG_CONFIG_AUDIOPLAYMODE 0x18 | ||||||
| 
 | 
 | ||||||
| #define ISSI_CONF_PICTUREMODE 0x00 | #define IS31FL3731_CONF_PICTUREMODE 0x00 | ||||||
| #define ISSI_CONF_AUTOFRAMEMODE 0x04 | #define IS31FL3731_CONF_AUTOFRAMEMODE 0x04 | ||||||
| #define ISSI_CONF_AUDIOMODE 0x08 | #define IS31FL3731_CONF_AUDIOMODE 0x08 | ||||||
| 
 | 
 | ||||||
| #define ISSI_REG_PICTUREFRAME 0x01 | #define IS31FL3731_REG_PICTUREFRAME 0x01 | ||||||
| 
 | 
 | ||||||
| // Not defined in the datasheet -- See AN for IC
 | // Not defined in the datasheet -- See AN for IC
 | ||||||
| #define ISSI_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting
 | #define IS31FL3731_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting
 | ||||||
| 
 | 
 | ||||||
| #define ISSI_REG_SHUTDOWN 0x0A | #define IS31FL3731_REG_SHUTDOWN 0x0A | ||||||
| #define ISSI_REG_AUDIOSYNC 0x06 | #define IS31FL3731_REG_AUDIOSYNC 0x06 | ||||||
| 
 | 
 | ||||||
| #define ISSI_COMMANDREGISTER 0xFD | #define IS31FL3731_COMMANDREGISTER 0xFD | ||||||
| #define ISSI_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine'
 | #define IS31FL3731_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine'
 | ||||||
| 
 | 
 | ||||||
| #ifndef ISSI_TIMEOUT | #ifndef IS31FL3731_I2C_TIMEOUT | ||||||
| #    define ISSI_TIMEOUT 100 | #    define IS31FL3731_I2C_TIMEOUT 100 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifndef ISSI_PERSISTENCE | #ifndef IS31FL3731_I2C_PERSISTENCE | ||||||
| #    define ISSI_PERSISTENCE 0 | #    define IS31FL3731_I2C_PERSISTENCE 0 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| // Transfer buffer for TWITransmitData()
 | // Transfer buffer for TWITransmitData()
 | ||||||
| @ -66,20 +67,20 @@ uint8_t g_twi_transfer_buffer[20]; | |||||||
| // We could optimize this and take out the unused registers from these
 | // We could optimize this and take out the unused registers from these
 | ||||||
| // buffers and the transfers in is31fl3731_write_pwm_buffer() but it's
 | // buffers and the transfers in is31fl3731_write_pwm_buffer() but it's
 | ||||||
| // probably not worth the extra complexity.
 | // probably not worth the extra complexity.
 | ||||||
| uint8_t g_pwm_buffer[LED_DRIVER_COUNT][144]; | uint8_t g_pwm_buffer[IS31FL3731_DRIVER_COUNT][144]; | ||||||
| bool    g_pwm_buffer_update_required[LED_DRIVER_COUNT] = {false}; | bool    g_pwm_buffer_update_required[IS31FL3731_DRIVER_COUNT] = {false}; | ||||||
| 
 | 
 | ||||||
| /* There's probably a better way to init this... */ | /* There's probably a better way to init this... */ | ||||||
| #if LED_DRIVER_COUNT == 1 | #if IS31FL3731_DRIVER_COUNT == 1 | ||||||
| uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}}; | uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {{0}}; | ||||||
| #elif LED_DRIVER_COUNT == 2 | #elif IS31FL3731_DRIVER_COUNT == 2 | ||||||
| uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}}; | uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {{0}, {0}}; | ||||||
| #elif LED_DRIVER_COUNT == 3 | #elif IS31FL3731_DRIVER_COUNT == 3 | ||||||
| uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}, {0}}; | uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {{0}, {0}, {0}}; | ||||||
| #elif LED_DRIVER_COUNT == 4 | #elif IS31FL3731_DRIVER_COUNT == 4 | ||||||
| uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}, {0}, {0}}; | uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18] = {{0}, {0}, {0}, {0}}; | ||||||
| #endif | #endif | ||||||
| bool g_led_control_registers_update_required[LED_DRIVER_COUNT] = {false}; | bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false}; | ||||||
| 
 | 
 | ||||||
| // This is the bit pattern in the LED control registers
 | // This is the bit pattern in the LED control registers
 | ||||||
| // (for matrix A, add one to register for matrix B)
 | // (for matrix A, add one to register for matrix B)
 | ||||||
| @ -99,14 +100,14 @@ void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { | |||||||
|     g_twi_transfer_buffer[0] = reg; |     g_twi_transfer_buffer[0] = reg; | ||||||
|     g_twi_transfer_buffer[1] = data; |     g_twi_transfer_buffer[1] = data; | ||||||
| 
 | 
 | ||||||
| #if ISSI_PERSISTENCE > 0 | #if IS31FL3731_I2C_PERSISTENCE > 0 | ||||||
|     for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { |     for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { | ||||||
|         if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) { |         if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) { | ||||||
|             break; |             break; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| #else | #else | ||||||
|     i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); |     i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT); | ||||||
| #endif | #endif | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -125,12 +126,12 @@ void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { | |||||||
|         // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer
 |         // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer
 | ||||||
|         memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); |         memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); | ||||||
| 
 | 
 | ||||||
| #if ISSI_PERSISTENCE > 0 | #if IS31FL3731_I2C_PERSISTENCE > 0 | ||||||
|         for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { |         for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { | ||||||
|             if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) == 0) break; |             if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break; | ||||||
|         } |         } | ||||||
| #else | #else | ||||||
|         i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT); |         i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT); | ||||||
| #endif | #endif | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -142,26 +143,26 @@ void is31fl3731_init(uint8_t addr) { | |||||||
|     // then disable software shutdown.
 |     // then disable software shutdown.
 | ||||||
| 
 | 
 | ||||||
|     // select "function register" bank
 |     // select "function register" bank
 | ||||||
|     is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); |     is31fl3731_write_register(addr, IS31FL3731_COMMANDREGISTER, IS31FL3731_BANK_FUNCTIONREG); | ||||||
| 
 | 
 | ||||||
|     // enable software shutdown
 |     // enable software shutdown
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); |     is31fl3731_write_register(addr, IS31FL3731_REG_SHUTDOWN, 0x00); | ||||||
| #ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array
 | #ifdef IS31FL3731_DEGHOST // set to enable de-ghosting of the array
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); |     is31fl3731_write_register(addr, IS31FL3731_REG_GHOST_IMAGE_PREVENTION, 0x10); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|     // this delay was copied from other drivers, might not be needed
 |     // this delay was copied from other drivers, might not be needed
 | ||||||
|     wait_ms(10); |     wait_ms(10); | ||||||
| 
 | 
 | ||||||
|     // picture mode
 |     // picture mode
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE); |     is31fl3731_write_register(addr, IS31FL3731_REG_CONFIG, IS31FL3731_REG_CONFIG_PICTUREMODE); | ||||||
|     // display frame 0
 |     // display frame 0
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00); |     is31fl3731_write_register(addr, IS31FL3731_REG_PICTUREFRAME, 0x00); | ||||||
|     // audio sync off
 |     // audio sync off
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00); |     is31fl3731_write_register(addr, IS31FL3731_REG_AUDIOSYNC, 0x00); | ||||||
| 
 | 
 | ||||||
|     // select bank 0
 |     // select bank 0
 | ||||||
|     is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0); |     is31fl3731_write_register(addr, IS31FL3731_COMMANDREGISTER, 0); | ||||||
| 
 | 
 | ||||||
|     // turn off all LEDs in the LED control register
 |     // turn off all LEDs in the LED control register
 | ||||||
|     for (int i = 0x00; i <= 0x11; i++) { |     for (int i = 0x00; i <= 0x11; i++) { | ||||||
| @ -179,15 +180,15 @@ void is31fl3731_init(uint8_t addr) { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     // select "function register" bank
 |     // select "function register" bank
 | ||||||
|     is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); |     is31fl3731_write_register(addr, IS31FL3731_COMMANDREGISTER, IS31FL3731_BANK_FUNCTIONREG); | ||||||
| 
 | 
 | ||||||
|     // disable software shutdown
 |     // disable software shutdown
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01); |     is31fl3731_write_register(addr, IS31FL3731_REG_SHUTDOWN, 0x01); | ||||||
| 
 | 
 | ||||||
|     // select bank 0 and leave it selected.
 |     // select bank 0 and leave it selected.
 | ||||||
|     // most usage after initialization is just writing PWM buffers in bank 0
 |     // most usage after initialization is just writing PWM buffers in bank 0
 | ||||||
|     // as there's not much point in double-buffering
 |     // as there's not much point in double-buffering
 | ||||||
|     is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0); |     is31fl3731_write_register(addr, IS31FL3731_COMMANDREGISTER, 0); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void is31fl3731_set_value(int index, uint8_t value) { | void is31fl3731_set_value(int index, uint8_t value) { | ||||||
|  | |||||||
| @ -20,9 +20,23 @@ | |||||||
| 
 | 
 | ||||||
| #include <stdint.h> | #include <stdint.h> | ||||||
| #include <stdbool.h> | #include <stdbool.h> | ||||||
| #include <string.h> |  | ||||||
| #include "progmem.h" | #include "progmem.h" | ||||||
| 
 | 
 | ||||||
|  | // ======== DEPRECATED DEFINES - DO NOT USE ========
 | ||||||
|  | #ifdef LED_DRIVER_COUNT | ||||||
|  | #    define IS31FL3731_DRIVER_COUNT LED_DRIVER_COUNT | ||||||
|  | #endif | ||||||
|  | #ifdef ISSI_TIMEOUT | ||||||
|  | #    define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT | ||||||
|  | #endif | ||||||
|  | #ifdef ISSI_PERSISTENCE | ||||||
|  | #    define IS31FL3731_I2C_PERSISTENCE ISSI_PERSISTENCE | ||||||
|  | #endif | ||||||
|  | #ifdef ISSI_3731_DEGHOST | ||||||
|  | #    define IS31FL3731_DEGHOST ISSI_3731_DEGHOST | ||||||
|  | #endif | ||||||
|  | // ========
 | ||||||
|  | 
 | ||||||
| typedef struct is31_led { | typedef struct is31_led { | ||||||
|     uint8_t driver : 2; |     uint8_t driver : 2; | ||||||
|     uint8_t v; |     uint8_t v; | ||||||
|  | |||||||
| @ -17,6 +17,7 @@ | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #include "is31fl3731.h" | #include "is31fl3731.h" | ||||||
|  | #include <string.h> | ||||||
| #include "i2c_master.h" | #include "i2c_master.h" | ||||||
| #include "wait.h" | #include "wait.h" | ||||||
| 
 | 
 | ||||||
| @ -27,34 +28,34 @@ | |||||||
| // 0b1110111 AD <-> VCC
 | // 0b1110111 AD <-> VCC
 | ||||||
| // 0b1110101 AD <-> SCL
 | // 0b1110101 AD <-> SCL
 | ||||||
| // 0b1110110 AD <-> SDA
 | // 0b1110110 AD <-> SDA
 | ||||||
| #define ISSI_ADDR_DEFAULT 0x74 | #define IS31FL3731_I2C_ADDRESS_DEFAULT 0x74 | ||||||
| 
 | 
 | ||||||
| #define ISSI_REG_CONFIG 0x00 | #define IS31FL3731_REG_CONFIG 0x00 | ||||||
| #define ISSI_REG_CONFIG_PICTUREMODE 0x00 | #define IS31FL3731_REG_CONFIG_PICTUREMODE 0x00 | ||||||
| #define ISSI_REG_CONFIG_AUTOPLAYMODE 0x08 | #define IS31FL3731_REG_CONFIG_AUTOPLAYMODE 0x08 | ||||||
| #define ISSI_REG_CONFIG_AUDIOPLAYMODE 0x18 | #define IS31FL3731_REG_CONFIG_AUDIOPLAYMODE 0x18 | ||||||
| 
 | 
 | ||||||
| #define ISSI_CONF_PICTUREMODE 0x00 | #define IS31FL3731_CONF_PICTUREMODE 0x00 | ||||||
| #define ISSI_CONF_AUTOFRAMEMODE 0x04 | #define IS31FL3731_CONF_AUTOFRAMEMODE 0x04 | ||||||
| #define ISSI_CONF_AUDIOMODE 0x08 | #define IS31FL3731_CONF_AUDIOMODE 0x08 | ||||||
| 
 | 
 | ||||||
| #define ISSI_REG_PICTUREFRAME 0x01 | #define IS31FL3731_REG_PICTUREFRAME 0x01 | ||||||
| 
 | 
 | ||||||
| // Not defined in the datasheet -- See AN for IC
 | // Not defined in the datasheet -- See AN for IC
 | ||||||
| #define ISSI_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting
 | #define IS31FL3731_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting
 | ||||||
| 
 | 
 | ||||||
| #define ISSI_REG_SHUTDOWN 0x0A | #define IS31FL3731_REG_SHUTDOWN 0x0A | ||||||
| #define ISSI_REG_AUDIOSYNC 0x06 | #define IS31FL3731_REG_AUDIOSYNC 0x06 | ||||||
| 
 | 
 | ||||||
| #define ISSI_COMMANDREGISTER 0xFD | #define IS31FL3731_COMMANDREGISTER 0xFD | ||||||
| #define ISSI_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine'
 | #define IS31FL3731_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine'
 | ||||||
| 
 | 
 | ||||||
| #ifndef ISSI_TIMEOUT | #ifndef IS31FL3731_I2C_TIMEOUT | ||||||
| #    define ISSI_TIMEOUT 100 | #    define IS31FL3731_I2C_TIMEOUT 100 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifndef ISSI_PERSISTENCE | #ifndef IS31FL3731_I2C_PERSISTENCE | ||||||
| #    define ISSI_PERSISTENCE 0 | #    define IS31FL3731_I2C_PERSISTENCE 0 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| // Transfer buffer for TWITransmitData()
 | // Transfer buffer for TWITransmitData()
 | ||||||
| @ -65,11 +66,11 @@ uint8_t g_twi_transfer_buffer[20]; | |||||||
| // We could optimize this and take out the unused registers from these
 | // We could optimize this and take out the unused registers from these
 | ||||||
| // buffers and the transfers in is31fl3731_write_pwm_buffer() but it's
 | // buffers and the transfers in is31fl3731_write_pwm_buffer() but it's
 | ||||||
| // probably not worth the extra complexity.
 | // probably not worth the extra complexity.
 | ||||||
| uint8_t g_pwm_buffer[DRIVER_COUNT][144]; | uint8_t g_pwm_buffer[IS31FL3731_DRIVER_COUNT][144]; | ||||||
| bool    g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; | bool    g_pwm_buffer_update_required[IS31FL3731_DRIVER_COUNT] = {false}; | ||||||
| 
 | 
 | ||||||
| uint8_t g_led_control_registers[DRIVER_COUNT][18]             = {{0}}; | uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][18]             = {{0}}; | ||||||
| bool    g_led_control_registers_update_required[DRIVER_COUNT] = {false}; | bool    g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false}; | ||||||
| 
 | 
 | ||||||
| // This is the bit pattern in the LED control registers
 | // This is the bit pattern in the LED control registers
 | ||||||
| // (for matrix A, add one to register for matrix B)
 | // (for matrix A, add one to register for matrix B)
 | ||||||
| @ -89,12 +90,12 @@ void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { | |||||||
|     g_twi_transfer_buffer[0] = reg; |     g_twi_transfer_buffer[0] = reg; | ||||||
|     g_twi_transfer_buffer[1] = data; |     g_twi_transfer_buffer[1] = data; | ||||||
| 
 | 
 | ||||||
| #if ISSI_PERSISTENCE > 0 | #if IS31FL3731_I2C_PERSISTENCE > 0 | ||||||
|     for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { |     for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { | ||||||
|         if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break; |         if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) break; | ||||||
|     } |     } | ||||||
| #else | #else | ||||||
|     i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); |     i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT); | ||||||
| #endif | #endif | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -113,12 +114,12 @@ void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { | |||||||
|         // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer
 |         // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer
 | ||||||
|         memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); |         memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); | ||||||
| 
 | 
 | ||||||
| #if ISSI_PERSISTENCE > 0 | #if IS31FL3731_I2C_PERSISTENCE > 0 | ||||||
|         for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { |         for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { | ||||||
|             if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) == 0) break; |             if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break; | ||||||
|         } |         } | ||||||
| #else | #else | ||||||
|         i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT); |         i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT); | ||||||
| #endif | #endif | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -130,26 +131,26 @@ void is31fl3731_init(uint8_t addr) { | |||||||
|     // then disable software shutdown.
 |     // then disable software shutdown.
 | ||||||
| 
 | 
 | ||||||
|     // select "function register" bank
 |     // select "function register" bank
 | ||||||
|     is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); |     is31fl3731_write_register(addr, IS31FL3731_COMMANDREGISTER, IS31FL3731_BANK_FUNCTIONREG); | ||||||
| 
 | 
 | ||||||
|     // enable software shutdown
 |     // enable software shutdown
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); |     is31fl3731_write_register(addr, IS31FL3731_REG_SHUTDOWN, 0x00); | ||||||
| #ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array
 | #ifdef IS31FL3731_DEGHOST // set to enable de-ghosting of the array
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); |     is31fl3731_write_register(addr, IS31FL3731_REG_GHOST_IMAGE_PREVENTION, 0x10); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|     // this delay was copied from other drivers, might not be needed
 |     // this delay was copied from other drivers, might not be needed
 | ||||||
|     wait_ms(10); |     wait_ms(10); | ||||||
| 
 | 
 | ||||||
|     // picture mode
 |     // picture mode
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE); |     is31fl3731_write_register(addr, IS31FL3731_REG_CONFIG, IS31FL3731_REG_CONFIG_PICTUREMODE); | ||||||
|     // display frame 0
 |     // display frame 0
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00); |     is31fl3731_write_register(addr, IS31FL3731_REG_PICTUREFRAME, 0x00); | ||||||
|     // audio sync off
 |     // audio sync off
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00); |     is31fl3731_write_register(addr, IS31FL3731_REG_AUDIOSYNC, 0x00); | ||||||
| 
 | 
 | ||||||
|     // select bank 0
 |     // select bank 0
 | ||||||
|     is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0); |     is31fl3731_write_register(addr, IS31FL3731_COMMANDREGISTER, 0); | ||||||
| 
 | 
 | ||||||
|     // turn off all LEDs in the LED control register
 |     // turn off all LEDs in the LED control register
 | ||||||
|     for (int i = 0x00; i <= 0x11; i++) { |     for (int i = 0x00; i <= 0x11; i++) { | ||||||
| @ -167,15 +168,15 @@ void is31fl3731_init(uint8_t addr) { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     // select "function register" bank
 |     // select "function register" bank
 | ||||||
|     is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); |     is31fl3731_write_register(addr, IS31FL3731_COMMANDREGISTER, IS31FL3731_BANK_FUNCTIONREG); | ||||||
| 
 | 
 | ||||||
|     // disable software shutdown
 |     // disable software shutdown
 | ||||||
|     is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01); |     is31fl3731_write_register(addr, IS31FL3731_REG_SHUTDOWN, 0x01); | ||||||
| 
 | 
 | ||||||
|     // select bank 0 and leave it selected.
 |     // select bank 0 and leave it selected.
 | ||||||
|     // most usage after initialization is just writing PWM buffers in bank 0
 |     // most usage after initialization is just writing PWM buffers in bank 0
 | ||||||
|     // as there's not much point in double-buffering
 |     // as there's not much point in double-buffering
 | ||||||
|     is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0); |     is31fl3731_write_register(addr, IS31FL3731_COMMANDREGISTER, 0); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | ||||||
|  | |||||||
| @ -19,9 +19,23 @@ | |||||||
| 
 | 
 | ||||||
| #include <stdint.h> | #include <stdint.h> | ||||||
| #include <stdbool.h> | #include <stdbool.h> | ||||||
| #include <string.h> |  | ||||||
| #include "progmem.h" | #include "progmem.h" | ||||||
| 
 | 
 | ||||||
|  | // ======== DEPRECATED DEFINES - DO NOT USE ========
 | ||||||
|  | #ifdef DRIVER_COUNT | ||||||
|  | #    define IS31FL3731_DRIVER_COUNT DRIVER_COUNT | ||||||
|  | #endif | ||||||
|  | #ifdef ISSI_TIMEOUT | ||||||
|  | #    define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT | ||||||
|  | #endif | ||||||
|  | #ifdef ISSI_PERSISTENCE | ||||||
|  | #    define IS31FL3731_I2C_PERSISTENCE ISSI_PERSISTENCE | ||||||
|  | #endif | ||||||
|  | #ifdef ISSI_3731_DEGHOST | ||||||
|  | #    define IS31FL3731_DEGHOST ISSI_3731_DEGHOST | ||||||
|  | #endif | ||||||
|  | // ========
 | ||||||
|  | 
 | ||||||
| typedef struct is31_led { | typedef struct is31_led { | ||||||
|     uint8_t driver : 2; |     uint8_t driver : 2; | ||||||
|     uint8_t r; |     uint8_t r; | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ | |||||||
| #define DRIVER_ADDR_1 0x74 | #define DRIVER_ADDR_1 0x74 | ||||||
| #define DRIVER_ADDR_2 0x76 | #define DRIVER_ADDR_2 0x76 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 36 | #define DRIVER_1_LED_TOTAL 36 | ||||||
| #define DRIVER_2_LED_TOTAL 36 | #define DRIVER_2_LED_TOTAL 36 | ||||||
| #define ISSI_DRIVER_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define ISSI_DRIVER_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -44,7 +44,7 @@ | |||||||
| #define I2C1_SCL_PIN B8 | #define I2C1_SCL_PIN B8 | ||||||
| #define I2C1_SDA_PIN B9 | #define I2C1_SDA_PIN B9 | ||||||
| 
 | 
 | ||||||
| #define LED_DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define LED_MATRIX_LED_COUNT 71 | #define LED_MATRIX_LED_COUNT 71 | ||||||
| 
 | 
 | ||||||
| // LED Matrix Animation modes. Explicitly enabled
 | // LED Matrix Animation modes. Explicitly enabled
 | ||||||
|  | |||||||
| @ -35,7 +35,7 @@ | |||||||
| //rgb matrix setting
 | //rgb matrix setting
 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110111 | #define DRIVER_ADDR_2 0b1110111 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 36 | #define DRIVER_1_LED_TOTAL 36 | ||||||
| #define DRIVER_2_LED_TOTAL 36 | #define DRIVER_2_LED_TOTAL 36 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -72,7 +72,7 @@ | |||||||
| #    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL | #    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL | ||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110111 | #    define DRIVER_ADDR_2 0b1110111 | ||||||
| #    define DRIVER_COUNT 2 | #    define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #    define DRIVER_1_LED_TOTAL 35 | #    define DRIVER_1_LED_TOTAL 35 | ||||||
| #    define DRIVER_2_LED_TOTAL 33 | #    define DRIVER_2_LED_TOTAL 33 | ||||||
| #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -72,7 +72,7 @@ | |||||||
| #    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL | #    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL | ||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110111 | #    define DRIVER_ADDR_2 0b1110111 | ||||||
| #    define DRIVER_COUNT 2 | #    define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #    define DRIVER_1_LED_TOTAL 35 | #    define DRIVER_1_LED_TOTAL 35 | ||||||
| #    define DRIVER_2_LED_TOTAL 33 | #    define DRIVER_2_LED_TOTAL 33 | ||||||
| #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -93,7 +93,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| // RGB backlight
 | // RGB backlight
 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110111 | #define DRIVER_ADDR_2 0b1110111 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 24 | #define DRIVER_1_LED_TOTAL 24 | ||||||
| #define DRIVER_2_LED_TOTAL 24 | #define DRIVER_2_LED_TOTAL 24 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -19,7 +19,7 @@ | |||||||
|  * Using the default defines here, but using a custom implementation |  * Using the default defines here, but using a custom implementation | ||||||
|  */ |  */ | ||||||
| #define LED_DRIVER_ADDR_1 0b1110100 | #define LED_DRIVER_ADDR_1 0b1110100 | ||||||
| #define LED_DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define LED_MATRIX_LED_COUNT 3 | #define LED_MATRIX_LED_COUNT 3 | ||||||
| 
 | 
 | ||||||
| /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| /* LED Drivers */ | /* LED Drivers */ | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110101 | #define DRIVER_ADDR_2 0b1110101 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 7 | #define DRIVER_1_LED_TOTAL 7 | ||||||
| #define DRIVER_2_LED_TOTAL 7 | #define DRIVER_2_LED_TOTAL 7 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -57,7 +57,7 @@ | |||||||
| 
 | 
 | ||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110101 | #    define DRIVER_ADDR_2 0b1110101 | ||||||
| #    define DRIVER_COUNT 2 | #    define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #    define DRIVER_1_LED_TOTAL 8 | #    define DRIVER_1_LED_TOTAL 8 | ||||||
| #    define DRIVER_2_LED_TOTAL 0 | #    define DRIVER_2_LED_TOTAL 0 | ||||||
| #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110111 | #define DRIVER_ADDR_2 0b1110111 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 32 | #define DRIVER_1_LED_TOTAL 32 | ||||||
| #define DRIVER_2_LED_TOTAL 32 | #define DRIVER_2_LED_TOTAL 32 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ | |||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define RGB_MATRIX_LED_COUNT 20 | #define RGB_MATRIX_LED_COUNT 20 | ||||||
| #define I2C1_CLOCK_SPEED 100000 | #define I2C1_CLOCK_SPEED 100000 | ||||||
|  | |||||||
| @ -44,7 +44,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110101 | #define DRIVER_ADDR_2 0b1110101 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 30 | #define DRIVER_1_LED_TOTAL 30 | ||||||
| 
 | 
 | ||||||
| #ifdef  HS60_ANSI | #ifdef  HS60_ANSI | ||||||
|  | |||||||
| @ -34,7 +34,7 @@ | |||||||
| #define DRIVER_2_LED_TOTAL 31 | #define DRIVER_2_LED_TOTAL 31 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110111 | #define DRIVER_ADDR_2 0b1110111 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
| 
 | 
 | ||||||
| #if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) | #if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) | ||||||
|  | |||||||
| @ -34,7 +34,7 @@ | |||||||
| #define DRIVER_2_LED_TOTAL 36 | #define DRIVER_2_LED_TOTAL 36 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110111 | #define DRIVER_ADDR_2 0b1110111 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
| 
 | 
 | ||||||
| #if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) | #if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) | ||||||
|  | |||||||
| @ -44,7 +44,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| 
 | 
 | ||||||
| /* LED matrix driver */ | /* LED matrix driver */ | ||||||
| #define LED_DRIVER_ADDR_1 0x74 | #define LED_DRIVER_ADDR_1 0x74 | ||||||
| #define LED_DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define LED_MATRIX_LED_COUNT 76 | #define LED_MATRIX_LED_COUNT 76 | ||||||
| #define LED_MATRIX_SPLIT { 38, 38 } | #define LED_MATRIX_SPLIT { 38, 38 } | ||||||
| #define LED_DISABLE_WHEN_USB_SUSPENDED | #define LED_DISABLE_WHEN_USB_SUSPENDED | ||||||
|  | |||||||
| @ -22,7 +22,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| 
 | 
 | ||||||
| /* LED matrix driver */ | /* LED matrix driver */ | ||||||
| #define LED_DRIVER_ADDR_1 0x74 | #define LED_DRIVER_ADDR_1 0x74 | ||||||
| #define LED_DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define LED_MATRIX_LED_COUNT 71 | #define LED_MATRIX_LED_COUNT 71 | ||||||
| #define LED_DISABLE_WHEN_USB_SUSPENDED | #define LED_DISABLE_WHEN_USB_SUSPENDED | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -57,7 +57,7 @@ | |||||||
| #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL | #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110111 | #define DRIVER_ADDR_2 0b1110111 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 35 | #define DRIVER_1_LED_TOTAL 35 | ||||||
| #define DRIVER_2_LED_TOTAL 32 | #define DRIVER_2_LED_TOTAL 32 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -57,7 +57,7 @@ | |||||||
| #    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 | #    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 | ||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110111 | #    define DRIVER_ADDR_2 0b1110111 | ||||||
| #    define DRIVER_COUNT 2 | #    define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #    define DRIVER_1_LED_TOTAL 35 | #    define DRIVER_1_LED_TOTAL 35 | ||||||
| #    define DRIVER_2_LED_TOTAL 32 | #    define DRIVER_2_LED_TOTAL 32 | ||||||
| #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -56,7 +56,7 @@ | |||||||
| #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL | #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110110 | #define DRIVER_ADDR_2 0b1110110 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 36 | #define DRIVER_1_LED_TOTAL 36 | ||||||
| #define DRIVER_2_LED_TOTAL 31 | #define DRIVER_2_LED_TOTAL 31 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -79,7 +79,7 @@ | |||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110110 | #    define DRIVER_ADDR_2 0b1110110 | ||||||
| 
 | 
 | ||||||
| #    define DRIVER_COUNT 2 | #    define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #    define DRIVER_1_LED_TOTAL 25 | #    define DRIVER_1_LED_TOTAL 25 | ||||||
| #    define DRIVER_2_LED_TOTAL 24 | #    define DRIVER_2_LED_TOTAL 24 | ||||||
| #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -79,7 +79,7 @@ | |||||||
| // 0b1110110 AD <-> SDA
 | // 0b1110110 AD <-> SDA
 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define RGB_MATRIX_LED_COUNT 6 | #define RGB_MATRIX_LED_COUNT 6 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -79,5 +79,5 @@ | |||||||
| #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 | #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define RGB_MATRIX_LED_COUNT 20 | #define RGB_MATRIX_LED_COUNT 20 | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ | |||||||
| // rgb matrix setting
 | // rgb matrix setting
 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110110 | #define DRIVER_ADDR_2 0b1110110 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 36 | #define DRIVER_1_LED_TOTAL 36 | ||||||
| #define DRIVER_2_LED_TOTAL 36 | #define DRIVER_2_LED_TOTAL 36 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -10,7 +10,7 @@ | |||||||
| // 0b1110110 AD <-> SDA
 | // 0b1110110 AD <-> SDA
 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110110 | #define DRIVER_ADDR_2 0b1110110 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 32 | #define DRIVER_1_LED_TOTAL 32 | ||||||
| #define DRIVER_2_LED_TOTAL 36 | #define DRIVER_2_LED_TOTAL 36 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -8,7 +8,7 @@ | |||||||
| // 0b1110101 AD <-> SCL
 | // 0b1110101 AD <-> SCL
 | ||||||
| // 0b1110110 AD <-> SDA
 | // 0b1110110 AD <-> SDA
 | ||||||
| #define DRIVER_ADDR_1 0b1110110 | #define DRIVER_ADDR_1 0b1110110 | ||||||
| #define DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define RGB_MATRIX_LED_COUNT 25 | #define RGB_MATRIX_LED_COUNT 25 | ||||||
| #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
 | #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
 | ||||||
| #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
 | #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
 | ||||||
|  | |||||||
| @ -9,7 +9,7 @@ | |||||||
| // 0b1110110 AD <-> SDA
 | // 0b1110110 AD <-> SDA
 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110110 | #define DRIVER_ADDR_2 0b1110110 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 44 | #define DRIVER_1_LED_TOTAL 44 | ||||||
| #define DRIVER_2_LED_TOTAL 34 | #define DRIVER_2_LED_TOTAL 34 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -29,7 +29,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define I2C_DRIVER I2CD2 | #define I2C_DRIVER I2CD2 | ||||||
| #define I2C1_SCL_PIN B10 | #define I2C1_SCL_PIN B10 | ||||||
| #define I2C1_SDA_PIN B11 | #define I2C1_SDA_PIN B11 | ||||||
| #define LED_DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define LED_MATRIX_LED_COUNT 94 | #define LED_MATRIX_LED_COUNT 94 | ||||||
| #define LED_MATRIX_KEYPRESSES // reacts to keypresses
 | #define LED_MATRIX_KEYPRESSES // reacts to keypresses
 | ||||||
| #define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
 | #define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
 | ||||||
|  | |||||||
| @ -29,7 +29,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define I2C_DRIVER I2CD2 | #define I2C_DRIVER I2CD2 | ||||||
| #define I2C1_SCL_PIN B10 | #define I2C1_SCL_PIN B10 | ||||||
| #define I2C1_SDA_PIN B11 | #define I2C1_SDA_PIN B11 | ||||||
| #define LED_DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define LED_MATRIX_LED_COUNT 70 | #define LED_MATRIX_LED_COUNT 70 | ||||||
| #define LED_MATRIX_KEYPRESSES // reacts to keypresses
 | #define LED_MATRIX_KEYPRESSES // reacts to keypresses
 | ||||||
| #define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
 | #define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
 | ||||||
|  | |||||||
| @ -68,7 +68,7 @@ | |||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110111 | #define DRIVER_ADDR_2 0b1110111 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 36 | #define DRIVER_1_LED_TOTAL 36 | ||||||
| #define DRIVER_2_LED_TOTAL 36 | #define DRIVER_2_LED_TOTAL 36 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -34,7 +34,7 @@ | |||||||
| #define DRIVER_2_LED_TOTAL 32 | #define DRIVER_2_LED_TOTAL 32 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110111 | #define DRIVER_ADDR_2 0b1110111 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) | ||||||
| 
 | 
 | ||||||
| #define USB_SUSPEND_WAKEUP_DELAY 1000 | #define USB_SUSPEND_WAKEUP_DELAY 1000 | ||||||
|  | |||||||
| @ -34,5 +34,5 @@ | |||||||
| #define DRIVER_2_LED_TOTAL 32 | #define DRIVER_2_LED_TOTAL 32 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_ADDR_2 0b1110111 | #define DRIVER_ADDR_2 0b1110111 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ | |||||||
| 
 | 
 | ||||||
| // RGB matrix
 | // RGB matrix
 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| #define DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define RGB_MATRIX_LED_COUNT (4 * 8 * 3) | #define RGB_MATRIX_LED_COUNT (4 * 8 * 3) | ||||||
| #define RGB_DISABLE_WHEN_USB_SUSPENDED | #define RGB_DISABLE_WHEN_USB_SUSPENDED | ||||||
| #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_SPIRAL | #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_SPIRAL | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ | |||||||
| #define DRIVER_ADDR_1      0b1110100 | #define DRIVER_ADDR_1      0b1110100 | ||||||
| #define DRIVER_ADDR_2      0b1110110 | #define DRIVER_ADDR_2      0b1110110 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT       2 | #define IS31FL3731_DRIVER_COUNT       2 | ||||||
| #define DRIVER_1_LED_TOTAL 25 | #define DRIVER_1_LED_TOTAL 25 | ||||||
| #define DRIVER_2_LED_TOTAL 24 | #define DRIVER_2_LED_TOTAL 24 | ||||||
| #define RGB_MATRIX_LED_COUNT   (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define RGB_MATRIX_LED_COUNT   (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -75,6 +75,6 @@ | |||||||
| // 0b1110110 AD <-> SDA
 | // 0b1110110 AD <-> SDA
 | ||||||
| #define DRIVER_ADDR_1 0b1110100 | #define DRIVER_ADDR_1 0b1110100 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define RGB_MATRIX_LED_COUNT 6 | #define RGB_MATRIX_LED_COUNT 6 | ||||||
| #endif | #endif | ||||||
|  | |||||||
| @ -73,7 +73,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } | #define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } | ||||||
| #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } | #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define RGB_MATRIX_LED_COUNT 16 | #define RGB_MATRIX_LED_COUNT 16 | ||||||
| 
 | 
 | ||||||
| // These define which keys in the matrix are alphas/mods
 | // These define which keys in the matrix are alphas/mods
 | ||||||
|  | |||||||
| @ -18,7 +18,7 @@ | |||||||
| #ifdef LED_MATRIX_ENABLE | #ifdef LED_MATRIX_ENABLE | ||||||
| 
 | 
 | ||||||
| #define LED_DRIVER_ADDR_1 0x74 | #define LED_DRIVER_ADDR_1 0x74 | ||||||
| #define LED_DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define LED_MATRIX_LED_COUNT 105 | #define LED_MATRIX_LED_COUNT 105 | ||||||
| #define LED_MATRIX_ROWS 15 | #define LED_MATRIX_ROWS 15 | ||||||
| #define LED_MATRIX_COLS 7 | #define LED_MATRIX_COLS 7 | ||||||
|  | |||||||
| @ -41,14 +41,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 | #    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 | ||||||
| #    define DRIVER_ADDR_1 0x74 | #    define DRIVER_ADDR_1 0x74 | ||||||
| #    define DRIVER_ADDR_2 0x77 | #    define DRIVER_ADDR_2 0x77 | ||||||
| #    define DRIVER_COUNT 2 | #    define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #    define DRIVER_1_LED_TOTAL 36 | #    define DRIVER_1_LED_TOTAL 36 | ||||||
| #    define DRIVER_2_LED_TOTAL 31 | #    define DRIVER_2_LED_TOTAL 31 | ||||||
| #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
| 
 | 
 | ||||||
| #else | #else | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 67 | #define RGB_MATRIX_LED_COUNT 67 | ||||||
| 
 | 
 | ||||||
| #define RGB_BACKLIGHT_ENABLED 1 | #define RGB_BACKLIGHT_ENABLED 1 | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ | |||||||
| #define LOCKING_RESYNC_ENABLE | #define LOCKING_RESYNC_ENABLE | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 1 | #define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #define RGB_MATRIX_LED_COUNT 12 | #define RGB_MATRIX_LED_COUNT 12 | ||||||
| 
 | 
 | ||||||
| // Enable WT RGB backlight
 | // Enable WT RGB backlight
 | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ | |||||||
| #define LOCKING_RESYNC_ENABLE | #define LOCKING_RESYNC_ENABLE | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| // Enable WT RGB backlight
 | // Enable WT RGB backlight
 | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ | |||||||
| #define LOCKING_RESYNC_ENABLE | #define LOCKING_RESYNC_ENABLE | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| // Enable WT RGB backlight
 | // Enable WT RGB backlight
 | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ | |||||||
| #define LOCKING_RESYNC_ENABLE | #define LOCKING_RESYNC_ENABLE | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| // Enable WT RGB backlight
 | // Enable WT RGB backlight
 | ||||||
|  | |||||||
| @ -38,7 +38,7 @@ | |||||||
| //#define NO_ACTION_ONESHOT
 | //#define NO_ACTION_ONESHOT
 | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 3 | #define IS31FL3731_DRIVER_COUNT 3 | ||||||
| #define RGB_MATRIX_LED_COUNT 108 | #define RGB_MATRIX_LED_COUNT 108 | ||||||
| 
 | 
 | ||||||
| #define RGB_BACKLIGHT_ENABLED 1 | #define RGB_BACKLIGHT_ENABLED 1 | ||||||
|  | |||||||
| @ -23,7 +23,7 @@ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| #define RGB_BACKLIGHT_ENABLED 1 | #define RGB_BACKLIGHT_ENABLED 1 | ||||||
|  | |||||||
| @ -23,7 +23,7 @@ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| #define RGB_BACKLIGHT_ENABLED 1 | #define RGB_BACKLIGHT_ENABLED 1 | ||||||
|  | |||||||
| @ -23,7 +23,7 @@ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| #define RGB_BACKLIGHT_ENABLED 1 | #define RGB_BACKLIGHT_ENABLED 1 | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 72 | #define RGB_MATRIX_LED_COUNT 72 | ||||||
| 
 | 
 | ||||||
| // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | ||||||
|  | |||||||
| @ -50,7 +50,7 @@ | |||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110110 | #    define DRIVER_ADDR_2 0b1110110 | ||||||
| #    define DRIVER_ADDR_3 0b1110101 | #    define DRIVER_ADDR_3 0b1110101 | ||||||
| #    define DRIVER_COUNT 3 | #    define IS31FL3731_DRIVER_COUNT 3 | ||||||
| #    define DRIVER_1_LED_TOTAL 36 | #    define DRIVER_1_LED_TOTAL 36 | ||||||
| #    define DRIVER_2_LED_TOTAL 35 | #    define DRIVER_2_LED_TOTAL 35 | ||||||
| #    define DRIVER_3_LED_TOTAL 15 | #    define DRIVER_3_LED_TOTAL 15 | ||||||
|  | |||||||
| @ -50,7 +50,7 @@ | |||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110110 | #    define DRIVER_ADDR_2 0b1110110 | ||||||
| #    define DRIVER_ADDR_3 0b1110101 | #    define DRIVER_ADDR_3 0b1110101 | ||||||
| #    define DRIVER_COUNT 3 | #    define IS31FL3731_DRIVER_COUNT 3 | ||||||
| #    define DRIVER_1_LED_TOTAL 36 | #    define DRIVER_1_LED_TOTAL 36 | ||||||
| #    define DRIVER_2_LED_TOTAL 35 | #    define DRIVER_2_LED_TOTAL 35 | ||||||
| #    define DRIVER_3_LED_TOTAL 15 | #    define DRIVER_3_LED_TOTAL 15 | ||||||
|  | |||||||
| @ -52,7 +52,7 @@ | |||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110110 | #    define DRIVER_ADDR_2 0b1110110 | ||||||
| #    define DRIVER_ADDR_3 0b1110101 | #    define DRIVER_ADDR_3 0b1110101 | ||||||
| #    define DRIVER_COUNT 3 | #    define IS31FL3731_DRIVER_COUNT 3 | ||||||
| #    define DRIVER_1_LED_TOTAL 36 | #    define DRIVER_1_LED_TOTAL 36 | ||||||
| #    define DRIVER_2_LED_TOTAL 36 | #    define DRIVER_2_LED_TOTAL 36 | ||||||
| #    define DRIVER_3_LED_TOTAL 15 | #    define DRIVER_3_LED_TOTAL 15 | ||||||
|  | |||||||
| @ -48,6 +48,6 @@ | |||||||
| #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH       // Hue & value pulse away from multiple key hits then fades value out
 | #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH       // Hue & value pulse away from multiple key hits then fades value out
 | ||||||
| 
 | 
 | ||||||
| #    define DRIVER_ADDR_1 0b1110111 | #    define DRIVER_ADDR_1 0b1110111 | ||||||
| #    define DRIVER_COUNT 1 | #    define IS31FL3731_DRIVER_COUNT 1 | ||||||
| #    define RGB_MATRIX_LED_COUNT 22 | #    define RGB_MATRIX_LED_COUNT 22 | ||||||
| #endif | #endif | ||||||
|  | |||||||
| @ -49,7 +49,7 @@ | |||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110101 | #    define DRIVER_ADDR_2 0b1110101 | ||||||
| #    define DRIVER_ADDR_3 0b1110110 | #    define DRIVER_ADDR_3 0b1110110 | ||||||
| #    define DRIVER_COUNT 3 | #    define IS31FL3731_DRIVER_COUNT 3 | ||||||
| #    define DRIVER_1_LED_TOTAL 36 | #    define DRIVER_1_LED_TOTAL 36 | ||||||
| #    define DRIVER_2_LED_TOTAL 36 | #    define DRIVER_2_LED_TOTAL 36 | ||||||
| #    define DRIVER_3_LED_TOTAL 15 | #    define DRIVER_3_LED_TOTAL 15 | ||||||
|  | |||||||
| @ -58,7 +58,7 @@ | |||||||
| 
 | 
 | ||||||
| #    define DRIVER_ADDR_1 0b1110100 | #    define DRIVER_ADDR_1 0b1110100 | ||||||
| #    define DRIVER_ADDR_2 0b1110110 | #    define DRIVER_ADDR_2 0b1110110 | ||||||
| #    define DRIVER_COUNT 2 | #    define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #    define DRIVER_1_LED_TOTAL 35 | #    define DRIVER_1_LED_TOTAL 35 | ||||||
| #    define DRIVER_2_LED_TOTAL 32 | #    define DRIVER_2_LED_TOTAL 32 | ||||||
| #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| // IS31FL3731 driver
 | // IS31FL3731 driver
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define RGB_MATRIX_LED_COUNT 64 | #define RGB_MATRIX_LED_COUNT 64 | ||||||
| 
 | 
 | ||||||
| // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
 | ||||||
|  | |||||||
| @ -27,7 +27,7 @@ | |||||||
| #define DRIVER_ADDR_1 0x74 | #define DRIVER_ADDR_1 0x74 | ||||||
| #define DRIVER_ADDR_2 0x76 | #define DRIVER_ADDR_2 0x76 | ||||||
| 
 | 
 | ||||||
| #define DRIVER_COUNT 2 | #define IS31FL3731_DRIVER_COUNT 2 | ||||||
| #define DRIVER_1_LED_TOTAL 32 | #define DRIVER_1_LED_TOTAL 32 | ||||||
| #define DRIVER_2_LED_TOTAL 32 | #define DRIVER_2_LED_TOTAL 32 | ||||||
| #define ISSI_DRIVER_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | #define ISSI_DRIVER_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ryan
						Ryan