Migrate RGB Matrix config to info.json (#23000)
This commit is contained in:
		
							parent
							
								
									974e98ce59
								
							
						
					
					
						commit
						7be40fd143
					
				
					 22 changed files with 323 additions and 342 deletions
				
			
		| 
						 | 
					@ -23,5 +23,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
 | 
					#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
 | 
				
			||||||
#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ
 | 
					#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_MATRIX_LED_COUNT 62
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,10 +82,9 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
 | 
				
			||||||
    { 0, B_16,  A_16,  C_16 } //D464
 | 
					    { 0, B_16,  A_16,  C_16 } //D464
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define XXX NO_LED
 | 
				
			||||||
led_config_t g_led_config = {
 | 
					led_config_t g_led_config = {
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
    #define XXX NO_LED
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    {   0,   2,   4,   6,   8,  10,  12 },
 | 
					    {   0,   2,   4,   6,   8,  10,  12 },
 | 
				
			||||||
    {   1,   3,   5,   7,   9,  11, XXX },
 | 
					    {   1,   3,   5,   7,   9,  11, XXX },
 | 
				
			||||||
    {  14,  16,  18,  20,  22,  24,  26 },
 | 
					    {  14,  16,  18,  20,  22,  24,  26 },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,6 @@
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "pin_defs.h"
 | 
					#include "pin_defs.h"
 | 
				
			||||||
#include "config_led.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// key matrix size
 | 
					// key matrix size
 | 
				
			||||||
#define MATRIX_ROWS 5
 | 
					#define MATRIX_ROWS 5
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,116 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rgb_matrix": {
 | 
					    "rgb_matrix": {
 | 
				
			||||||
        "driver": "custom"
 | 
					        "animations":{
 | 
				
			||||||
 | 
					           "alphas_mods": true,
 | 
				
			||||||
 | 
					           "gradient_up_down": true,
 | 
				
			||||||
 | 
					           "gradient_left_right": true,
 | 
				
			||||||
 | 
					           "breathing": true,
 | 
				
			||||||
 | 
					           "band_sat": true,
 | 
				
			||||||
 | 
					           "band_val": true,
 | 
				
			||||||
 | 
					           "band_pinwheel_sat": true,
 | 
				
			||||||
 | 
					           "band_pinwheel_val": true,
 | 
				
			||||||
 | 
					           "band_spiral_sat": true,
 | 
				
			||||||
 | 
					           "band_spiral_val": true,
 | 
				
			||||||
 | 
					           "cycle_all": true,
 | 
				
			||||||
 | 
					           "cycle_left_right": true,
 | 
				
			||||||
 | 
					           "cycle_up_down": true,
 | 
				
			||||||
 | 
					           "rainbow_moving_chevron": true,
 | 
				
			||||||
 | 
					           "cycle_out_in": true,
 | 
				
			||||||
 | 
					           "cycle_out_in_dual": true,
 | 
				
			||||||
 | 
					           "cycle_pinwheel": true,
 | 
				
			||||||
 | 
					           "cycle_spiral": true,
 | 
				
			||||||
 | 
					           "dual_beacon": true,
 | 
				
			||||||
 | 
					           "rainbow_beacon": true,
 | 
				
			||||||
 | 
					           "rainbow_pinwheels": true,
 | 
				
			||||||
 | 
					           "raindrops": true,
 | 
				
			||||||
 | 
					           "jellybean_raindrops": true,
 | 
				
			||||||
 | 
					           "hue_breathing": true,
 | 
				
			||||||
 | 
					           "hue_pendulum": true,
 | 
				
			||||||
 | 
					           "hue_wave": true,
 | 
				
			||||||
 | 
					           "pixel_fractal": true,
 | 
				
			||||||
 | 
					           "pixel_flow": true,
 | 
				
			||||||
 | 
					           "pixel_rain": true,
 | 
				
			||||||
 | 
					           "typing_heatmap": true,
 | 
				
			||||||
 | 
					           "digital_rain": true,
 | 
				
			||||||
 | 
					           "solid_reactive_simple": true,
 | 
				
			||||||
 | 
					           "solid_reactive": true,
 | 
				
			||||||
 | 
					           "solid_reactive_wide": true,
 | 
				
			||||||
 | 
					           "solid_reactive_multiwide": true,
 | 
				
			||||||
 | 
					           "solid_reactive_cross": true,
 | 
				
			||||||
 | 
					           "solid_reactive_multicross": true,
 | 
				
			||||||
 | 
					           "solid_reactive_nexus": true,
 | 
				
			||||||
 | 
					           "solid_reactive_multinexus": true,
 | 
				
			||||||
 | 
					           "splash": true,
 | 
				
			||||||
 | 
					           "multisplash": true,
 | 
				
			||||||
 | 
					           "solid_splash": true,
 | 
				
			||||||
 | 
					           "solid_multisplash": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "driver": "custom",
 | 
				
			||||||
 | 
					        "layout": [
 | 
				
			||||||
 | 
					            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 5], "x": 81, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 7], "x": 113, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 8], "x": 129, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 9], "x": 145, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 10], "x": 161, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 11], "x": 178, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 12], "x": 194, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 13], "x": 218, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 3], "x": 57, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 4], "x": 73, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 5], "x": 89, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 6], "x": 105, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 7], "x": 121, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 8], "x": 137, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 10], "x": 170, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 11], "x": 186, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 12], "x": 202, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 13], "x": 222, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 3], "x": 61, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 4], "x": 77, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 6], "x": 109, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 7], "x": 125, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 8], "x": 141, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 9], "x": 157, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 10], "x": 174, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 11], "x": 190, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 12], "x": 216, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 5], "x": 85, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 6], "x": 101, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 7], "x": 117, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 8], "x": 133, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 9], "x": 149, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 10], "x": 165, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 11], "x": 182, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 12], "x": 212, "y": 48, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 2], "x": 22, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 3], "x": 42, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 6], "x": 103, "y": 64, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [4, 9], "x": 163, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 10], "x": 184, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 11], "x": 204, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 12], "x": 224, "y": 64, "flags": 1}
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "led_flush_limit": 40
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "community_layouts": ["60_ansi"]
 | 
					    "community_layouts": ["60_ansi"]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,4 +46,3 @@ SRC = \
 | 
				
			||||||
	ap2_led.c \
 | 
						ap2_led.c \
 | 
				
			||||||
	protocol.c \
 | 
						protocol.c \
 | 
				
			||||||
	rgb_driver.c \
 | 
						rgb_driver.c \
 | 
				
			||||||
	config_led.c
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,6 @@
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "pin_defs.h"
 | 
					#include "pin_defs.h"
 | 
				
			||||||
#include "config_led.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// key matrix size
 | 
					// key matrix size
 | 
				
			||||||
#define MATRIX_ROWS 5
 | 
					#define MATRIX_ROWS 5
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,116 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rgb_matrix": {
 | 
					    "rgb_matrix": {
 | 
				
			||||||
        "driver": "custom"
 | 
					        "animations":{
 | 
				
			||||||
 | 
					           "alphas_mods": true,
 | 
				
			||||||
 | 
					           "gradient_up_down": true,
 | 
				
			||||||
 | 
					           "gradient_left_right": true,
 | 
				
			||||||
 | 
					           "breathing": true,
 | 
				
			||||||
 | 
					           "band_sat": true,
 | 
				
			||||||
 | 
					           "band_val": true,
 | 
				
			||||||
 | 
					           "band_pinwheel_sat": true,
 | 
				
			||||||
 | 
					           "band_pinwheel_val": true,
 | 
				
			||||||
 | 
					           "band_spiral_sat": true,
 | 
				
			||||||
 | 
					           "band_spiral_val": true,
 | 
				
			||||||
 | 
					           "cycle_all": true,
 | 
				
			||||||
 | 
					           "cycle_left_right": true,
 | 
				
			||||||
 | 
					           "cycle_up_down": true,
 | 
				
			||||||
 | 
					           "rainbow_moving_chevron": true,
 | 
				
			||||||
 | 
					           "cycle_out_in": true,
 | 
				
			||||||
 | 
					           "cycle_out_in_dual": true,
 | 
				
			||||||
 | 
					           "cycle_pinwheel": true,
 | 
				
			||||||
 | 
					           "cycle_spiral": true,
 | 
				
			||||||
 | 
					           "dual_beacon": true,
 | 
				
			||||||
 | 
					           "rainbow_beacon": true,
 | 
				
			||||||
 | 
					           "rainbow_pinwheels": true,
 | 
				
			||||||
 | 
					           "raindrops": true,
 | 
				
			||||||
 | 
					           "jellybean_raindrops": true,
 | 
				
			||||||
 | 
					           "hue_breathing": true,
 | 
				
			||||||
 | 
					           "hue_pendulum": true,
 | 
				
			||||||
 | 
					           "hue_wave": true,
 | 
				
			||||||
 | 
					           "pixel_fractal": true,
 | 
				
			||||||
 | 
					           "pixel_flow": true,
 | 
				
			||||||
 | 
					           "pixel_rain": true,
 | 
				
			||||||
 | 
					           "typing_heatmap": true,
 | 
				
			||||||
 | 
					           "digital_rain": true,
 | 
				
			||||||
 | 
					           "solid_reactive_simple": true,
 | 
				
			||||||
 | 
					           "solid_reactive": true,
 | 
				
			||||||
 | 
					           "solid_reactive_wide": true,
 | 
				
			||||||
 | 
					           "solid_reactive_multiwide": true,
 | 
				
			||||||
 | 
					           "solid_reactive_cross": true,
 | 
				
			||||||
 | 
					           "solid_reactive_multicross": true,
 | 
				
			||||||
 | 
					           "solid_reactive_nexus": true,
 | 
				
			||||||
 | 
					           "solid_reactive_multinexus": true,
 | 
				
			||||||
 | 
					           "splash": true,
 | 
				
			||||||
 | 
					           "multisplash": true,
 | 
				
			||||||
 | 
					           "solid_splash": true,
 | 
				
			||||||
 | 
					           "solid_multisplash": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "driver": "custom",
 | 
				
			||||||
 | 
					        "layout": [
 | 
				
			||||||
 | 
					            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 5], "x": 81, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 7], "x": 113, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 8], "x": 129, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 9], "x": 145, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 10], "x": 161, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 11], "x": 178, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 12], "x": 194, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 13], "x": 218, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 3], "x": 57, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 4], "x": 73, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 5], "x": 89, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 6], "x": 105, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 7], "x": 121, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 8], "x": 137, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 10], "x": 170, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 11], "x": 186, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 12], "x": 202, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 13], "x": 222, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 3], "x": 61, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 4], "x": 77, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 6], "x": 109, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 7], "x": 125, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 8], "x": 141, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 9], "x": 157, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 10], "x": 174, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 11], "x": 190, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 12], "x": 216, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 5], "x": 85, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 6], "x": 101, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 7], "x": 117, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 8], "x": 133, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 9], "x": 149, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 10], "x": 165, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 11], "x": 182, "y": 48, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 12], "x": 212, "y": 48, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 2], "x": 22, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 3], "x": 42, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 6], "x": 103, "y": 64, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [4, 9], "x": 163, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 10], "x": 184, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 11], "x": 204, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					            {"matrix": [4, 12], "x": 224, "y": 64, "flags": 1}
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "led_flush_limit": 40
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "community_layouts": ["60_ansi", "60_iso"]
 | 
					    "community_layouts": ["60_ansi", "60_iso"]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,4 +46,3 @@ SRC = \
 | 
				
			||||||
	ap2_led.c \
 | 
						ap2_led.c \
 | 
				
			||||||
	protocol.c \
 | 
						protocol.c \
 | 
				
			||||||
	rgb_driver.c \
 | 
						rgb_driver.c \
 | 
				
			||||||
	config_led.c
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,43 +0,0 @@
 | 
				
			||||||
/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@gmail.com>
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					 | 
				
			||||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
					 | 
				
			||||||
 * (at your option) any later version.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "rgb_matrix.h"
 | 
					 | 
				
			||||||
#include "config_led.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define NA NO_LED
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
led_config_t g_led_config = { {
 | 
					 | 
				
			||||||
    { 0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13 },
 | 
					 | 
				
			||||||
    { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 },
 | 
					 | 
				
			||||||
    { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NA },
 | 
					 | 
				
			||||||
    { 41, NA, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, NA },
 | 
					 | 
				
			||||||
    { 53, NA, 54, 55, NA, NA, 56, NA, NA, 57, 58, 59, 60, NA }
 | 
					 | 
				
			||||||
}, {
 | 
					 | 
				
			||||||
    { 0 ,  0 }, { 16,  0 }, { 32,  0 }, { 48,  0 }, { 65,  0 }, { 81,  0 }, { 97 ,  0 }, { 113,  0 }, { 129,  0 }, { 145,  0 }, { 161,  0 }, { 178,  0 }, { 194,  0 }, { 218,  0 },
 | 
					 | 
				
			||||||
    { 4 , 16 }, { 24, 16 }, { 40, 16 }, { 57, 16 }, { 73, 16 }, { 89, 16 }, { 105, 16 }, { 121, 16 }, { 137, 16 }, { 153, 16 }, { 170, 16 }, { 186, 16 }, { 202, 16 }, { 222, 16 },
 | 
					 | 
				
			||||||
    { 6 , 32 }, { 28, 32 }, { 44, 32 }, { 61, 32 }, { 77, 32 }, { 93, 32 }, { 109, 32 }, { 125, 32 }, { 141, 32 }, { 157, 32 }, { 174, 32 }, { 190, 32 }, { 216, 32 },
 | 
					 | 
				
			||||||
    { 10, 48 },             { 36, 48 }, { 52, 48 }, { 69, 48 }, { 85, 48 }, { 101, 48 }, { 117, 48 }, { 133, 48 }, { 149, 48 }, { 165, 48 }, { 182, 48 }, { 212, 48 },
 | 
					 | 
				
			||||||
    { 2 , 64 }, { 22, 64 }, { 42, 64 },                                     { 103, 64 },                           { 163, 64 }, { 184, 64 }, { 204, 64 }, { 224, 64 },
 | 
					 | 
				
			||||||
}, {
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,    4,
 | 
					 | 
				
			||||||
    1,    4, 4, 4, 4, 4, 4, 4, 4, 4, 4,    1,
 | 
					 | 
				
			||||||
    1, 1, 1,          4,          1, 1, 1, 1,
 | 
					 | 
				
			||||||
} };
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,72 +0,0 @@
 | 
				
			||||||
/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@gmail.com>
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					 | 
				
			||||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
					 | 
				
			||||||
 * (at your option) any later version.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#pragma once
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_MATRIX_LED_COUNT 61
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Limit animations to 25 FPS to avoid tearing. (1/.040 = 25 FPS). */
 | 
					 | 
				
			||||||
#define RGB_MATRIX_LED_FLUSH_LIMIT 40
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
					 | 
				
			||||||
#define RGB_MATRIX_KEYPRESSES
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BREATHING
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BAND_SAT
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BAND_VAL
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_ALL
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_DUAL_BEACON
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_RAINDROPS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_HUE_BREATHING
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_HUE_WAVE
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SPLASH
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_MULTISPLASH
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
| 
						 | 
					@ -87,6 +87,4 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define RGB_MATRIX_LED_COUNT 10
 | 
					#define RGB_MATRIX_LED_COUNT 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define RGB_MATRIX_KEYPRESSES
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define SOLENOID_PIN A14
 | 
					#define SOLENOID_PIN A14
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,51 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2019 @foostan
 | 
					 | 
				
			||||||
Copyright 2020 Drashna Jaelre <@drashna>
 | 
					 | 
				
			||||||
Copyright 2021 Elliot Powell @e11i0t23
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This program is free software: you can redistribute it and/or modify
 | 
					 | 
				
			||||||
it under the terms of the GNU General Public License as published by
 | 
					 | 
				
			||||||
the Free Software Foundation, either version 2 of the License, or
 | 
					 | 
				
			||||||
(at your option) any later version.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This program is distributed in the hope that it will be useful,
 | 
					 | 
				
			||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					 | 
				
			||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					 | 
				
			||||||
GNU General Public License for more details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
You should have received a copy of the GNU General Public License
 | 
					 | 
				
			||||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#pragma once
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					 | 
				
			||||||
#    define RGB_MATRIX_LED_COUNT 54
 | 
					 | 
				
			||||||
#    define RGB_MATRIX_SPLIT \
 | 
					 | 
				
			||||||
        { 27, 27 }
 | 
					 | 
				
			||||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_ALPHAS_MODS
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_BREATHING
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_BAND_SAT
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_BAND_VAL
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_CYCLE_ALL
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_RAINDROPS
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_HUE_BREATHING
 | 
					 | 
				
			||||||
#   define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
 | 
					 | 
				
			||||||
// #   define ENABLE_RGB_MATRIX_TYPING_HEATMAP
 | 
					 | 
				
			||||||
// #   define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
 | 
					 | 
				
			||||||
// #   define ENABLE_RGB_MATRIX_SOLID_REACTIVE
 | 
					 | 
				
			||||||
// #   define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
 | 
					 | 
				
			||||||
// #   define ENABLE_RGB_MATRIX_SPLASH
 | 
					 | 
				
			||||||
// #   define ENABLE_RGB_MATRIX_SOLID_SPLASH
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define SPLIT_USB_DETECT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,15 @@
 | 
				
			||||||
        "rgb_matrix": true
 | 
					        "rgb_matrix": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "split": {
 | 
					    "split": {
 | 
				
			||||||
        "soft_serial_pin": "D2"
 | 
					        "soft_serial_pin": "D2",
 | 
				
			||||||
 | 
					        "transport": {
 | 
				
			||||||
 | 
					            "sync": {
 | 
				
			||||||
 | 
					                "matrix_state": true
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "usb_detect": {
 | 
				
			||||||
 | 
					            "enabled": true
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rgblight": {
 | 
					    "rgblight": {
 | 
				
			||||||
        "led_count": 54,
 | 
					        "led_count": 54,
 | 
				
			||||||
| 
						 | 
					@ -131,6 +139,23 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rgb_matrix": {
 | 
					    "rgb_matrix": {
 | 
				
			||||||
 | 
					        "animations": {
 | 
				
			||||||
 | 
					            "alphas_mods": true,
 | 
				
			||||||
 | 
					            "gradient_up_down": true,
 | 
				
			||||||
 | 
					            "gradient_left_right": true,
 | 
				
			||||||
 | 
					            "breathing": true,
 | 
				
			||||||
 | 
					            "band_sat": true,
 | 
				
			||||||
 | 
					            "band_val": true,
 | 
				
			||||||
 | 
					            "band_spiral_sat": true,
 | 
				
			||||||
 | 
					            "band_spiral_val": true,
 | 
				
			||||||
 | 
					            "cycle_all": true,
 | 
				
			||||||
 | 
					            "rainbow_moving_chevron": true,
 | 
				
			||||||
 | 
					            "cycle_spiral": true,
 | 
				
			||||||
 | 
					            "raindrops": true,
 | 
				
			||||||
 | 
					            "hue_breathing": true,
 | 
				
			||||||
 | 
					            "pixel_fractal": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "split_count": [27, 27],
 | 
				
			||||||
        "layout": [
 | 
					        "layout": [
 | 
				
			||||||
            {"x": 85, "y": 16, "flags": 2},
 | 
					            {"x": 85, "y": 16, "flags": 2},
 | 
				
			||||||
            {"x": 50, "y": 13, "flags": 2},
 | 
					            {"x": 50, "y": 13, "flags": 2},
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,75 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
#include "quantum.h"
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // Logical Layout
 | 
					 | 
				
			||||||
  // Columns
 | 
					 | 
				
			||||||
  // Left
 | 
					 | 
				
			||||||
  // 0  1  2  3  4  5
 | 
					 | 
				
			||||||
  //                   ROWS
 | 
					 | 
				
			||||||
  // 25 24 19 18 11 10   0
 | 
					 | 
				
			||||||
  //    03    02    01
 | 
					 | 
				
			||||||
  // 26 23 20 17 12 09   1
 | 
					 | 
				
			||||||
  //    04    05    06
 | 
					 | 
				
			||||||
  // 27 22 21 16 13 08   2
 | 
					 | 
				
			||||||
  //
 | 
					 | 
				
			||||||
  //          15 14 07   3
 | 
					 | 
				
			||||||
  //
 | 
					 | 
				
			||||||
  // Right
 | 
					 | 
				
			||||||
  // 0  1  2  3  4  5
 | 
					 | 
				
			||||||
  //                    ROWS
 | 
					 | 
				
			||||||
  // 25 24 19 18 11 10   4
 | 
					 | 
				
			||||||
  //    03    02    01
 | 
					 | 
				
			||||||
  // 26 23 20 17 12 09   5
 | 
					 | 
				
			||||||
  //    04    05    06
 | 
					 | 
				
			||||||
  // 27 22 21 16 13 08   6
 | 
					 | 
				
			||||||
  //
 | 
					 | 
				
			||||||
  //          15 14 07   7
 | 
					 | 
				
			||||||
  //
 | 
					 | 
				
			||||||
  // Physical Layout
 | 
					 | 
				
			||||||
  // Columns
 | 
					 | 
				
			||||||
  // 0  1  2  3  4  5  6  7  8  9  10 11 12 13
 | 
					 | 
				
			||||||
  //                                           ROWS
 | 
					 | 
				
			||||||
  // 25 24 19 18 11 10       10 11 18 19 24 25  0
 | 
					 | 
				
			||||||
  //    03    02    01       01    02    03
 | 
					 | 
				
			||||||
  // 26 23 20 17 12 09       09 12 17 20 23 26  1
 | 
					 | 
				
			||||||
  //    04                               04
 | 
					 | 
				
			||||||
  // 27 22 21 16 13 08       08 13 16 21 22 27  2
 | 
					 | 
				
			||||||
  //          05    06       06    05
 | 
					 | 
				
			||||||
  //           15 14 07     07 14 15              3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
led_config_t g_led_config = { {
 | 
					 | 
				
			||||||
    {  24,  23,  18,  17,  10,   9 },
 | 
					 | 
				
			||||||
    {  25,  22,  19,  16,  11,   8 },
 | 
					 | 
				
			||||||
    {  26,  21,  20,  15,  12,   7 },
 | 
					 | 
				
			||||||
    { NO_LED, NO_LED, NO_LED,  14,  13,   6 },
 | 
					 | 
				
			||||||
    {  51,  50,  45,  44,  37,  36 },
 | 
					 | 
				
			||||||
    {  52,  49,  46,  43,  38,  35 },
 | 
					 | 
				
			||||||
    {  53,  48,  47,  42,  39,  34 },
 | 
					 | 
				
			||||||
    { NO_LED, NO_LED, NO_LED,  41,  40,  33 }
 | 
					 | 
				
			||||||
}, {
 | 
					 | 
				
			||||||
    {  85,  16 }, {  50,  13 }, {  16,  20 }, {  16,  38 }, {  50,  48 }, {  85,  52 }, {  95,  63 },
 | 
					 | 
				
			||||||
    {  85,  39 }, {  85,  21 }, {  85,   4 }, {  68,   2 }, {  68,  19 }, {  68,  37 }, {  80,  58 },
 | 
					 | 
				
			||||||
    {  60,  55 }, {  50,  35 }, {  50,  13 }, {  50,   0 }, {  33,   3 }, {  33,  20 }, {  33,  37 },
 | 
					 | 
				
			||||||
    {  16,  42 }, {  16,  24 }, {  16,   7 }, {   0,   7 }, {   0,  24 }, {   0,  41 }, { 139,  16 },
 | 
					 | 
				
			||||||
    { 174,  13 }, { 208,  20 }, { 208,  38 }, { 174,  48 }, { 139,  52 }, { 129,  63 }, { 139,  39 },
 | 
					 | 
				
			||||||
    { 139,  21 }, { 139,   4 }, { 156,   2 }, { 156,  19 }, { 156,  37 }, { 144,  58 }, { 164,  55 },
 | 
					 | 
				
			||||||
    { 174,  35 }, { 174,  13 }, { 174,   0 }, { 191,   3 }, { 191,  20 }, { 191,  37 }, { 208,  42 },
 | 
					 | 
				
			||||||
    { 208,  24 }, { 208,   7 }, { 224,   7 }, { 224,  24 }, { 224,  41 }
 | 
					 | 
				
			||||||
}, {
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 2, 1,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 1,
 | 
					 | 
				
			||||||
    1, 4, 4, 4, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 1, 1, 1, 2,
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 1, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 1, 1,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 1, 1, 1
 | 
					 | 
				
			||||||
} };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef OLED_ENABLE
 | 
					#ifdef OLED_ENABLE
 | 
				
			||||||
void oled_render_logo(void) {
 | 
					void oled_render_logo(void) {
 | 
				
			||||||
    static const char PROGMEM mb_logo[] = {
 | 
					    static const char PROGMEM mb_logo[] = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,26 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2019 @foostan
 | 
					 | 
				
			||||||
Copyright 2020 Drashna Jaelre <@drashna>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This program is free software: you can redistribute it and/or modify
 | 
					 | 
				
			||||||
it under the terms of the GNU General Public License as published by
 | 
					 | 
				
			||||||
the Free Software Foundation, either version 2 of the License, or
 | 
					 | 
				
			||||||
(at your option) any later version.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This program is distributed in the hope that it will be useful,
 | 
					 | 
				
			||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					 | 
				
			||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					 | 
				
			||||||
GNU General Public License for more details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
You should have received a copy of the GNU General Public License
 | 
					 | 
				
			||||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#pragma once
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					 | 
				
			||||||
#    define RGB_MATRIX_LED_COUNT 54
 | 
					 | 
				
			||||||
#    define RGB_MATRIX_SPLIT \
 | 
					 | 
				
			||||||
        { 27, 27 }
 | 
					 | 
				
			||||||
#    define SPLIT_TRANSPORT_MIRROR
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,12 @@
 | 
				
			||||||
        "rgblight": true
 | 
					        "rgblight": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "split": {
 | 
					    "split": {
 | 
				
			||||||
        "soft_serial_pin": "D2"
 | 
					        "soft_serial_pin": "D2",
 | 
				
			||||||
 | 
					        "transport": {
 | 
				
			||||||
 | 
					            "sync": {
 | 
				
			||||||
 | 
					                "matrix_state": true
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rgblight": {
 | 
					    "rgblight": {
 | 
				
			||||||
        "led_count": 54,
 | 
					        "led_count": 54,
 | 
				
			||||||
| 
						 | 
					@ -13,6 +18,7 @@
 | 
				
			||||||
        "pin": "D3"
 | 
					        "pin": "D3"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rgb_matrix": {
 | 
					    "rgb_matrix": {
 | 
				
			||||||
 | 
					        "split_count": [27, 27],
 | 
				
			||||||
        "layout": [
 | 
					        "layout": [
 | 
				
			||||||
            {"x": 85, "y": 16, "flags": 2},
 | 
					            {"x": 85, "y": 16, "flags": 2},
 | 
				
			||||||
            {"x": 50, "y": 13, "flags": 2},
 | 
					            {"x": 50, "y": 13, "flags": 2},
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,7 +16,4 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DRIVER_1_LED_TOTAL 59
 | 
					 | 
				
			||||||
#define DRIVER_2_LED_TOTAL 10   
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define CAPS_LED 29
 | 
					#define CAPS_LED 29
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,5 +20,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
/* key matrix size; rows are doubled for split */
 | 
					/* key matrix size; rows are doubled for split */
 | 
				
			||||||
#define MATRIX_ROWS 8
 | 
					#define MATRIX_ROWS 8
 | 
				
			||||||
#define MATRIX_COLS 8
 | 
					#define MATRIX_COLS 8
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_MATRIX_LED_COUNT 64
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,7 +40,73 @@
 | 
				
			||||||
      "pixel_flow": true,
 | 
					      "pixel_flow": true,
 | 
				
			||||||
      "pixel_fractal": true
 | 
					      "pixel_fractal": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "driver": "custom"
 | 
					    "driver": "custom",
 | 
				
			||||||
 | 
					    "layout": [
 | 
				
			||||||
 | 
					        {"matrix": [3, 7], "x": 3, "y": 35, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [2, 7], "x": 0, "y": 26, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [1, 7], "x": 0, "y": 17, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [0, 7], "x": 0, "y": 6, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [0, 6], "x": 14, "y": 5, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [1, 6], "x": 15, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [2, 6], "x": 16, "y": 25, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [3, 6], "x": 17, "y": 34, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [3, 5], "x": 31, "y": 29, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [2, 5], "x": 31, "y": 19, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [1, 5], "x": 30, "y": 11, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [0, 5], "x": 30, "y": 1, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [0, 4], "x": 45, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [1, 4], "x": 45, "y": 8, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [2, 4], "x": 46, "y": 17, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [3, 4], "x": 46, "y": 27, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [3, 3], "x": 60, "y": 27, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [2, 3], "x": 60, "y": 18, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [1, 3], "x": 60, "y": 9, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [0, 3], "x": 60, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [0, 2], "x": 74, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [1, 2], "x": 74, "y": 11, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [2, 2], "x": 75, "y": 20, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [3, 2], "x": 74, "y": 28, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [2, 1], "x": 89, "y": 30, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [1, 1], "x": 89, "y": 19, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [0, 1], "x": 89, "y": 7, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [0, 0], "x": 70, "y": 38, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [1, 0], "x": 82, "y": 41, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [2, 0], "x": 93, "y": 45, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [3, 0], "x": 104, "y": 50, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [3, 1], "x": 74, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [7, 6], "x": 149, "y": 64, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [7, 7], "x": 119, "y": 50, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [6, 7], "x": 130, "y": 45, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [5, 7], "x": 141, "y": 41, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [4, 7], "x": 153, "y": 38, "flags": 1},
 | 
				
			||||||
 | 
					        {"matrix": [4, 6], "x": 134, "y": 7, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [5, 6], "x": 134, "y": 19, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [6, 6], "x": 134, "y": 30, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [7, 5], "x": 149, "y": 28, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [6, 5], "x": 148, "y": 20, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [5, 5], "x": 149, "y": 11, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [4, 5], "x": 149, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [4, 4], "x": 163, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [5, 4], "x": 163, "y": 9, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [6, 4], "x": 163, "y": 18, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [7, 4], "x": 163, "y": 27, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [7, 3], "x": 177, "y": 27, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [6, 3], "x": 177, "y": 17, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [5, 3], "x": 178, "y": 8, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [4, 3], "x": 178, "y": 0, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [4, 2], "x": 193, "y": 1, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [5, 2], "x": 193, "y": 11, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [6, 2], "x": 192, "y": 19, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [7, 2], "x": 192, "y": 29, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [7, 1], "x": 206, "y": 34, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [6, 1], "x": 207, "y": 25, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [5, 1], "x": 208, "y": 16, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [4, 1], "x": 209, "y": 5, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [4, 0], "x": 224, "y": 6, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [5, 0], "x": 223, "y": 17, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [6, 0], "x": 223, "y": 26, "flags": 4},
 | 
				
			||||||
 | 
					        {"matrix": [7, 0], "x": 220, "y": 35, "flags": 4}
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "processor": "atmega32u4",
 | 
					  "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "caterina",
 | 
					    "bootloader": "caterina",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,37 +45,6 @@ void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					#ifdef RGB_MATRIX_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__attribute__ ((weak))
 | 
					 | 
				
			||||||
led_config_t g_led_config = { {
 | 
					 | 
				
			||||||
    {  27,  26,  20,  19,  12,  11,   4,   3 },
 | 
					 | 
				
			||||||
    {  28,  25,  21,  18,  13,  10,   5,   2 },
 | 
					 | 
				
			||||||
    {  29,  24,  22,  17,  14,   9,   6,   1 },
 | 
					 | 
				
			||||||
    {  30,  31,  23,  16,  15,   8,   7,   0 },
 | 
					 | 
				
			||||||
    {  60,  59,  52,  51,  44,  43,  37,  36 },
 | 
					 | 
				
			||||||
    {  61,  58,  53,  50,  45,  42,  38,  35 },
 | 
					 | 
				
			||||||
    {  62,  57,  54,  49,  46,  41,  39,  34 },
 | 
					 | 
				
			||||||
    {  63,  56,  55,  48,  47,  40,  32,  33 }
 | 
					 | 
				
			||||||
}, {
 | 
					 | 
				
			||||||
    {   3,  35 }, {   0,  26 }, {   0,  17 }, {   0,   6 }, {  14,   5 }, {  15,  16 }, {  16,  25 }, {  17,  34 },
 | 
					 | 
				
			||||||
    {  31,  29 }, {  31,  19 }, {  30,  11 }, {  30,   1 }, {  45,   0 }, {  45,   8 }, {  46,  17 }, {  46,  27 },
 | 
					 | 
				
			||||||
    {  60,  27 }, {  60,  18 }, {  60,   9 }, {  60,   0 }, {  74,   2 }, {  74,  11 }, {  75,  20 }, {  74,  28 },
 | 
					 | 
				
			||||||
    {  89,  30 }, {  89,  19 }, {  89,   7 }, {  70,  38 }, {  82,  41 }, {  93,  45 }, { 104,  50 }, {  74,  64 },
 | 
					 | 
				
			||||||
    { 149,  64 }, { 119,  50 }, { 130,  45 }, { 141,  41 }, { 153,  38 }, { 134,   7 }, { 134,  19 }, { 134,  30 },
 | 
					 | 
				
			||||||
    { 149,  28 }, { 148,  20 }, { 149,  11 }, { 149,   2 }, { 163,   0 }, { 163,   9 }, { 163,  18 }, { 163,  27 },
 | 
					 | 
				
			||||||
    { 177,  27 }, { 177,  17 }, { 178,   8 }, { 178,   0 }, { 193,   1 }, { 193,  11 }, { 192,  19 }, { 192,  29 },
 | 
					 | 
				
			||||||
    { 206,  34 }, { 207,  25 }, { 208,  16 }, { 209,   5 }, { 224,   6 }, { 223,  17 }, { 223,  26 }, { 220,  35 }
 | 
					 | 
				
			||||||
}, {
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 1, 1, 1, 1, 1,
 | 
					 | 
				
			||||||
    1, 1, 1, 1, 1, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4, 4,
 | 
					 | 
				
			||||||
    4, 4, 4, 4, 4, 4, 4, 4
 | 
					 | 
				
			||||||
} };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static struct {
 | 
					static struct {
 | 
				
			||||||
  uint8_t b;
 | 
					  uint8_t b;
 | 
				
			||||||
  uint8_t g;
 | 
					  uint8_t g;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,22 +18,8 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * Feature disable options
 | 
					 | 
				
			||||||
 *  These options are also useful to firmware size reduction.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* disable debug print */
 | 
					 | 
				
			||||||
//#define NO_DEBUG
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* disable print */
 | 
					 | 
				
			||||||
//#define NO_PRINT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define DRIVER_1_LED_TOTAL 32
 | 
					 | 
				
			||||||
#define DRIVER_2_LED_TOTAL 32
 | 
					 | 
				
			||||||
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
 | 
					#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
 | 
				
			||||||
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
 | 
					#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
 | 
				
			||||||
#define IS31FL3731_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
 | 
					#define IS31FL3731_LED_COUNT 64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define USB_SUSPEND_WAKEUP_DELAY 1000
 | 
					#define USB_SUSPEND_WAKEUP_DELAY 1000
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,20 +18,6 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * Feature disable options
 | 
					 | 
				
			||||||
 *  These options are also useful to firmware size reduction.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* disable debug print */
 | 
					 | 
				
			||||||
//#define NO_DEBUG
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* disable print */
 | 
					 | 
				
			||||||
//#define NO_PRINT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define DRIVER_1_LED_TOTAL 32
 | 
					 | 
				
			||||||
#define DRIVER_2_LED_TOTAL 32
 | 
					 | 
				
			||||||
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
 | 
					#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
 | 
				
			||||||
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
 | 
					#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
 | 
				
			||||||
#define IS31FL3731_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
 | 
					#define IS31FL3731_LED_COUNT 64
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue