forked from mirrors/qmk_userspace
		
	Change DRIVER_LED_COUNT to {LED,RGB}_MATRIX_LED_COUNT (#18399)
		
	This commit is contained in:
		
					parent
					
						
							
								d967de0df7
							
						
					
				
			
			
				commit
				
					
						36c410592d
					
				
			
		
					 577 changed files with 836 additions and 831 deletions
				
			
		| 
						 | 
				
			
			@ -22,7 +22,7 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_<N>
 | 
			
		|||
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
 | 
			
		||||
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
 | 
			
		||||
| `LED_DRIVER_COUNT` | (Required) How many LED driver IC's are present | |
 | 
			
		||||
| `DRIVER_LED_TOTAL` | (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_2` | (Optional) Address for the second LED driver | |
 | 
			
		||||
| `LED_DRIVER_ADDR_3` | (Optional) Address for the third LED driver | |
 | 
			
		||||
| 
						 | 
				
			
			@ -44,17 +44,17 @@ Here is an example using 2 drivers.
 | 
			
		|||
#define LED_DRIVER_COUNT 2
 | 
			
		||||
#define LED_DRIVER_1_LED_TOTAL 25
 | 
			
		||||
#define LED_DRIVER_2_LED_TOTAL 24
 | 
			
		||||
#define DRIVER_LED_TOTAL (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)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
!> Note the parentheses, this is so when `LED_DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)` will give very different results than `rand() % LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL`.
 | 
			
		||||
!> Note the parentheses, this is so when `LED_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)` will give very different results than `rand() % LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL`.
 | 
			
		||||
 | 
			
		||||
For split keyboards using `LED_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `DRIVER_ADDR_1` for one and `DRIVER_ADDR_2` for the other one. Then, in `g_is31_leds`, fill out the correct driver index (0 or 1). If using one address, use `DRIVER_ADDR_1` for both, and use index 0 for `g_is31_leds`.
 | 
			
		||||
 | 
			
		||||
Define these arrays listing all the LEDs in your `<keyboard>.c`:
 | 
			
		||||
 | 
			
		||||
```c
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *    driver
 | 
			
		||||
 *    |  LED address
 | 
			
		||||
| 
						 | 
				
			
			@ -95,7 +95,7 @@ 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 | |
 | 
			
		||||
| `DRIVER_LED_TOTAL` | (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_<N>` | (Required) Address for the additional LED drivers | |
 | 
			
		||||
| `ISSI_SSR_<N>` | (Optional) Configuration for the Spread Spectrum Register | |
 | 
			
		||||
| 
						 | 
				
			
			@ -130,16 +130,16 @@ Here is an example using 2 drivers.
 | 
			
		|||
#define DRIVER_COUNT 2
 | 
			
		||||
#define DRIVER_1_LED_TOTAL 66
 | 
			
		||||
#define DRIVER_2_LED_TOTAL 42
 | 
			
		||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
#define LED_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
```
 | 
			
		||||
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
!> Note the parentheses, this is so when `LED_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
 | 
			
		||||
Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model.
 | 
			
		||||
 | 
			
		||||
Define these arrays listing all the LEDs in your `<keyboard>.c`:
 | 
			
		||||
 | 
			
		||||
```c
 | 
			
		||||
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *    driver
 | 
			
		||||
 *    |  LED address
 | 
			
		||||
| 
						 | 
				
			
			@ -367,7 +367,7 @@ For inspiration and examples, check out the built-in effects under `quantum/led_
 | 
			
		|||
#define LED_DISABLE_TIMEOUT 0 // number of milliseconds to wait until led automatically turns off
 | 
			
		||||
#define LED_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects
 | 
			
		||||
#define LED_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#define LED_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#define LED_MATRIX_LED_PROCESS_LIMIT (LED_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#define LED_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#define LED_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs
 | 
			
		||||
#define LED_MATRIX_STARTUP_MODE LED_MATRIX_SOLID // Sets the default mode, if none has been set
 | 
			
		||||
| 
						 | 
				
			
			@ -391,7 +391,7 @@ Where `28` is an unused index from `eeconfig.h`.
 | 
			
		|||
|Function                                    |Description  |
 | 
			
		||||
|--------------------------------------------|-------------|
 | 
			
		||||
|`led_matrix_set_value_all(v)`         |Set all of the LEDs to the given value, where `v` is between 0 and 255 (not written to EEPROM) |
 | 
			
		||||
|`led_matrix_set_value(index, v)`      |Set a single LED to the given value, where `v` is between 0 and 255, and `index` is between 0 and `DRIVER_LED_TOTAL` (not written to EEPROM) |
 | 
			
		||||
|`led_matrix_set_value(index, v)`      |Set a single LED to the given value, where `v` is between 0 and 255, and `index` is between 0 and `LED_MATRIX_LED_COUNT` (not written to EEPROM) |
 | 
			
		||||
 | 
			
		||||
### Disable/Enable Effects :id=disable-enable-effects
 | 
			
		||||
|Function                                    |Description  |
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_<N>` de
 | 
			
		|||
| `ISSI_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 | |
 | 
			
		||||
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
 | 
			
		||||
| `DRIVER_LED_TOTAL` | (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_2` | (Optional) Address for the second RGB driver | |
 | 
			
		||||
| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | |
 | 
			
		||||
| 
						 | 
				
			
			@ -45,17 +45,17 @@ Here is an example using 2 drivers.
 | 
			
		|||
#define DRIVER_COUNT 2
 | 
			
		||||
#define DRIVER_1_LED_TOTAL 25
 | 
			
		||||
#define DRIVER_2_LED_TOTAL 24
 | 
			
		||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
 | 
			
		||||
For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `DRIVER_ADDR_1` for one and `DRIVER_ADDR_2` for the other one. Then, in `g_is31_leds`, fill out the correct driver index (0 or 1). If using one address, use `DRIVER_ADDR_1` for both, and use index 0 for `g_is31_leds`.
 | 
			
		||||
 | 
			
		||||
Define these arrays listing all the LEDs in your `<keyboard>.c`:
 | 
			
		||||
 | 
			
		||||
```c
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *   driver
 | 
			
		||||
 *   |  R location
 | 
			
		||||
| 
						 | 
				
			
			@ -90,7 +90,7 @@ You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_<N>` de
 | 
			
		|||
| `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
 | 
			
		||||
| `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
 | 
			
		||||
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
 | 
			
		||||
| `DRIVER_LED_TOTAL` | (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_2` | (Optional) Address for the second RGB driver | |
 | 
			
		||||
| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | |
 | 
			
		||||
| 
						 | 
				
			
			@ -131,17 +131,17 @@ Here is an example using 2 drivers.
 | 
			
		|||
#define DRIVER_COUNT 2
 | 
			
		||||
#define DRIVER_1_LED_TOTAL 58
 | 
			
		||||
#define DRIVER_2_LED_TOTAL 10
 | 
			
		||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
 | 
			
		||||
Currently only 4 drivers are supported, but it would be trivial to support all 8 combinations.
 | 
			
		||||
 | 
			
		||||
Define these arrays listing all the LEDs in your `<keyboard>.c`:
 | 
			
		||||
 | 
			
		||||
```c
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *   driver
 | 
			
		||||
 *   |  R location
 | 
			
		||||
| 
						 | 
				
			
			@ -177,7 +177,7 @@ Configure the hardware via your `config.h`:
 | 
			
		|||
| `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
 | 
			
		||||
| `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
 | 
			
		||||
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
 | 
			
		||||
| `DRIVER_LED_TOTAL` | (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_2` | (Optional) Address for the second RGB driver | |
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -212,16 +212,16 @@ Here is an example using 2 drivers.
 | 
			
		|||
#define DRIVER_COUNT 2
 | 
			
		||||
#define DRIVER_1_LED_TOTAL 30
 | 
			
		||||
#define DRIVER_2_LED_TOTAL 36
 | 
			
		||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
```
 | 
			
		||||
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
 | 
			
		||||
Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations.
 | 
			
		||||
 | 
			
		||||
Define these arrays listing all the LEDs in your `<keyboard>.c`:
 | 
			
		||||
 | 
			
		||||
```c
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *   driver
 | 
			
		||||
 *   |  R location
 | 
			
		||||
| 
						 | 
				
			
			@ -263,7 +263,7 @@ 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 | |
 | 
			
		||||
| `DRIVER_LED_TOTAL` | (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_<N>` | (Required) Address for the additional RGB drivers | |
 | 
			
		||||
| `ISSI_SSR_<N>` | (Optional) Configuration for the Spread Spectrum Register | |
 | 
			
		||||
| 
						 | 
				
			
			@ -300,17 +300,17 @@ Here is an example using 2 drivers.
 | 
			
		|||
#define DRIVER_COUNT 2
 | 
			
		||||
#define DRIVER_1_LED_TOTAL 66
 | 
			
		||||
#define DRIVER_2_LED_TOTAL 42
 | 
			
		||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
 | 
			
		||||
Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model.
 | 
			
		||||
 | 
			
		||||
Define these arrays listing all the LEDs in your `<keyboard>.c`:
 | 
			
		||||
 | 
			
		||||
```c
 | 
			
		||||
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *   driver
 | 
			
		||||
 *   |  R location
 | 
			
		||||
| 
						 | 
				
			
			@ -361,7 +361,7 @@ Configure the hardware via your `config.h`:
 | 
			
		|||
// The pin connected to the data pin of the LEDs
 | 
			
		||||
#define RGB_DI_PIN D7
 | 
			
		||||
// The number of LEDs connected
 | 
			
		||||
#define DRIVER_LED_TOTAL 70
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 70
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
?> There are additional configuration options for ARM controllers that offer increased performance over the default bitbang driver. Please see [WS2812 Driver](ws2812_driver.md) for more information.
 | 
			
		||||
| 
						 | 
				
			
			@ -385,7 +385,7 @@ Configure the hardware via your `config.h`:
 | 
			
		|||
// The pin connected to the clock pin of the LEDs
 | 
			
		||||
#define RGB_CI_PIN D6
 | 
			
		||||
// The number of LEDs connected
 | 
			
		||||
#define DRIVER_LED_TOTAL 70
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 70
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -408,7 +408,7 @@ You can use up to 2 AW20216 IC's. Do not specify `DRIVER_<N>_xxx` defines for IC
 | 
			
		|||
| `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_COUNT` | (Required) How many RGB driver IC's are present | |
 | 
			
		||||
| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
 | 
			
		||||
| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
 | 
			
		||||
| `AW_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 |
 | 
			
		||||
| `AW_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 |
 | 
			
		||||
| `AW_SPI_MODE` | (Optional) Mode for SPI communication (0-3, defines polarity and phase of the clock) | 3 |
 | 
			
		||||
| 
						 | 
				
			
			@ -426,15 +426,15 @@ Here is an example using 2 drivers.
 | 
			
		|||
#define DRIVER_COUNT 2
 | 
			
		||||
#define DRIVER_1_LED_TOTAL 66
 | 
			
		||||
#define DRIVER_2_LED_TOTAL 32
 | 
			
		||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
 | 
			
		||||
 | 
			
		||||
Define these arrays listing all the LEDs in your `<keyboard>.c`:
 | 
			
		||||
 | 
			
		||||
```c
 | 
			
		||||
const aw_led PROGMEM g_aw_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Each AW20216 channel is controlled by a register at some offset between 0x00
 | 
			
		||||
 * and 0xD7 inclusive.
 | 
			
		||||
 * See drivers/awinic/aw20216.h for the mapping between register offsets and
 | 
			
		||||
| 
						 | 
				
			
			@ -794,7 +794,7 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master
 | 
			
		|||
#define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
 | 
			
		||||
#define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects
 | 
			
		||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
 | 
			
		||||
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
 | 
			
		||||
| 
						 | 
				
			
			@ -824,7 +824,7 @@ Where `28` is an unused index from `eeconfig.h`.
 | 
			
		|||
|Function                                    |Description  |
 | 
			
		||||
|--------------------------------------------|-------------|
 | 
			
		||||
|`rgb_matrix_set_color_all(r, g, b)`         |Set all of the LEDs to the given RGB value, where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) |
 | 
			
		||||
|`rgb_matrix_set_color(index, r, g, b)`      |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255, and `index` is between 0 and `DRIVER_LED_TOTAL` (not written to EEPROM) |
 | 
			
		||||
|`rgb_matrix_set_color(index, r, g, b)`      |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255, and `index` is between 0 and `RGB_MATRIX_LED_COUNT` (not written to EEPROM) |
 | 
			
		||||
 | 
			
		||||
### Disable/Enable Effects :id=disable-enable-effects
 | 
			
		||||
|Function                                    |Description  |
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -133,7 +133,7 @@ void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        AW20216_set_color(i, red, green, blue);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@ typedef struct aw_led {
 | 
			
		|||
    uint8_t b;
 | 
			
		||||
} aw_led;
 | 
			
		||||
 | 
			
		||||
extern const aw_led PROGMEM g_aw_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void AW20216_init(pin_t cs_pin, pin_t en_pin);
 | 
			
		||||
void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -148,7 +148,7 @@ void CKLED2001_init(uint8_t addr) {
 | 
			
		|||
 | 
			
		||||
void CKLED2001_set_value(int index, uint8_t value) {
 | 
			
		||||
    ckled2001_led led;
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < LED_MATRIX_LED_COUNT) {
 | 
			
		||||
        memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led));
 | 
			
		||||
 | 
			
		||||
        g_pwm_buffer[led.driver][led.v]          = value;
 | 
			
		||||
| 
						 | 
				
			
			@ -157,7 +157,7 @@ void CKLED2001_set_value(int index, uint8_t value) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void CKLED2001_set_value_all(uint8_t value) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        CKLED2001_set_value(i, value);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,7 +25,7 @@ typedef struct ckled2001_led {
 | 
			
		|||
    uint8_t v;
 | 
			
		||||
} __attribute__((packed)) ckled2001_led;
 | 
			
		||||
 | 
			
		||||
extern const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const ckled2001_led PROGMEM g_ckled2001_leds[LED_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void CKLED2001_init(uint8_t addr);
 | 
			
		||||
bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -148,7 +148,7 @@ void CKLED2001_init(uint8_t addr) {
 | 
			
		|||
 | 
			
		||||
void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    ckled2001_led led;
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
 | 
			
		||||
        memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led));
 | 
			
		||||
 | 
			
		||||
        g_pwm_buffer[led.driver][led.r]          = red;
 | 
			
		||||
| 
						 | 
				
			
			@ -159,7 +159,7 @@ void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        CKLED2001_set_color(i, red, green, blue);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ typedef struct ckled2001_led {
 | 
			
		|||
    uint8_t b;
 | 
			
		||||
} __attribute__((packed)) ckled2001_led;
 | 
			
		||||
 | 
			
		||||
extern const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void CKLED2001_init(uint8_t addr);
 | 
			
		||||
bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -194,7 +194,7 @@ void IS31FL3731_init(uint8_t addr) {
 | 
			
		|||
 | 
			
		||||
void IS31FL3731_set_value(int index, uint8_t value) {
 | 
			
		||||
    is31_led led;
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < LED_MATRIX_LED_COUNT) {
 | 
			
		||||
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
 | 
			
		||||
 | 
			
		||||
        // Subtract 0x24 to get the second index of g_pwm_buffer
 | 
			
		||||
| 
						 | 
				
			
			@ -204,7 +204,7 @@ void IS31FL3731_set_value(int index, uint8_t value) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL3731_set_value_all(uint8_t value) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        IS31FL3731_set_value(i, value);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ typedef struct is31_led {
 | 
			
		|||
    uint8_t v;
 | 
			
		||||
} __attribute__((packed)) is31_led;
 | 
			
		||||
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void IS31FL3731_init(uint8_t addr);
 | 
			
		||||
void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -182,7 +182,7 @@ void IS31FL3731_init(uint8_t addr) {
 | 
			
		|||
 | 
			
		||||
void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    is31_led led;
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
 | 
			
		||||
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
 | 
			
		||||
 | 
			
		||||
        // Subtract 0x24 to get the second index of g_pwm_buffer
 | 
			
		||||
| 
						 | 
				
			
			@ -194,7 +194,7 @@ void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        IS31FL3731_set_color(i, red, green, blue);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@ typedef struct is31_led {
 | 
			
		|||
    uint8_t b;
 | 
			
		||||
} __attribute__((packed)) is31_led;
 | 
			
		||||
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void IS31FL3731_init(uint8_t addr);
 | 
			
		||||
void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -195,7 +195,7 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL3733_set_value(int index, uint8_t value) {
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < LED_MATRIX_LED_COUNT) {
 | 
			
		||||
        is31_led led = g_is31_leds[index];
 | 
			
		||||
 | 
			
		||||
        g_pwm_buffer[led.driver][led.v]          = value;
 | 
			
		||||
| 
						 | 
				
			
			@ -204,7 +204,7 @@ void IS31FL3733_set_value(int index, uint8_t value) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL3733_set_value_all(uint8_t value) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        IS31FL3733_set_value(i, value);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,7 +29,7 @@ typedef struct is31_led {
 | 
			
		|||
    uint8_t v;
 | 
			
		||||
} __attribute__((packed)) is31_led;
 | 
			
		||||
 | 
			
		||||
extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void IS31FL3733_init(uint8_t addr, uint8_t sync);
 | 
			
		||||
bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -186,7 +186,7 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) {
 | 
			
		|||
 | 
			
		||||
void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    is31_led led;
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
 | 
			
		||||
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
 | 
			
		||||
 | 
			
		||||
        g_pwm_buffer[led.driver][led.r]          = red;
 | 
			
		||||
| 
						 | 
				
			
			@ -197,7 +197,7 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        IS31FL3733_set_color(i, red, green, blue);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ typedef struct is31_led {
 | 
			
		|||
    uint8_t b;
 | 
			
		||||
} __attribute__((packed)) is31_led;
 | 
			
		||||
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void IS31FL3733_init(uint8_t addr, uint8_t sync);
 | 
			
		||||
bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -168,7 +168,7 @@ void IS31FL3736_init(uint8_t addr) {
 | 
			
		|||
 | 
			
		||||
void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    is31_led led;
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
 | 
			
		||||
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
 | 
			
		||||
 | 
			
		||||
        g_pwm_buffer[led.driver][led.r] = red;
 | 
			
		||||
| 
						 | 
				
			
			@ -179,7 +179,7 @@ void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        IS31FL3736_set_color(i, red, green, blue);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,8 +28,8 @@
 | 
			
		|||
#    define DRIVER_COUNT 2
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef DRIVER_LED_TOTAL
 | 
			
		||||
#    define DRIVER_LED_TOTAL 96
 | 
			
		||||
#ifndef RGB_MATRIX_LED_COUNT
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT 96
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct is31_led {
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ typedef struct is31_led {
 | 
			
		|||
    uint8_t b;
 | 
			
		||||
} __attribute__((packed)) is31_led;
 | 
			
		||||
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void IS31FL3736_init(uint8_t addr);
 | 
			
		||||
void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -175,7 +175,7 @@ void IS31FL3737_init(uint8_t addr) {
 | 
			
		|||
 | 
			
		||||
void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    is31_led led;
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
 | 
			
		||||
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
 | 
			
		||||
 | 
			
		||||
        g_pwm_buffer[led.driver][led.r]          = red;
 | 
			
		||||
| 
						 | 
				
			
			@ -186,7 +186,7 @@ void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        IS31FL3737_set_color(i, red, green, blue);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ typedef struct is31_led {
 | 
			
		|||
    uint8_t b;
 | 
			
		||||
} __attribute__((packed)) is31_led;
 | 
			
		||||
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void IS31FL3737_init(uint8_t addr);
 | 
			
		||||
void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -179,7 +179,7 @@ void IS31FL3741_init(uint8_t addr) {
 | 
			
		|||
 | 
			
		||||
void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    is31_led led;
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
 | 
			
		||||
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
 | 
			
		||||
 | 
			
		||||
        g_pwm_buffer[led.driver][led.r]          = red;
 | 
			
		||||
| 
						 | 
				
			
			@ -190,7 +190,7 @@ void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        IS31FL3741_set_color(i, red, green, blue);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ typedef struct is31_led {
 | 
			
		|||
    uint32_t b : 10;
 | 
			
		||||
} __attribute__((packed)) is31_led;
 | 
			
		||||
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void IS31FL3741_init(uint8_t addr);
 | 
			
		||||
void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -135,14 +135,17 @@ void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index) {
 | 
			
		|||
void IS31FL_set_manual_scaling_buffer(void) {
 | 
			
		||||
    for (int i = 0; i < ISSI_MANUAL_SCALING; i++) {
 | 
			
		||||
        is31_led scale = g_is31_scaling[i];
 | 
			
		||||
        if (scale.driver >= 0 && scale.driver < DRIVER_LED_TOTAL) {
 | 
			
		||||
#    ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
        if (scale.driver >= 0 && scale.driver < RGB_MATRIX_LED_COUNT) {
 | 
			
		||||
            is31_led led = g_is31_leds[scale.driver];
 | 
			
		||||
 | 
			
		||||
#    ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
            g_scaling_buffer[led.driver][led.r] = scale.r;
 | 
			
		||||
            g_scaling_buffer[led.driver][led.g] = scale.g;
 | 
			
		||||
            g_scaling_buffer[led.driver][led.b] = scale.b;
 | 
			
		||||
#    elif defined(LED_MATRIX_ENABLE)
 | 
			
		||||
        if (scale.driver >= 0 && scale.driver < LED_MATRIX_LED_COUNT) {
 | 
			
		||||
            is31_led led = g_is31_leds[scale.driver];
 | 
			
		||||
 | 
			
		||||
            g_scaling_buffer[led.driver][led.v] = scale.v;
 | 
			
		||||
#    endif
 | 
			
		||||
            g_scaling_buffer_update_required[led.driver] = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -165,7 +168,7 @@ void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index) {
 | 
			
		|||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
// Colour is set by adjusting PWM register
 | 
			
		||||
void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
 | 
			
		||||
        is31_led led = g_is31_leds[index];
 | 
			
		||||
 | 
			
		||||
        g_pwm_buffer[led.driver][led.r]          = red;
 | 
			
		||||
| 
						 | 
				
			
			@ -176,7 +179,7 @@ void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        IS31FL_RGB_set_color(i, red, green, blue);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -215,7 +218,7 @@ void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL_simple_set_brightness(int index, uint8_t value) {
 | 
			
		||||
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
 | 
			
		||||
    if (index >= 0 && index < LED_MATRIX_LED_COUNT) {
 | 
			
		||||
        is31_led led = g_is31_leds[index];
 | 
			
		||||
        g_pwm_buffer[led.driver][led.v] = value;
 | 
			
		||||
        g_pwm_buffer_update_required[led.driver] = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -223,7 +226,7 @@ void IS31FL_simple_set_brightness(int index, uint8_t value) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void IS31FL_simple_set_brigntness_all(uint8_t value) {
 | 
			
		||||
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        IS31FL_simple_set_brightness(i, value);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,11 +43,15 @@ typedef struct is31_led {
 | 
			
		|||
    uint8_t b;
 | 
			
		||||
} __attribute__((packed)) is31_led;
 | 
			
		||||
 | 
			
		||||
extern const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
#elif defined(LED_MATRIX_ENABLE)
 | 
			
		||||
typedef struct is31_led {
 | 
			
		||||
    uint8_t driver;
 | 
			
		||||
    uint8_t v;
 | 
			
		||||
} __attribute__((packed)) is31_led;
 | 
			
		||||
 | 
			
		||||
extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT];
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef ISSI_MANUAL_SCALING
 | 
			
		||||
| 
						 | 
				
			
			@ -55,8 +59,6 @@ extern const is31_led __flash g_is31_scaling[];
 | 
			
		|||
void                          IS31FL_set_manual_scaling_buffer(void);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
 | 
			
		||||
 | 
			
		||||
void IS31FL_write_single_register(uint8_t addr, uint8_t reg, uint8_t data);
 | 
			
		||||
bool IS31FL_write_multi_registers(uint8_t addr, uint8_t *source_buffer, uint8_t buffer_size, uint8_t transfer_size, uint8_t start_reg_addr);
 | 
			
		||||
void IS31FL_unlock_register(uint8_t addr, uint8_t page);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,7 +29,7 @@
 | 
			
		|||
#define ENCODERS_PAD_B { GP13 }
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN GP0
 | 
			
		||||
#define DRIVER_LED_TOTAL 47
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 47
 | 
			
		||||
#define RGBLED_NUM 47
 | 
			
		||||
#    define RGB_MATRIX_KEYPRESSES // reacts to keypresses
 | 
			
		||||
#    define RGB_MATRIX_FRAMEBUFFER_EFFECTS  
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define RGB_DI_PIN D3
 | 
			
		||||
#ifdef RGB_DI_PIN
 | 
			
		||||
#    define RGBLED_NUM 16  // Add 12 if attaching the RGB LED ring
 | 
			
		||||
#    define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#    ifdef RGBLIGHT_ENABLE
 | 
			
		||||
#        define RGBLIGHT_HUE_STEP 8
 | 
			
		||||
#        define RGBLIGHT_SAT_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,7 +62,7 @@
 | 
			
		|||
//#define BACKLIGHT_BREATHING
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN B5
 | 
			
		||||
#define DRIVER_LED_TOTAL 20
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 20
 | 
			
		||||
#ifdef RGB_DI_PIN
 | 
			
		||||
#    define RGB_MATRIX_KEYPRESSES // reacts to keypresses
 | 
			
		||||
#    define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
/* RGB matrix key backlighting */
 | 
			
		||||
#define RGB_DI_PIN B2
 | 
			
		||||
#define DRIVER_LED_TOTAL 2
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 2
 | 
			
		||||
#define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE
 | 
			
		||||
#define RGB_MATRIX_STARTUP_HUE 90
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,7 +33,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#define DRIVER_ADDR_1 0b1010000
 | 
			
		||||
#define DRIVER_COUNT 1
 | 
			
		||||
#define DRIVER_LED_TOTAL 62
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 62
 | 
			
		||||
#define ISSI_PWM_FREQUENCY 0b010
 | 
			
		||||
 | 
			
		||||
#define RGB_MATRIX_STARTUP_VAL 80
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#include "rev_a.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
    { 0, K_2,  J_2,  L_2 }, //D402
 | 
			
		||||
    { 0, K_3,  J_3,  L_3 }, //D403
 | 
			
		||||
    { 0, K_4,  J_4,  L_4 }, //D404
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
/* RGB Matrix setup */
 | 
			
		||||
#define RGB_DI_PIN GP19
 | 
			
		||||
#define DRIVER_LED_TOTAL 2
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 2
 | 
			
		||||
#define RGBLED_NUM 2
 | 
			
		||||
#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN B15
 | 
			
		||||
#define DRIVER_LED_TOTAL 87
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 87
 | 
			
		||||
 | 
			
		||||
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
 | 
			
		||||
#define WS2812_PWM_DRIVER PWMD1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,8 +45,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#define DRIVER_COUNT 1
 | 
			
		||||
#define DRIVER_1_LED_TOTAL 87
 | 
			
		||||
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
 | 
			
		||||
#define ISSI_DRIVER_TOTAL DRIVER_LED_TOTAL
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
 | 
			
		||||
#define ISSI_DRIVER_TOTAL RGB_MATRIX_LED_COUNT
 | 
			
		||||
 | 
			
		||||
#define RGB_MATRIX_STARTUP_VAL 80
 | 
			
		||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#include "gamma.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *   driver
 | 
			
		||||
 *   |  R location
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN B15
 | 
			
		||||
#define DRIVER_LED_TOTAL 86
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 86
 | 
			
		||||
 | 
			
		||||
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
 | 
			
		||||
#define WS2812_PWM_DRIVER PWMD1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN B15
 | 
			
		||||
#define DRIVER_LED_TOTAL 87
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 87
 | 
			
		||||
 | 
			
		||||
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
 | 
			
		||||
#define WS2812_PWM_DRIVER PWMD1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,7 +78,7 @@
 | 
			
		|||
 | 
			
		||||
     /* RGB Defines */
 | 
			
		||||
#    define RGB_DI_PIN GP19
 | 
			
		||||
#    define DRIVER_LED_TOTAL 12
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT 12
 | 
			
		||||
#    define RGBLED_NUM 12
 | 
			
		||||
 | 
			
		||||
     /* Enable Framebuffer and keypress effects */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,7 @@
 | 
			
		|||
 | 
			
		||||
#define RGB_DI_PIN B7
 | 
			
		||||
 | 
			
		||||
#define DRIVER_LED_TOTAL 42
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 42
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
 | 
			
		||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
 | 
			
		||||
#define RGB_MATRIX_LED_PROCESS_LIMIT 21
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#define DRIVER_LED_TOTAL 68
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 68
 | 
			
		||||
#define RGB_MATRIX_SPLIT { 34, 34 }
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
#define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#pragma once
 | 
			
		||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
 | 
			
		||||
#define DRIVER_LED_TOTAL 70
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 70
 | 
			
		||||
 | 
			
		||||
/* disable debug print */
 | 
			
		||||
//#define NO_DEBUG
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@
 | 
			
		|||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
#define DRIVER_LED_TOTAL 61
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 61
 | 
			
		||||
 | 
			
		||||
/* Limit animations to 62.5 FPS to avoid tearing. (1/.016 = 62.5 FPS). */
 | 
			
		||||
#define RGB_MATRIX_LED_FLUSH_LIMIT 16
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@
 | 
			
		|||
#include "rgb_matrix.h"
 | 
			
		||||
#include "ap2_led.h"
 | 
			
		||||
 | 
			
		||||
uint8_t led_pos[DRIVER_LED_TOTAL];
 | 
			
		||||
uint8_t led_pos[RGB_MATRIX_LED_COUNT];
 | 
			
		||||
 | 
			
		||||
void init(void) {
 | 
			
		||||
    unsigned int i = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -52,7 +52,7 @@ void set_color(int index, uint8_t r, uint8_t g, uint8_t b) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void set_color_all(uint8_t r, uint8_t g, uint8_t b) {
 | 
			
		||||
    for (int i=0; i<DRIVER_LED_TOTAL; i++)
 | 
			
		||||
    for (int i=0; i<RGB_MATRIX_LED_COUNT; i++)
 | 
			
		||||
        set_color(i, r, g, b);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,7 +57,7 @@
 | 
			
		|||
#define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED true
 | 
			
		||||
#define DRIVER_LED_TOTAL 96
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 96
 | 
			
		||||
#define RGB_MATRIX_STARTUP_HUE 170
 | 
			
		||||
#define RGB_MATRIX_STARTUP_SAT 255
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,7 +78,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#    define RGB_DISABLE_WHEN_USB_SUSPENDED      // turn off effects when suspended
 | 
			
		||||
#    define DRIVER_ADDR_1 0b1010000
 | 
			
		||||
#    define DRIVER_COUNT 1
 | 
			
		||||
#    define DRIVER_LED_TOTAL 64
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT 64
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@
 | 
			
		|||
#include "hotswap.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
    { 0, B_1,  A_1,  C_1 },
 | 
			
		||||
    { 0, B_2,  A_2,  C_2 },
 | 
			
		||||
    { 0, B_3,  A_3,  C_3 },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -91,7 +91,7 @@
 | 
			
		|||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
/* ws2812 RGB MATRIX */
 | 
			
		||||
#   define DRIVER_LED_TOTAL 76
 | 
			
		||||
#   define RGB_MATRIX_LED_COUNT 76
 | 
			
		||||
 | 
			
		||||
 // reacts to keypresses
 | 
			
		||||
#   define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,7 +36,7 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN E6
 | 
			
		||||
#define DRIVER_LED_TOTAL 80
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 80
 | 
			
		||||
 | 
			
		||||
/* RGB LED */
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -75,7 +75,7 @@
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
//#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
#   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
#    define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,7 +38,7 @@
 | 
			
		|||
/* RGB matrix support. */
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
#    define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
 | 
			
		||||
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,7 +40,7 @@
 | 
			
		|||
/* RGB matrix support. */
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
#    define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
 | 
			
		||||
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,7 +38,7 @@
 | 
			
		|||
/* RGB matrix support. */
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
#    define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
 | 
			
		||||
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,7 +37,7 @@
 | 
			
		|||
/* RGB matrix support. */
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
#    define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
 | 
			
		||||
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,7 +37,7 @@
 | 
			
		|||
/* RGB matrix support. */
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
#    define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
 | 
			
		||||
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,7 +37,7 @@
 | 
			
		|||
/* RGB matrix support. */
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
#    define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
 | 
			
		||||
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@
 | 
			
		|||
// RGB configuration
 | 
			
		||||
#define RGB_DI_PIN B7
 | 
			
		||||
// The number of LEDs connected
 | 
			
		||||
#define DRIVER_LED_TOTAL  81
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT  81
 | 
			
		||||
//#ifdef RGB_DI_PIN
 | 
			
		||||
#    define RGBLED_NUM 81
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -17,7 +17,7 @@
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
//#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. 
 | 
			
		||||
#    define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#pragma once
 | 
			
		||||
#define RGB_DI_PIN C6
 | 
			
		||||
#define DRIVER_LED_TOTAL 18
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 18
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BREATHING
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
 | 
			
		||||
#pragma once
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
 | 
			
		||||
#define DRIVER_LED_TOTAL 70
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 70
 | 
			
		||||
#define RGB_MATRIX_SPLIT { 35, 35 }
 | 
			
		||||
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@
 | 
			
		|||
 | 
			
		||||
#define RGB_DI_PIN B5
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
 | 
			
		||||
#define DRIVER_LED_TOTAL 44
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 44
 | 
			
		||||
#define RGB_MATRIX_SPLIT { 22, 22 }
 | 
			
		||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
 | 
			
		||||
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#pragma once
 | 
			
		||||
#define RGB_DI_PIN C6
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
 | 
			
		||||
#define DRIVER_LED_TOTAL 58
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 58
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BREATHING
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#pragma once
 | 
			
		||||
#define RGB_DI_PIN C6
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
 | 
			
		||||
#define DRIVER_LED_TOTAL 55
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 55
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BREATHING
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#pragma once
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#    define DRIVER_LED_TOTAL 24
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT 24
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
 | 
			
		||||
#    define RGB_DISABLE_WHEN_USB_SUSPENDED
 | 
			
		||||
#    define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -155,7 +155,7 @@
 | 
			
		|||
 | 
			
		||||
#define RGBLED_NUM 10
 | 
			
		||||
#define RGB_DI_PIN B5
 | 
			
		||||
#define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
 | 
			
		||||
#define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@
 | 
			
		|||
 #include "canary60rgb.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
    { 0, J_14, K_14,  L_14 },
 | 
			
		||||
    { 0, J_13, K_13,  L_13 },
 | 
			
		||||
    { 0, J_12, K_12,  L_12 },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,5 +78,5 @@
 | 
			
		|||
#    define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
 | 
			
		||||
#    define DRIVER_ADDR_1 0b1010000
 | 
			
		||||
#    define DRIVER_COUNT 1
 | 
			
		||||
#    define DRIVER_LED_TOTAL 63
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT 63
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,5 +24,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define LOCKING_RESYNC_ENABLE
 | 
			
		||||
 | 
			
		||||
/* Define RGB */
 | 
			
		||||
#define DRIVER_LED_TOTAL 87
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 87
 | 
			
		||||
#define RGBLIGHT_ANIMATIONS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,5 +25,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define LOCKING_RESYNC_ENABLE
 | 
			
		||||
 | 
			
		||||
/* Define RGB */
 | 
			
		||||
#define DRIVER_LED_TOTAL 88
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 88
 | 
			
		||||
#define RGBLIGHT_ANIMATIONS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@
 | 
			
		|||
#define RGB_DI_PIN C2 // pin the DI on the ws2812 is hooked-up to
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#define DRIVER_LED_TOTAL 51
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 51
 | 
			
		||||
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
 | 
			
		||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 125 // limits maximum brightness of LEDs to 125 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define DEBOUNCE 5
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN E6
 | 
			
		||||
#define DRIVER_LED_TOTAL 92
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 92
 | 
			
		||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
 | 
			
		||||
#define RGB_MATRIX_LED_FLUSH_LIMIT 16
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -88,7 +88,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
/* ws2812 RGB MATRIX */
 | 
			
		||||
#   define DRIVER_LED_TOTAL 116
 | 
			
		||||
#   define RGB_MATRIX_LED_COUNT 116
 | 
			
		||||
 | 
			
		||||
 // reacts to keypresses
 | 
			
		||||
#   define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,7 +42,7 @@ bool my_solid_reactive_col(effect_params_t* params) {
 | 
			
		|||
        RGB      rgb    = rgb_matrix_hsv_to_rgb(hsv);
 | 
			
		||||
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
 | 
			
		||||
    }
 | 
			
		||||
    return led_max < DRIVER_LED_TOTAL;
 | 
			
		||||
    return led_max < RGB_MATRIX_LED_COUNT;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool my_party_rocks(effect_params_t* params) {
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +51,7 @@ bool my_party_rocks(effect_params_t* params) {
 | 
			
		|||
    RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
 | 
			
		||||
    // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
 | 
			
		||||
    rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b);
 | 
			
		||||
    return led_max < DRIVER_LED_TOTAL;
 | 
			
		||||
    return led_max < RGB_MATRIX_LED_COUNT;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#    endif      // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -79,7 +79,7 @@
 | 
			
		|||
#define I2C1_SDA_PIN B9
 | 
			
		||||
 | 
			
		||||
#define LED_DRIVER_COUNT 1
 | 
			
		||||
#define DRIVER_LED_TOTAL 71
 | 
			
		||||
#define LED_MATRIX_LED_COUNT 71
 | 
			
		||||
 | 
			
		||||
// LED Matrix Animation modes. Explicitly enabled
 | 
			
		||||
// For full list of effects, see:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@
 | 
			
		|||
#include "gen1.h"
 | 
			
		||||
 | 
			
		||||
#ifdef LED_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *    driver
 | 
			
		||||
 *    |  LED address
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,7 +77,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#    define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#    define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
#    define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#    define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#    define RGB_MATRIX_LED_FLUSH_LIMIT 16                           // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150                       // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
#    define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -87,7 +87,7 @@ void rgb_matrix_indicators_user(void) {
 | 
			
		|||
        case _QWERTY:
 | 
			
		||||
            isSneaking = false;
 | 
			
		||||
            mod_state  = get_mods();
 | 
			
		||||
            for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
            for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
                if (mod_state & MOD_MASK_SHIFT) {
 | 
			
		||||
                    isBarking = true;
 | 
			
		||||
                    rgb_matrix_set_color(52, 255, 255, 255);
 | 
			
		||||
| 
						 | 
				
			
			@ -135,7 +135,7 @@ void rgb_matrix_indicators_user(void) {
 | 
			
		|||
 | 
			
		||||
        case _RAISE:
 | 
			
		||||
            isSneaking = true;
 | 
			
		||||
            for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
            for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
                switch (i) {
 | 
			
		||||
                    case 7:                                     // B key off
 | 
			
		||||
                    case 8:                                     // G key off
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +169,7 @@ void rgb_matrix_indicators_user(void) {
 | 
			
		|||
 | 
			
		||||
        case _LOWER:
 | 
			
		||||
            isSneaking = true;
 | 
			
		||||
            for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
            for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
                switch (i) {
 | 
			
		||||
                    case 7:                                     // Delete key
 | 
			
		||||
                    case 51:                                    // ESC key
 | 
			
		||||
| 
						 | 
				
			
			@ -210,7 +210,7 @@ void rgb_matrix_indicators_user(void) {
 | 
			
		|||
 | 
			
		||||
        case _NUMP:
 | 
			
		||||
            isSneaking = true;
 | 
			
		||||
            for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
            for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
                switch (i) {
 | 
			
		||||
                    case 12:                                    // RGB speed-
 | 
			
		||||
                    case 15:                                    // RGB brigthness-
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -56,7 +56,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
#   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
#   define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,7 +65,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
#   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
#   define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
    // #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#    define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended
 | 
			
		||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
    // #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
    // #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
    // #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
    #define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -73,7 +73,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
    // #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
    #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
    #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
    // #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
    // #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
    // #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
    #define RGB_MATRIX_HUE_STEP 4
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,7 +33,7 @@
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
#    define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -324,7 +324,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    RGB rgb = hsv_to_rgb(hsv);
 | 
			
		||||
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
        if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
 | 
			
		||||
            rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,7 +61,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
#   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#   define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
#   define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,7 +54,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
			
		||||
#    define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,7 +48,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
    #define RGBLED_NUM 54  // Number of LEDs
 | 
			
		||||
    #define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
    #define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,7 +44,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#    define RGBLED_NUM       54 // Number of LEDs
 | 
			
		||||
#    define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_SPLIT \
 | 
			
		||||
        { 27, 27 }
 | 
			
		||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,7 +46,7 @@ And in your `config.h` file, add the following:
 | 
			
		|||
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | 
			
		||||
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
			
		||||
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
 | 
			
		||||
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
 | 
			
		||||
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. 
 | 
			
		||||
#    define RGB_MATRIX_HUE_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,7 +32,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#    define RGBLED_NUM       54 // Number of LEDs
 | 
			
		||||
#    define DRIVER_LED_TOTAL RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#    define RGB_MATRIX_SPLIT \
 | 
			
		||||
        { 27, 27 }
 | 
			
		||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,7 +29,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#define RGB_DI_PIN A10
 | 
			
		||||
#define RGBLED_NUM 15
 | 
			
		||||
#define DRIVER_LED_TOTAL 15
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 15
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,7 +49,7 @@
 | 
			
		|||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
    /* RGB Matrix config */
 | 
			
		||||
    #define RGB_DI_PIN F6
 | 
			
		||||
    #define DRIVER_LED_TOTAL 16
 | 
			
		||||
    #define RGB_MATRIX_LED_COUNT 16
 | 
			
		||||
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
 | 
			
		||||
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
    #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_UP_DOWN
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// The pin connected to the data pin of the LEDs
 | 
			
		||||
#define RGB_DI_PIN B7
 | 
			
		||||
// The number of LEDs connected
 | 
			
		||||
#define DRIVER_LED_TOTAL 67
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 67
 | 
			
		||||
 | 
			
		||||
#define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
// RGB Matrix Animation modes. Explicitly enabled
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,7 +50,7 @@
 | 
			
		|||
#define DRIVER_COUNT 2
 | 
			
		||||
#define DRIVER_1_LED_TOTAL 36
 | 
			
		||||
#define DRIVER_2_LED_TOTAL 36
 | 
			
		||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
// RGB Matrix Animation modes. Explicitly enabled
 | 
			
		||||
// For full list of effects, see:
 | 
			
		||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@
 | 
			
		|||
#include "dp60.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *   driver
 | 
			
		||||
 *   |  R location
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#define RGB_DI_PIN D0
 | 
			
		||||
#define DRIVER_LED_TOTAL 42
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT 42
 | 
			
		||||
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
 | 
			
		||||
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
 | 
			
		||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,7 +62,7 @@
 | 
			
		|||
#define DRIVER_ADDR_2 0b1010011
 | 
			
		||||
 | 
			
		||||
#define DRIVER_COUNT 2
 | 
			
		||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
 | 
			
		||||
 | 
			
		||||
/* I2C Alternate function settings */
 | 
			
		||||
#define I2C1_SCL_PAL_MODE 1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@
 | 
			
		|||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *   driver
 | 
			
		||||
 *   |  R location
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@
 | 
			
		|||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *   driver
 | 
			
		||||
 *   |  R location
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@
 | 
			
		|||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
/* Refer to IS31 manual for these locations
 | 
			
		||||
 *   driver
 | 
			
		||||
 *   |  R location
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
#include "dz60rgb.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
    { 0, K_14, J_14, L_14 },
 | 
			
		||||
    { 0, K_13, J_13, L_13 },
 | 
			
		||||
    { 0, K_12, J_12, L_12 },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
  for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
 | 
			
		||||
        rgb_matrix_set_color( i, red, green, blue );
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
 | 
			
		||||
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
 | 
			
		||||
  for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
 | 
			
		||||
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
 | 
			
		||||
        rgb_matrix_set_color( i, red, green, blue );
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,5 +81,5 @@
 | 
			
		|||
#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
 | 
			
		||||
#    define DRIVER_ADDR_1 0b1010000
 | 
			
		||||
#    define DRIVER_COUNT 1
 | 
			
		||||
#    define DRIVER_LED_TOTAL 63
 | 
			
		||||
#    define RGB_MATRIX_LED_COUNT 63
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue