Infer LED DRIVER_COUNT from configured addresses (#22311)

This commit is contained in:
Joel Challis 2023-11-10 05:14:22 +00:00 committed by GitHub
parent 8136cf4bfb
commit 84df69572c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 138 additions and 57 deletions

View file

@ -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_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `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 | | | `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_1` | (Required) Address for the first LED driver | |
| `IS31FL3731_I2C_ADDRESS_2` | (Optional) Address for the second 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_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#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)
@ -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_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `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 | | | `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_1` | (Optional) Address for the first LED driver | |
| `DRIVER_ADDR_<N>` | (Required) Address for the additional LED drivers | | | `DRIVER_ADDR_<N>` | (Required) Address for the additional LED drivers | |
@ -129,7 +126,6 @@ Here is an example using 2 drivers.
```c ```c
#define DRIVER_ADDR_2 0b0100001 #define DRIVER_ADDR_2 0b0100001
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66 #define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 42 #define DRIVER_2_LED_TOTAL 42
#define LED_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #define LED_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

View file

@ -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_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `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_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 | | | `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_1` | (Required) Address for the first RGB driver | |
| `IS31FL3731_I2C_ADDRESS_2` | (Optional) Address for the second 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_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#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)
@ -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_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_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_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 | | | `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_1` | (Required) Address for the first RGB driver | |
| `IS31FL3733_I2C_ADDRESS_2` | (Optional) Address for the second 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_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC #define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC
#define IS31FL3733_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 58 #define DRIVER_1_LED_TOTAL 58
#define DRIVER_2_LED_TOTAL 10 #define DRIVER_2_LED_TOTAL 10
#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)
@ -178,7 +174,6 @@ Configure the hardware via your `config.h`:
| `IS31FL3736_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | | `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_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_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 | | | `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_1` | (Required) Address for the first RGB driver | |
| `IS31FL3736_I2C_ADDRESS_2` | (Optional) Address for the second 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_1 IS31FL3736_I2C_ADDRESS_GND_GND
#define IS31FL3736_I2C_ADDRESS_2 IS31FL3736_I2C_ADDRESS_GND_SCL #define IS31FL3736_I2C_ADDRESS_2 IS31FL3736_I2C_ADDRESS_GND_SCL
#define IS31FL3736_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 30 #define DRIVER_1_LED_TOTAL 30
#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)
@ -255,7 +249,6 @@ Configure the hardware via your `config.h`:
| `IS31FL3737_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | | `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_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_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 | | | `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_1` | (Required) Address for the first RGB driver | |
| `IS31FL3737_I2C_ADDRESS_2` | (Optional) Address for the second 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_1 IS31FL3737_I2C_ADDRESS_GND
#define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_SCL #define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_SCL
#define IS31FL3737_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 30 #define DRIVER_1_LED_TOTAL 30
#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)
@ -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_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `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 | | | `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_1` | (Optional) Address for the first RGB driver | |
| `DRIVER_ADDR_<N>` | (Required) Address for the additional RGB drivers | | | `DRIVER_ADDR_<N>` | (Required) Address for the additional RGB drivers | |
@ -376,7 +367,6 @@ Here is an example using 2 drivers.
```c ```c
#define DRIVER_ADDR_2 0b0100001 #define DRIVER_ADDR_2 0b0100001
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66 #define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 42 #define DRIVER_2_LED_TOTAL 42
#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)
@ -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 | | | `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_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 | | | `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 | | | `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_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 | | `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_1 C13
#define AW20216S_EN_PIN_2 C13 #define AW20216S_EN_PIN_2 C13
#define AW20216S_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66 #define DRIVER_1_LED_TOTAL 66
#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

@ -23,9 +23,6 @@
#include "util.h" #include "util.h"
// ======== DEPRECATED DEFINES - DO NOT USE ======== // ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
# define AW20216S_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef AW_SCALING_MAX #ifdef AW_SCALING_MAX
# define AW20216S_SCALING_MAX AW_SCALING_MAX # define AW20216S_SCALING_MAX AW_SCALING_MAX
#endif #endif
@ -59,6 +56,12 @@
# define AW20216S_LED_COUNT RGB_MATRIX_LED_COUNT # define AW20216S_LED_COUNT RGB_MATRIX_LED_COUNT
#endif #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 { typedef struct aw20216s_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t r; uint8_t r;

View file

@ -36,9 +36,6 @@
#ifdef LED_DRIVER_ADDR_4 #ifdef LED_DRIVER_ADDR_4
# define IS31FL3731_I2C_ADDRESS_4 LED_DRIVER_ADDR_4 # define IS31FL3731_I2C_ADDRESS_4 LED_DRIVER_ADDR_4
#endif #endif
#ifdef LED_DRIVER_COUNT
# define IS31FL3731_DRIVER_COUNT LED_DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -62,6 +59,16 @@
# define IS31FL3731_LED_COUNT LED_MATRIX_LED_COUNT # define IS31FL3731_LED_COUNT LED_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3731_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t v; uint8_t v;

View file

@ -35,9 +35,6 @@
#ifdef DRIVER_ADDR_4 #ifdef DRIVER_ADDR_4
# define IS31FL3731_I2C_ADDRESS_4 DRIVER_ADDR_4 # define IS31FL3731_I2C_ADDRESS_4 DRIVER_ADDR_4
#endif #endif
#ifdef DRIVER_COUNT
# define IS31FL3731_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -61,6 +58,16 @@
# define IS31FL3731_LED_COUNT RGB_MATRIX_LED_COUNT # define IS31FL3731_LED_COUNT RGB_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3731_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t r; uint8_t r;

View file

@ -26,9 +26,6 @@
#include "util.h" #include "util.h"
// ======== DEPRECATED DEFINES - DO NOT USE ======== // ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef LED_DRIVER_COUNT
# define IS31FL3733_DRIVER_COUNT LED_DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -81,6 +78,16 @@
# define IS31FL3733_LED_COUNT LED_MATRIX_LED_COUNT # define IS31FL3733_LED_COUNT LED_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3733_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t v; uint8_t v;

View file

@ -49,9 +49,6 @@
#ifdef DRIVER_ADDR_4 #ifdef DRIVER_ADDR_4
# define IS31FL3733_SYNC_4 DRIVER_SYNC_4 # define IS31FL3733_SYNC_4 DRIVER_SYNC_4
#endif #endif
#ifdef DRIVER_COUNT
# define IS31FL3733_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -104,6 +101,16 @@
# define IS31FL3733_LED_COUNT RGB_MATRIX_LED_COUNT # define IS31FL3733_LED_COUNT RGB_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3733_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t r; uint8_t r;

View file

@ -23,9 +23,6 @@
#include "util.h" #include "util.h"
// ======== DEPRECATED DEFINES - DO NOT USE ======== // ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
# define IS31FL3736_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -76,6 +73,16 @@
# define IS31FL3736_LED_COUNT LED_MATRIX_LED_COUNT # define IS31FL3736_LED_COUNT LED_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3736_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t v; uint8_t v;

View file

@ -35,9 +35,6 @@
#ifdef DRIVER_ADDR_4 #ifdef DRIVER_ADDR_4
# define IS31FL3736_I2C_ADDRESS_4 DRIVER_ADDR_4 # define IS31FL3736_I2C_ADDRESS_4 DRIVER_ADDR_4
#endif #endif
#ifdef DRIVER_COUNT
# define IS31FL3736_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -88,6 +85,16 @@
# define IS31FL3736_LED_COUNT RGB_MATRIX_LED_COUNT # define IS31FL3736_LED_COUNT RGB_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3736_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t r; uint8_t r;

View file

@ -25,9 +25,6 @@
#include "util.h" #include "util.h"
// ======== DEPRECATED DEFINES - DO NOT USE ======== // ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
# define IS31FL3737_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -66,6 +63,16 @@
# define IS31FL3737_LED_COUNT LED_MATRIX_LED_COUNT # define IS31FL3737_LED_COUNT LED_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3737_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t v; uint8_t v;

View file

@ -37,9 +37,6 @@
#ifdef DRIVER_ADDR_4 #ifdef DRIVER_ADDR_4
# define IS31FL3737_I2C_ADDRESS_4 DRIVER_ADDR_4 # define IS31FL3737_I2C_ADDRESS_4 DRIVER_ADDR_4
#endif #endif
#ifdef DRIVER_COUNT
# define IS31FL3737_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -81,6 +78,16 @@
# define IS31FL3737_LED_COUNT RGB_MATRIX_LED_COUNT # define IS31FL3737_LED_COUNT RGB_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3737_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t r; uint8_t r;

View file

@ -25,9 +25,6 @@
#include "util.h" #include "util.h"
// ======== DEPRECATED DEFINES - DO NOT USE ======== // ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
# define IS31FL3741_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -66,6 +63,16 @@
# define IS31FL3741_LED_COUNT LED_MATRIX_LED_COUNT # define IS31FL3741_LED_COUNT LED_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3741_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint16_t v : 9; uint16_t v : 9;

View file

@ -37,9 +37,6 @@
#ifdef DRIVER_ADDR_4 #ifdef DRIVER_ADDR_4
# define IS31FL3741_I2C_ADDRESS_4 DRIVER_ADDR_4 # define IS31FL3741_I2C_ADDRESS_4 DRIVER_ADDR_4
#endif #endif
#ifdef DRIVER_COUNT
# define IS31FL3741_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef ISSI_TIMEOUT #ifdef ISSI_TIMEOUT
# define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT # define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT
#endif #endif
@ -81,6 +78,16 @@
# define IS31FL3741_LED_COUNT RGB_MATRIX_LED_COUNT # define IS31FL3741_LED_COUNT RGB_MATRIX_LED_COUNT
#endif #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 { typedef struct is31fl3741_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint16_t r : 9; uint16_t r : 9;

View file

@ -36,7 +36,7 @@
// Set defaults for Spread Spectrum Register // Set defaults for Spread Spectrum Register
#ifndef ISSI_SSR_1 #ifndef ISSI_SSR_1
# if DRIVER_COUNT == 1 # ifndef DRIVER_ADDR_2
# define ISSI_SSR_1 0x00 # define ISSI_SSR_1 0x00
# else # else
# define ISSI_SSR_1 0xC0 # define ISSI_SSR_1 0xC0

View file

@ -36,7 +36,7 @@
// Set defaults for Spread Spectrum Register // Set defaults for Spread Spectrum Register
#ifndef ISSI_SSR_1 #ifndef ISSI_SSR_1
# if DRIVER_COUNT == 1 # ifndef DRIVER_ADDR_2
# define ISSI_SSR_1 0x00 # define ISSI_SSR_1 0x00
# else # else
# define ISSI_SSR_1 0xC0 # define ISSI_SSR_1 0xC0

View file

@ -36,6 +36,16 @@
# include "is31fl3746.h" # include "is31fl3746.h"
#endif #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 #ifdef RGB_MATRIX_ENABLE
typedef struct is31_led { typedef struct is31_led {
uint8_t driver : 2; uint8_t driver : 2;

View file

@ -22,9 +22,6 @@
#include "util.h" #include "util.h"
// ======== DEPRECATED DEFINES - DO NOT USE ======== // ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
# define SNLED27351_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef CKLED2001_TIMEOUT #ifdef CKLED2001_TIMEOUT
# define SNLED27351_I2C_TIMEOUT CKLED2001_TIMEOUT # define SNLED27351_I2C_TIMEOUT CKLED2001_TIMEOUT
#endif #endif
@ -64,6 +61,16 @@
# define SNLED27351_LED_COUNT LED_MATRIX_LED_COUNT # define SNLED27351_LED_COUNT LED_MATRIX_LED_COUNT
#endif #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 { typedef struct snled27351_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t v; uint8_t v;

View file

@ -22,9 +22,6 @@
#include "util.h" #include "util.h"
// ======== DEPRECATED DEFINES - DO NOT USE ======== // ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
# define SNLED27351_DRIVER_COUNT DRIVER_COUNT
#endif
#ifdef DRIVER_ADDR_1 #ifdef DRIVER_ADDR_1
# define SNLED27351_I2C_ADDRESS_1 DRIVER_ADDR_1 # define SNLED27351_I2C_ADDRESS_1 DRIVER_ADDR_1
#endif #endif
@ -76,6 +73,16 @@
# define SNLED27351_LED_COUNT RGB_MATRIX_LED_COUNT # define SNLED27351_LED_COUNT RGB_MATRIX_LED_COUNT
#endif #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 { typedef struct snled27351_led_t {
uint8_t driver : 2; uint8_t driver : 2;
uint8_t r; uint8_t r;