is31fl3731: driver naming cleanups (#21918)

pull/22010/head
Ryan 2023-09-13 22:53:15 +10:00 committed by GitHub
parent 1cbb5ae99e
commit 8136eda6d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
64 changed files with 189 additions and 159 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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) {

View File

@ -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;

View File

@ -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) {

View File

@ -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;

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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)