~ruther/qmk_firmware

84df69572ce47f74213869120211f9db371cd3cf — Joel Challis 1 year, 5 months ago 8136cf4
Infer LED DRIVER_COUNT from configured addresses (#22311)

M docs/feature_led_matrix.md => docs/feature_led_matrix.md +0 -4
@@ 21,7 21,6 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_<N>
|----------|-------------|---------|
| `IS31FL3731_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `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 | |
| `IS31FL3731_I2C_ADDRESS_1` | (Required) Address for the first LED driver | |
| `IS31FL3731_I2C_ADDRESS_2` | (Optional) Address for the second LED driver | |


@@ 43,7 42,6 @@ Here is an example using 2 drivers.
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA

#define IS31FL3731_DRIVER_COUNT 2
#define LED_DRIVER_1_LED_TOTAL 25
#define LED_DRIVER_2_LED_TOTAL 24
#define LED_MATRIX_LED_COUNT (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)


@@ 96,7 94,6 @@ Configure the hardware via your `config.h`:
|----------|-------------|---------|
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `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 | |
| `DRIVER_ADDR_1` | (Optional) Address for the first LED driver | |
| `DRIVER_ADDR_<N>` | (Required) Address for the additional LED drivers | |


@@ 129,7 126,6 @@ Here is an example using 2 drivers.
```c
#define DRIVER_ADDR_2 0b0100001

#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 42
#define LED_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M docs/feature_rgb_matrix.md => docs/feature_rgb_matrix.md +0 -12
@@ 22,7 22,6 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_<N>` de
| `IS31FL3731_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `IS31FL3731_DEGHOST` | (Optional) Set this define to enable de-ghosting by halving Vcc during blanking time | |
| `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 | |
| `IS31FL3731_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | |
| `IS31FL3731_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | |


@@ 44,7 43,6 @@ Here is an example using 2 drivers.
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA

#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 25
#define DRIVER_2_LED_TOTAL 24
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)


@@ 91,7 89,6 @@ You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_<N>` de
| `IS31FL3733_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF |
| `IS31FL3733_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `IS31FL3733_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `IS31FL3733_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 | |
| `IS31FL3733_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | |
| `IS31FL3733_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | |


@@ 130,7 127,6 @@ Here is an example using 2 drivers.
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC

#define IS31FL3733_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 58
#define DRIVER_2_LED_TOTAL 10
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)


@@ 178,7 174,6 @@ Configure the hardware via your `config.h`:
| `IS31FL3736_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF |
| `IS31FL3736_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `IS31FL3736_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `IS31FL3736_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 | |
| `IS31FL3736_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | |
| `IS31FL3736_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | |


@@ 214,7 209,6 @@ Here is an example using 2 drivers.
#define IS31FL3736_I2C_ADDRESS_1 IS31FL3736_I2C_ADDRESS_GND_GND
#define IS31FL3736_I2C_ADDRESS_2 IS31FL3736_I2C_ADDRESS_GND_SCL

#define IS31FL3736_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 30
#define DRIVER_2_LED_TOTAL 32
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)


@@ 255,7 249,6 @@ Configure the hardware via your `config.h`:
| `IS31FL3737_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF |
| `IS31FL3737_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `IS31FL3737_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `IS31FL3737_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 | |
| `IS31FL3737_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | |
| `IS31FL3737_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | |


@@ 290,7 283,6 @@ Here is an example using 2 drivers.
#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
#define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_SCL

#define IS31FL3737_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 30
#define DRIVER_2_LED_TOTAL 36
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)


@@ 341,7 333,6 @@ Configure the hardware via your `config.h`:
|----------|-------------|---------|
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `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 | |
| `DRIVER_ADDR_1` | (Optional) Address for the first RGB driver | |
| `DRIVER_ADDR_<N>` | (Required) Address for the additional RGB drivers | |


@@ 376,7 367,6 @@ Here is an example using 2 drivers.
```c
#define DRIVER_ADDR_2 0b0100001

#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 42
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)


@@ 486,7 476,6 @@ You can use up to 2 AW20216S IC's. Do not specify `DRIVER_<N>_xxx` defines for I
| `AW20216S_EN_PIN_2` | (Optional) MCU pin connected to second RGB driver hardware enable line  | |
| `DRIVER_1_LED_TOTAL` | (Required) How many RGB lights are connected to first RGB driver  | |
| `DRIVER_2_LED_TOTAL` | (Optional) How many RGB lights are connected to second RGB driver  | |
| `AW20216S_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 | |
| `AW20216S_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 |
| `AW20216S_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 |


@@ 502,7 491,6 @@ Here is an example using 2 drivers.
#define AW20216S_EN_PIN_1 C13
#define AW20216S_EN_PIN_2 C13

#define AW20216S_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 32
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M drivers/led/aw20216s.h => drivers/led/aw20216s.h +6 -3
@@ 23,9 23,6 @@
#include "util.h"

// ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
#    define AW20216S_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef AW_SCALING_MAX
#    define AW20216S_SCALING_MAX AW_SCALING_MAX
#endif


@@ 59,6 56,12 @@
#    define AW20216S_LED_COUNT RGB_MATRIX_LED_COUNT
#endif

#if defined(AW20216S_CS_PIN_2)
#    define AW20216S_DRIVER_COUNT 2
#elif defined(AW20216S_CS_PIN_1)
#    define AW20216S_DRIVER_COUNT 1
#endif

typedef struct aw20216s_led_t {
    uint8_t driver : 2;
    uint8_t r;

M drivers/led/issi/is31fl3731-simple.h => drivers/led/issi/is31fl3731-simple.h +10 -3
@@ 36,9 36,6 @@
#ifdef LED_DRIVER_ADDR_4
#    define IS31FL3731_I2C_ADDRESS_4 LED_DRIVER_ADDR_4
#endif
#ifdef LED_DRIVER_COUNT
#    define IS31FL3731_DRIVER_COUNT LED_DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 62,6 59,16 @@
#    define IS31FL3731_LED_COUNT LED_MATRIX_LED_COUNT
#endif

#if defined IS31FL3731_I2C_ADDRESS_4
#    define IS31FL3731_DRIVER_COUNT 4
#elif defined IS31FL3731_I2C_ADDRESS_3
#    define IS31FL3731_DRIVER_COUNT 3
#elif defined IS31FL3731_I2C_ADDRESS_2
#    define IS31FL3731_DRIVER_COUNT 2
#elif defined IS31FL3731_I2C_ADDRESS_1
#    define IS31FL3731_DRIVER_COUNT 1
#endif

typedef struct is31fl3731_led_t {
    uint8_t driver : 2;
    uint8_t v;

M drivers/led/issi/is31fl3731.h => drivers/led/issi/is31fl3731.h +10 -3
@@ 35,9 35,6 @@
#ifdef DRIVER_ADDR_4
#    define IS31FL3731_I2C_ADDRESS_4 DRIVER_ADDR_4
#endif
#ifdef DRIVER_COUNT
#    define IS31FL3731_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 61,6 58,16 @@
#    define IS31FL3731_LED_COUNT RGB_MATRIX_LED_COUNT
#endif

#if defined(IS31FL3731_I2C_ADDRESS_4)
#    define IS31FL3731_DRIVER_COUNT 4
#elif defined(IS31FL3731_I2C_ADDRESS_3)
#    define IS31FL3731_DRIVER_COUNT 3
#elif defined(IS31FL3731_I2C_ADDRESS_2)
#    define IS31FL3731_DRIVER_COUNT 2
#elif defined(IS31FL3731_I2C_ADDRESS_1)
#    define IS31FL3731_DRIVER_COUNT 1
#endif

typedef struct is31fl3731_led_t {
    uint8_t driver : 2;
    uint8_t r;

M drivers/led/issi/is31fl3733-simple.h => drivers/led/issi/is31fl3733-simple.h +10 -3
@@ 26,9 26,6 @@
#include "util.h"

// ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef LED_DRIVER_COUNT
#    define IS31FL3733_DRIVER_COUNT LED_DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 81,6 78,16 @@
#    define IS31FL3733_LED_COUNT LED_MATRIX_LED_COUNT
#endif

#if defined(IS31FL3733_I2C_ADDRESS_4)
#    define IS31FL3733_DRIVER_COUNT 4
#elif defined(IS31FL3733_I2C_ADDRESS_3)
#    define IS31FL3733_DRIVER_COUNT 3
#elif defined(IS31FL3733_I2C_ADDRESS_2)
#    define IS31FL3733_DRIVER_COUNT 2
#elif defined(IS31FL3733_I2C_ADDRESS_1)
#    define IS31FL3733_DRIVER_COUNT 1
#endif

typedef struct is31fl3733_led_t {
    uint8_t driver : 2;
    uint8_t v;

M drivers/led/issi/is31fl3733.h => drivers/led/issi/is31fl3733.h +10 -3
@@ 49,9 49,6 @@
#ifdef DRIVER_ADDR_4
#    define IS31FL3733_SYNC_4 DRIVER_SYNC_4
#endif
#ifdef DRIVER_COUNT
#    define IS31FL3733_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 104,6 101,16 @@
#    define IS31FL3733_LED_COUNT RGB_MATRIX_LED_COUNT
#endif

#if defined(IS31FL3733_I2C_ADDRESS_4)
#    define IS31FL3733_DRIVER_COUNT 4
#elif defined(IS31FL3733_I2C_ADDRESS_3)
#    define IS31FL3733_DRIVER_COUNT 3
#elif defined(IS31FL3733_I2C_ADDRESS_2)
#    define IS31FL3733_DRIVER_COUNT 2
#elif defined(IS31FL3733_I2C_ADDRESS_1)
#    define IS31FL3733_DRIVER_COUNT 1
#endif

typedef struct is31fl3733_led_t {
    uint8_t driver : 2;
    uint8_t r;

M drivers/led/issi/is31fl3736-simple.h => drivers/led/issi/is31fl3736-simple.h +10 -3
@@ 23,9 23,6 @@
#include "util.h"

// ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
#    define IS31FL3736_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 76,6 73,16 @@
#    define IS31FL3736_LED_COUNT LED_MATRIX_LED_COUNT
#endif

#if defined(IS31FL3736_I2C_ADDRESS_4)
#    define IS31FL3736_DRIVER_COUNT 4
#elif defined(IS31FL3736_I2C_ADDRESS_3)
#    define IS31FL3736_DRIVER_COUNT 3
#elif defined(IS31FL3736_I2C_ADDRESS_2)
#    define IS31FL3736_DRIVER_COUNT 2
#elif defined(IS31FL3736_I2C_ADDRESS_1)
#    define IS31FL3736_DRIVER_COUNT 1
#endif

typedef struct is31fl3736_led_t {
    uint8_t driver : 2;
    uint8_t v;

M drivers/led/issi/is31fl3736.h => drivers/led/issi/is31fl3736.h +10 -3
@@ 35,9 35,6 @@
#ifdef DRIVER_ADDR_4
#    define IS31FL3736_I2C_ADDRESS_4 DRIVER_ADDR_4
#endif
#ifdef DRIVER_COUNT
#    define IS31FL3736_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 88,6 85,16 @@
#    define IS31FL3736_LED_COUNT RGB_MATRIX_LED_COUNT
#endif

#if defined(IS31FL3736_I2C_ADDRESS_4)
#    define IS31FL3736_DRIVER_COUNT 4
#elif defined(IS31FL3736_I2C_ADDRESS_3)
#    define IS31FL3736_DRIVER_COUNT 3
#elif defined(IS31FL3736_I2C_ADDRESS_2)
#    define IS31FL3736_DRIVER_COUNT 2
#elif defined(IS31FL3736_I2C_ADDRESS_1)
#    define IS31FL3736_DRIVER_COUNT 1
#endif

typedef struct is31fl3736_led_t {
    uint8_t driver : 2;
    uint8_t r;

M drivers/led/issi/is31fl3737-simple.h => drivers/led/issi/is31fl3737-simple.h +10 -3
@@ 25,9 25,6 @@
#include "util.h"

// ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
#    define IS31FL3737_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 66,6 63,16 @@
#    define IS31FL3737_LED_COUNT LED_MATRIX_LED_COUNT
#endif

#if defined(IS31FL3737_I2C_ADDRESS_4)
#    define IS31FL3737_DRIVER_COUNT 4
#elif defined(IS31FL3737_I2C_ADDRESS_3)
#    define IS31FL3737_DRIVER_COUNT 3
#elif defined(IS31FL3737_I2C_ADDRESS_2)
#    define IS31FL3737_DRIVER_COUNT 2
#elif defined(IS31FL3737_I2C_ADDRESS_1)
#    define IS31FL3737_DRIVER_COUNT 1
#endif

typedef struct is31fl3737_led_t {
    uint8_t driver : 2;
    uint8_t v;

M drivers/led/issi/is31fl3737.h => drivers/led/issi/is31fl3737.h +10 -3
@@ 37,9 37,6 @@
#ifdef DRIVER_ADDR_4
#    define IS31FL3737_I2C_ADDRESS_4 DRIVER_ADDR_4
#endif
#ifdef DRIVER_COUNT
#    define IS31FL3737_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 81,6 78,16 @@
#    define IS31FL3737_LED_COUNT RGB_MATRIX_LED_COUNT
#endif

#if defined(IS31FL3737_I2C_ADDRESS_4)
#    define IS31FL3737_DRIVER_COUNT 4
#elif defined(IS31FL3737_I2C_ADDRESS_3)
#    define IS31FL3737_DRIVER_COUNT 3
#elif defined(IS31FL3737_I2C_ADDRESS_2)
#    define IS31FL3737_DRIVER_COUNT 2
#elif defined(IS31FL3737_I2C_ADDRESS_1)
#    define IS31FL3737_DRIVER_COUNT 1
#endif

typedef struct is31fl3737_led_t {
    uint8_t driver : 2;
    uint8_t r;

M drivers/led/issi/is31fl3741-simple.h => drivers/led/issi/is31fl3741-simple.h +10 -3
@@ 25,9 25,6 @@
#include "util.h"

// ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
#    define IS31FL3741_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 66,6 63,16 @@
#    define IS31FL3741_LED_COUNT LED_MATRIX_LED_COUNT
#endif

#if defined(IS31FL3741_I2C_ADDRESS_4)
#    define IS31FL3741_DRIVER_COUNT 4
#elif defined(IS31FL3741_I2C_ADDRESS_3)
#    define IS31FL3741_DRIVER_COUNT 3
#elif defined(IS31FL3741_I2C_ADDRESS_2)
#    define IS31FL3741_DRIVER_COUNT 2
#elif defined(IS31FL3741_I2C_ADDRESS_1)
#    define IS31FL3741_DRIVER_COUNT 1
#endif

typedef struct is31fl3741_led_t {
    uint8_t  driver : 2;
    uint16_t v : 9;

M drivers/led/issi/is31fl3741.h => drivers/led/issi/is31fl3741.h +10 -3
@@ 37,9 37,6 @@
#ifdef DRIVER_ADDR_4
#    define IS31FL3741_I2C_ADDRESS_4 DRIVER_ADDR_4
#endif
#ifdef DRIVER_COUNT
#    define IS31FL3741_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT
#    define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT
#endif


@@ 81,6 78,16 @@
#    define IS31FL3741_LED_COUNT RGB_MATRIX_LED_COUNT
#endif

#if defined(IS31FL3741_I2C_ADDRESS_4)
#    define IS31FL3741_DRIVER_COUNT 4
#elif defined(IS31FL3741_I2C_ADDRESS_3)
#    define IS31FL3741_DRIVER_COUNT 3
#elif defined(IS31FL3741_I2C_ADDRESS_2)
#    define IS31FL3741_DRIVER_COUNT 2
#elif defined(IS31FL3741_I2C_ADDRESS_1)
#    define IS31FL3741_DRIVER_COUNT 1
#endif

typedef struct is31fl3741_led_t {
    uint8_t  driver : 2;
    uint16_t r : 9;

M drivers/led/issi/is31fl3743.h => drivers/led/issi/is31fl3743.h +1 -1
@@ 36,7 36,7 @@

// Set defaults for Spread Spectrum Register
#ifndef ISSI_SSR_1
#    if DRIVER_COUNT == 1
#    ifndef DRIVER_ADDR_2
#        define ISSI_SSR_1 0x00
#    else
#        define ISSI_SSR_1 0xC0

M drivers/led/issi/is31fl3745.h => drivers/led/issi/is31fl3745.h +1 -1
@@ 36,7 36,7 @@

// Set defaults for Spread Spectrum Register
#ifndef ISSI_SSR_1
#    if DRIVER_COUNT == 1
#    ifndef DRIVER_ADDR_2
#        define ISSI_SSR_1 0x00
#    else
#        define ISSI_SSR_1 0xC0

M drivers/led/issi/is31flcommon.h => drivers/led/issi/is31flcommon.h +10 -0
@@ 36,6 36,16 @@
#    include "is31fl3746.h"
#endif

#if defined DRIVER_ADDR_4
#    define DRIVER_COUNT 4
#elif defined DRIVER_ADDR_3
#    define DRIVER_COUNT 3
#elif defined DRIVER_ADDR_2
#    define DRIVER_COUNT 2
#elif defined DRIVER_ADDR_1
#    define DRIVER_COUNT 1
#endif

#ifdef RGB_MATRIX_ENABLE
typedef struct is31_led {
    uint8_t driver : 2;

M drivers/led/snled27351-simple.h => drivers/led/snled27351-simple.h +10 -3
@@ 22,9 22,6 @@
#include "util.h"

// ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
#    define SNLED27351_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef CKLED2001_TIMEOUT
#    define SNLED27351_I2C_TIMEOUT CKLED2001_TIMEOUT
#endif


@@ 64,6 61,16 @@
#    define SNLED27351_LED_COUNT LED_MATRIX_LED_COUNT
#endif

#if defined(SNLED27351_I2C_ADDRESS_4)
#    define SNLED27351_DRIVER_COUNT 4
#elif defined(SNLED27351_I2C_ADDRESS_3)
#    define SNLED27351_DRIVER_COUNT 3
#elif defined(SNLED27351_I2C_ADDRESS_2)
#    define SNLED27351_DRIVER_COUNT 2
#elif defined(SNLED27351_I2C_ADDRESS_1)
#    define SNLED27351_DRIVER_COUNT 1
#endif

typedef struct snled27351_led_t {
    uint8_t driver : 2;
    uint8_t v;

M drivers/led/snled27351.h => drivers/led/snled27351.h +10 -3
@@ 22,9 22,6 @@
#include "util.h"

// ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
#    define SNLED27351_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef DRIVER_ADDR_1
#    define SNLED27351_I2C_ADDRESS_1 DRIVER_ADDR_1
#endif


@@ 76,6 73,16 @@
#    define SNLED27351_LED_COUNT RGB_MATRIX_LED_COUNT
#endif

#if defined(SNLED27351_I2C_ADDRESS_4)
#    define SNLED27351_DRIVER_COUNT 4
#elif defined(SNLED27351_I2C_ADDRESS_3)
#    define SNLED27351_DRIVER_COUNT 3
#elif defined(SNLED27351_I2C_ADDRESS_2)
#    define SNLED27351_DRIVER_COUNT 2
#elif defined(SNLED27351_I2C_ADDRESS_1)
#    define SNLED27351_DRIVER_COUNT 1
#endif

typedef struct snled27351_led_t {
    uint8_t driver : 2;
    uint8_t r;

Do not follow this link